Google Maps zoom control is messed up

JavascriptCssGoogle Maps

Javascript Problem Overview


I use the Google Maps API (v.3) to show a map with a couple of markers. I recently noticed that the control used to zoom the map is messed up (it wasn't always like this). I have no idea what the cause is.

enter image description here

Update

This post originally had a link to a page where you could view the issue, but the link is broken now, so I've removed it.

Javascript Solutions


Solution 1 - Javascript

Your CSS messed it up. Remove max-width: 100%; in line 814 and zoom controls will look fine again. To avoid such bugs use more specific selectors in your CSS.

Solution 2 - Javascript

#myMap_canvas img {
    max-width: none;
}

fixed it for me, but I also wanted to point out the comment on the question by @Ben, "This issue doesn't happen with Bootstrap if you use the is map_canvas as the map div id". He's right. I'm not using Bootstrap, but the problem started happening after I changed the div id.

Setting it back to map_canvas fixed it without the max-width change.

<div id="map_canvas"></div>

Solution 3 - Javascript

If you're using Bootstrap, just give it "google-maps" class. This worked for me.

As an alternative you might reset everything for the google map div as a kind of last-resort solution:

HTML:

<div class="mappins-map"><div> 

CSS:

.mappins-map img { 
	max-width: none !important; 
	height: auto !important; 
	background: none !important;
	border: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

Solution 4 - Javascript

Just share @Max-Favilli answer:

With latest version of google maps api you need this:

<style>
.gm-style img { max-width: none; }
.gm-style label { width: auto; display: inline; }
</style>

Thanks to @Max-Favilli

https://stackoverflow.com/a/19339767/3070027

Solution 5 - Javascript

If you're a Twitter Bootstrap user you should add this line to your CSS:

.gmnoprint img { max-width: none; } 

Solution 6 - Javascript

I had this problem as well and using

.google-maps img {
    max-width: none;
}

didn't work. I eventually used

.google-maps img {
    max-width: none !important;
}

and it worked like a charm.

Solution 7 - Javascript

If you're using Yahoo's Pure CSS, give your div the "google-maps" class like Bootstrap, and put this rule in your CSS:

.google-maps img {
    max-width: none;
    max-height: none;
}

As far as I can tell, Pure CSS has no way of fixing this issue on its own.

Solution 8 - Javascript

Those options you guys told me didn´t work for my website.

I use Bootstrap V3 and focussed on the functionality. The main reason was that i had given my map a different ID then the CSS file used to display the zoom bar with the yellow streetvieuw guy

I renamed map_canvas to mapholder and then it worked for me! Thanks anyways for the hints that i should look into the CSS files!

Solution 9 - Javascript

I tried all the above solutions, and others from other forums to no avail. it was really annoying because I have another non-Wordpress site where the code worked perfectly. (I was trying to display a Google map in a Wordpress page, but the zoom and Streetview controls were distorted).

The solution I did was to create a new html file (copy paste all the code into Notepad and name it xyz.html, save as type "all files"). Then upload/ftp it up to website, and setup a new Wordpress page and use an embed function. When editing the page go to the text editor (not the visual editor) and copy/type:

http://page URL">http://page URL width="900" height="950">

If you change the dimensions, remember to change it in both arguments above, or you get weird results.

There we go - might not be as clever as some other answers, but it worked for me! Evidence here: <http://a-bc.co.uk/latitude-longitude-finder/>

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionD&#243;nalView Question on Stackoverflow
Solution 1 - JavascriptKonrad DzwinelView Answer on Stackoverflow
Solution 2 - JavascriptAlignedDevView Answer on Stackoverflow
Solution 3 - JavascriptwoensView Answer on Stackoverflow
Solution 4 - JavascriptpoostchiView Answer on Stackoverflow
Solution 5 - JavascriptFernando PrietoView Answer on Stackoverflow
Solution 6 - JavascriptDylan BecksView Answer on Stackoverflow
Solution 7 - JavascriptdmzzaView Answer on Stackoverflow
Solution 8 - JavascriptImpiriumjbbView Answer on Stackoverflow
Solution 9 - JavascriptGlynView Answer on Stackoverflow