52

When using google maps api to display something google has started adding local restaurants/hotels into the map. How can I hide them from appearing. I checked the same locations on sites that use maps (like yelp) and they successfully hide the local hotels/restaurants. I've been looking for layers/overlays but can't figure out how I remove this default behavior.

example These things These things are appearing on my maps. is it possible to hide these bubbles and names?

edit https://developers.google.com/maps/documentation/javascript/releases#36 says that 3.6 introduces business icons on by default. So setting v=3.5 as a parameter will hide the "Business icons".

bounty Is there a way of hiding the business messages without sticking with an older version of the api?

Moak
  • 12,596
  • 27
  • 111
  • 166

1 Answers1

128

you can set them invisible by setting the map style properly. See

http://code.google.com/apis/maps/documentation/javascript/styling.html

and

http://code.google.com/intl/pl/apis/maps/documentation/javascript/reference.html#MapTypeStyleFeatureType

sth like that should do the trick (though not tested):

var noPoi = [
{
    featureType: "poi",
    stylers: [
      { visibility: "off" }
    ]   
  }
];

map.setOptions({styles: noPoi});
slawekwin
  • 6,270
  • 1
  • 44
  • 57
  • 2
    Second link doesn't work, I can't get your code or the code at that link to work with the Google Maps Embed API 3, with iframe – Brent Apr 16 '14 at 18:13
  • 4
    This code only works when drawing the map from JS ex: https://developers.google.com/maps/documentation/javascript/examples/map-simple, not when using iframes – Brent Apr 16 '14 at 18:27
  • 3
    You can use this wizard to generate the styles JSON you require: https://mapstyle.withgoogle.com/ – rooby Jun 16 '17 at 01:17