禁用Google Maps嵌入式地图中的控件

10

通过在Google Maps嵌入代码中添加一些变量,可以禁用地图控件吗?


它在最新版本的文档中 https://developers.google.com/maps/documentation/javascript/controls#DisablingDefaults 对我来说,第一个答案在这个版本中不起作用。 - user1641128
5个回答

13

不可以,但是如果你使用JavaScript API,你可以这样做:

 map = new google.maps.Map(document.getElementById("map_canvas"), {
      panControl: false,
      zoomControl: false,
      scaleControl: false,
 });

7
这并没有回答问题。虽然对这个问题的简单回答基本上是“不行”。如果这个答案稍微改一下,变成“不行,但是如果你使用JavaScript API,你可以做到这一点”,那么这个答案就可以接受了。 - Sam Murray-Sutton
1
这个答案已经不再相关了。由于谷歌实施了新的定价模式,嵌入式和动态地图更多地成为商业模式的选择,因为嵌入式地图具有无限的使用次数,而动态地图则没有。 - Roberto Maldonado

9
在V3中,这可以一步完成: 将以下内容添加到您的mapOptions中:
disableDefaultUI: true

4
这是创建静态地图的8个步骤,就像这张柏林地图没有控制按钮一样: http://maps.googleapis.com/maps/api/staticmap?center=52.569916,13.408571&zoom=8&format=png&sensor=false&size=300x200&maptype=roadmap 以下是8个步骤:
  1. 前往http://gmaps-samples-v3.googlecode.com/svn-history/r328/trunk/styledmaps/wizard/index.html
  2. 在右上角输入你的地址
  3. 现在你可以自定义样式和缩放比例
  4. 点击“Static Map”
  5. 复制链接
  6. 粘贴到地址栏中
  7. 调整参数(例如大小)
  8. 将准备好的图片插入你的页面中

2
似乎谷歌已经为使用 API 的地图实施了分层定价模型,嵌入式地图具有无限使用次数,而动态地图则没有。虽然所选的接受答案仍然准确,但只有在您愿意设置付费帐户的情况下才有效。对于更具控制性且不会花费太多(甚至不花费)的地图实现,我建议使用 Mapbox。

https://www.mapbox.com/pricing/


-2

我认为你不能以一种清晰的方式使用嵌入式代码禁用地图控件。
如果能找到控件的类或ID,您可以通过CSS使它们消失。
但这不是一个好的解决方案,因为在未来,代码可能会出现错误。

最好的解决方案是使用javascript api v3创建自定义地图。


1
在iframe中无法应用CSS到DOM元素。 - Tosh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接