我在谷歌地图v3上设置了一个mousedown监听器来绘制折线。
map.setOptions({
draggable: false,
zoomControl: false,
scrollwheel: false,
disableDoubleClickZoom: true,
disableDefaultUI: true
});
google.maps.event.addDomListener(map.getDiv(),'mousedown',function(e){
drawPolyline()
});
如果绘图在Google的POI上完成,那么说明气泡就会打开并杀死我的功能行为。
如果我使用其中一个内置工具(绘制多边形),则会禁用所有POI侦听器。
我可以这样做吗?
答案 0 :(得分:4)
不知道这是否仍然相关,但是当你想要禁用clicks时,你现在可以简单地在地图对象上调用setClickableIcons(false)方法。如果你想重新打开它们,只需给方法一个真实的相反的论点。
看看我准备的这个演示: http://jsbin.com/liyamecoqa/edit?html,output
答案 1 :(得分:1)
您可以通过这种方式停用POI
var mlwStyles =[
{
featureType: "poi",
elementType: "labels",
stylers: [
{ visibility: "off" }
]
}
];
var mapOptions = {
center: new google.maps.LatLng(initLat, initLng),
zoom: initZoom,
mapTypeId: google.maps.MapTypeId.SATELLITE,
mapTypeControl:false,
scaleControl: true,
tilt: 0,
styles: mlwStyles
};
最终,您可以在绘制多边形时使用setOptions禁用和/或重新启用
答案 2 :(得分:0)
暂时在地图上放置一个透明div以捕获点击/鼠标事件,在该折线完成后,使用该div上的鼠标事件绘制折线,将其移除(或将其取出)。