Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 谷歌地图KML图层是否包含地图中心点_Javascript_Google Maps_Google Maps Api 3_Kml - Fatal编程技术网

Javascript 谷歌地图KML图层是否包含地图中心点

Javascript 谷歌地图KML图层是否包含地图中心点,javascript,google-maps,google-maps-api-3,kml,Javascript,Google Maps,Google Maps Api 3,Kml,我试图确保我的地图中心点在kml层的边界内,我没有找到太多关于这一点的信息,但我修改了一些代码,看起来它可以工作,但当然不行 从GoogleMapsAPI中,我无法判断.contains()是否用于kml层,或者是否有类似的方法。有什么想法吗 // bounds of the desired area var kmlLayer = new google.maps.KmlLayer(kmlLayerURL, {map:map, suppressInfoWindows: true, preserve

我试图确保我的地图中心点在kml层的边界内,我没有找到太多关于这一点的信息,但我修改了一些代码,看起来它可以工作,但当然不行

从GoogleMapsAPI中,我无法判断.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");
    }    
});
具有方法getDefaultViewport,该方法将为覆盖提供默认视口(地图将居中显示所有内容的边界)

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

返回的LatLngBounds具有contains方法


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

因此,如果我理解文档,我将使用getDefaultViewport()要获取Kmlayer的LatLngBounds,然后使用contains?这是我试图用我的答案说的,是的。边界将是矩形的,但除非您使用第三方解析器(如或)解析KML,你不能做太多其他的事情。谢谢,这就是我想要的。一个关于如何做的想法。文献没有说,我也找不到任何地方有人做过这件事,但是如果我以编程方式在某个位置触发一个点击事件,Kmlayer点击事件是被绕过了还是可能触发了?你必须提供所有的参数对于click事件,至少我上次检查过,包括Kmlayer在单击时提供的属性,有点违背了目的。可能是一个很好的功能请求。。。