Google maps setZoom后检测可见的google地图标记

Google maps setZoom后检测可见的google地图标记,google-maps,Google Maps,我使用google map fitBounds,然后使用map.setZoom放大一个级别(在google找到适合我的标记的最佳缩放级别后),然后我想检查我的标记在视口中是否可见,我如何才能做到这一点?似乎map.getBounds().contains不起作用,请看一下这把小提琴: 我想检查我的标记是否可见: google.maps.event.addListenerOnce(map, "zoom_changed", function() { map.setZoom(map.g

我使用google map fitBounds,然后使用map.setZoom放大一个级别(在google找到适合我的标记的最佳缩放级别后),然后我想检查我的标记在视口中是否可见,我如何才能做到这一点?似乎map.getBounds().contains不起作用,请看一下这把小提琴:

我想检查我的标记是否可见:

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');   
});
这是使用“包含”(与LatLng对象一起)的正确方法:

您可能希望创建一个包含标记的数组,并在标记上使用.getPosition()

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');                
});