我试图确保我的地图中心点位于kml图层的边界内,我无法找到很多有关此信息,但我修改了here中的某些代码,看来它可以工作,但是当然不是。

从Google Maps API中,我无法确定.contains()是否适用于kml图层,或者是否存在类似的方法。有任何想法吗?

// bounds of the desired area
var kmlLayer = new google.maps.KmlLayer(kmlLayerURL, {map:map, suppressInfoWindows: true, preserveViewport:true});

google.maps.event.addListener(map, 'center_changed', function() {
    if (kmlLayer.contains(map.getCenter())) {
        alert("withnin kml layer bounds");
    }
});

最佳答案

KmlLayer有一个getDefaultViewport方法,该方法将为您提供覆盖图的默认视口(地图的边界将居中显示所有内容。


  getDefaultViewport()LatLngBounds获取所显示图层的默认视口。


返回的LatLngBounds具有contains方法。

您无法访问KmlLayer的任何内部内容。

07-28 11:30