我对Google Maps v3感到奇怪。当用户点击Google地图时,我们会将注册div
放在地图顶部并捕获用户详细信息。但是问题是当用户放大到以下情况时
现在假设用户单击医院,学校,大学等地方的小图标(用gmap确切地不知道要说这些图标是什么),它将忽略编写的Click事件,而google将infoWindow显示在屏幕上。
如何禁用此默认行为?我该如何绑定我的活动?因此,当用户单击这些图标时(就gmap而言,确切不知道该说些什么),他们将在gmap上注册div。
最佳答案
当您编写“不知道确切用gmap表示这些图标要说些什么”时,我想:您为什么不摆脱它们呢?如果我对您的理解正确,那么您会被默认的“兴趣点”图标等烦恼,这些“隐瞒”了您的点击?
您可以使用styles从google地图v3中删除所有内容(是的,因此只是灰色背景)。只需创建一个styles
数组并将其分配给您的options
:
var styles = [
{
elementType: "all",
featureType: "poi",
stylers: [{ visibility: "off" }]
},
{
elementType : "all",
featureType: "administrative",
stylers: [{ visibility: "off" }]
}
];
对于所有管理图标(包括子类别)和所有poi,
visibility
都将“兴趣点”(包括子类别)设置为关闭。 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);
现在,您的地图已为医院,学校等清洁。
关于javascript - Google Map v3-如何将事件与Gmap服务绑定(bind),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18921866/