Dónal
Dónal

Reputation: 187399

Google Maps zoom control is messed up

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.

Upvotes: 172

Views: 29898

Answers (9)

Glyn
Glyn

Reputation: 1

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 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/

Upvotes: 0

poostchi
poostchi

Reputation: 422

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

Upvotes: 16

Konrad Dzwinel
Konrad Dzwinel

Reputation: 37923

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.

Upvotes: 109

Fernando Prieto
Fernando Prieto

Reputation: 520

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

.gmnoprint img { max-width: none; } 

Upvotes: 5

Dylan Becks
Dylan Becks

Reputation: 49

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.

Upvotes: 4

dmzza
dmzza

Reputation: 2318

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.

Upvotes: 2

woens
woens

Reputation: 1078

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;
}

Upvotes: 21

AlignedDev
AlignedDev

Reputation: 8233

#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>

Upvotes: 80

Impiriumjbb
Impiriumjbb

Reputation: 1

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!

Upvotes: 0

Related Questions