Google map v3 - 如何将事件与Gmap服务绑定

时间:2013-09-20 16:47:10

标签: javascript jquery google-maps dictionary google-maps-api-3

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

enter image description here

现在假设用户点击了医院,学校,大学等地方的小图标(不知道在gmap方面对这些图标有什么说法),它会忽略所写的Click事件&谷歌在屏幕上抛出了infoWindow。

如何禁用此默认行为?我怎么能用这个绑定我的活动?因此,当用户点击这些图标时(不知道gmap中这些图标的具体内容),我们将在gmap上注册div。

2 个答案:

答案 0 :(得分:1)

当你写“不确切地知道在gmap 中对这些图标说些什么”时,我想:你为什么不摆脱它们?如果我理解正确的话,你只是对默认的“兴趣点”-icons等烦恼,这会“窃取”你的点击?

您可以使用styles从Google地图v3中删除任何(是的,因此它只是灰色背景)。只需创建一个styles - 数组并将其分配给您的options

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

此处visibility对于所有管理图标(包括子类别)和所有poi,“兴趣点”(包括子类别)设置为关闭。 Documentation for all 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);

现在您的地图已经为医院,学校等进行了清理。

答案 1 :(得分:0)

function initMap(){  

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

    zoom:4,    

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