在setZoom之后检测可见的Google地图标记
我使用谷歌地图fitBounds,然后我使用map.setZoom放大一个级别(在谷歌找到最适合我的标记的缩放级别后),然后我想检查天气我的标记在视口中是否可见,如何我可以这样做吗? 看起来map.getBounds()。包含不起作用,请看看这个小提琴:小提琴
我想检查我的标记是否可见:
google.maps.event.addListenerOnce(map, "zoom_changed", function() {
map.setZoom(map.getZoom()+2);
if( map.getBounds().contains("35.700592","51.394773"))
alert('ok');
but there seems to be an error
//alert("the zoom level is now "+map.getZoom());
});
你为什么认为"35.700592","51.394773"
是google.maps.LatLng? 它是由逗号分开的两个字符串。
这不会起作用:
google.maps.event.addListenerOnce(map, "zoom_changed", function() {
map.setZoom(map.getZoom()+2);
if( map.getBounds().contains("35.700592","51.394773"))
alert('ok');
});
这是使用“contains”(使用LatLng对象)的正确方法:
google.maps.event.addListenerOnce(map, "zoom_changed", function() {
map.setZoom(map.getZoom()+2);
if( map.getBounds().contains(new google.maps.LatLng(35.700592,51.394773)))
alert('ok');
});
你可能想创建一个包含标记的数组,并在标记上使用.getPosition()
http://jsfiddle.net/Npu36/10/embedded/result/
链接地址: http://www.djcxy.com/p/81571.html