Javascript Google Maps API检查标记是否存在于多个边界中

Javascript Google Maps API检查标记是否存在于多个边界中,javascript,api,google-maps,google-maps-api-3,geolocation,Javascript,Api,Google Maps,Google Maps Api 3,Geolocation,在将标记添加到地图之前,我尝试检查标记是否已经存在于我的边界中。我发现最好的方法是使用 map.getBounds().contains(marker.getPosition())如果映射上存在标记,则返回true;如果映射上不存在标记,则返回false。如果选择false,我将标记添加到地图中 这很好,但是我有多个边界,map.getBounds()似乎有一个边界 下面的代码在循环中的每个边界中设置标记,但检查标记是否仅存在于一个边界中。如何检查所有边界中是否存在标记 我正在检查最后一个函数中

在将标记添加到地图之前,我尝试检查标记是否已经存在于我的边界中。我发现最好的方法是使用

map.getBounds().contains(marker.getPosition())
如果映射上存在标记,则返回true;如果映射上不存在标记,则返回false。如果选择false,我将标记添加到地图中

这很好,但是我有多个边界,
map.getBounds()
似乎有一个边界

下面的代码在循环中的每个边界中设置标记,但检查标记是否仅存在于一个边界中。如何检查所有边界中是否存在标记

我正在检查最后一个函数中的标记

function findPlaces() {      

    var boundsArray = new Array(); //my array of multiple boundaries  

    for (var i = 0; i < boundsArray.length; i++) {
      var boundary = boundsArray[i];                  

      // Perform search over this boundary
      var request = {
        bounds: boundary,
        keyword: document.getElementById("keyword").value
      };

      service.nearbySearch(request, callback); 
    }
  });
}


//Returns places and create markers
function callback(results, status) { 
    if (status == google.maps.places.PlacesServiceStatus.OK) {
       for (var i = 0; i < results.length; i++) {
       createMarker(results[i]);    
    }     
}   

//create markers
function createMarker(place) {                          
    var marker = new google.maps.Marker({
       position: place.geometry.location
    });

    var onMap = map.getBounds().contains(marker.getPosition());

    //if marker is not on the map, add it               
    if (onMap === false) {          
        marker.setMap(map);
    }
}
函数findPlaces(){
var boundsArray=new Array();//我的多个边界数组
对于(var i=0;i
您可以创建所有这些LatLngBounds的1个多边形

多边形支持多条路径,因此您只需创建一个数组,该数组包含每个LatLngBounds的一个数组,其中LatLngs由LatLngBounds的4个顶点定义,并将此数组应用于多边形的“路径”属性

该多边形现在可用于确定某个位置是否位于任何LatLngBounds内