2

我遇到了谷歌地图 v3 的奇怪情况。当用户点击谷歌地图时,我们会将我们的注册div信息放在地图上并捕获用户详细信息。但问题是当用户放大他们达到以下情况时

在此处输入图像描述

现在假设如果用户点击医院、学校、学院等地方的小图标(不知道在 gmap 方面对这些图标的确切说法),它会忽略写入的 Click 事件,并且谷歌会在屏幕上抛出 infoWindow。

如何禁用此默认行为?如何将我的事件与此绑定?因此,当用户单击这些图标时(不知道在 gmap 方面对这些图标究竟该说些什么),他们会在 gmap 上注册我的 div。

4

2 回答 2

1

当你写“不知道用 gmap 来描述这些图标到底该怎么说”时,我想:你为什么不把它们去掉?如果我对您的理解正确,您只是对默认的“兴趣点”图标等感到恼火,它们会“窃取”您的点击次数吗?

您可以使用样式从谷歌地图 v3中删除任何内容(是的,所以它只是一个灰色背景)。只需创建一个-array 并将其分配给您的:stylesoptions

var styles = [
   {
    elementType: "all",
    featureType: "poi",
    stylers: [{ visibility: "off" }]
   },
   {   
    elementType : "all",
    featureType: "administrative",
    stylers: [{ visibility: "off" }]
   }
];

这里visibility对于所有管理图标(包括子类别)和所有 poi,“兴趣点”(包括子类别)设置为关闭。所有 featureTypes 的文档。您可以非常详细地说明要在地图上显示的内容,以及要如何显示剩余内容。

在常规选项中使用样式作为参数值,例如

var options = {
  center: mapCenter,
  zoom: 10,
  mapTypeId: google.maps.MapTypeId.ROADMAP,
  zoomControl: true,
  streetViewControl: false,
  styles : styles
}

map = new google.maps.Map(document.getElementById("map"), options);

现在,您的地图已针对医院、学校等进行了清理。

于 2013-09-20T19:07:18.537 回答
0

函数初始化映射(){

var map = new google.maps.Map(document.getElementById('map'), {

缩放:4,

中心:{lat:41.3103509,lng:69.2732513} //乌兹别克斯坦。});

于 2015-09-04T11:53:06.247 回答