Javascript - 确定用户当前位置是否在 google 地图的 KML 层内

Javascript - Determine if user current location within KML layer of google maps

我正在尝试检查用户位置/Google 标记是否在 KML 层内。

是否有任何KML事件可以确定这一点? 或者我可以在 google 地图上放置标记后检查?

有什么想法吗?

我的示例代码在这里。 有什么建议或示例代码吗? 等待您的友好回应。 提前致谢。

    var map;
    function initialize() {
        var chicago = new google.maps.LatLng(49.051078, -122.314221);
        var mapOptions = {
            zoom: 11,
            center: chicago
        }

        map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
        var ctaLayer = new google.maps.KmlLayer({
            url: 'http://aeronnovation.ae/NoFlyZoneFile/doc.kml',
            preserveViewport: true


        });
        ctaLayer.setMap(map);

        if (navigator.geolocation) {
            navigator.geolocation.getCurrentPosition(function (position) {
                var pos = new google.maps.LatLng(position.coords.latitude,
                                                 position.coords.longitude);

                var infowindow = new google.maps.InfoWindow({
                    map: map,
                    position: pos,
                    content: 'You are here'
                });

                map.setCenter(pos);
            }, function () {
                handleNoGeolocation(true);
            });
        } else {
            // Browser doesn't support Geolocation
            handleNoGeolocation(false);
        }
    }

    function handleNoGeolocation(errorFlag) {
        if (errorFlag) {
            var content = 'Error: The Geolocation service failed.';
        } else {
            var content = 'Error: Your browser doesn\'t support geolocation.';
        }

        var options = {
            map: map,
            position: new google.maps.LatLng(60, 105),
            content: content
        };

        var infowindow = new google.maps.InfoWindow(options);
        map.setCenter(options.position);
    }
    google.maps.event.addDomListener(window, 'load', initialize);

KmlLayer 不允许访问基础多边形数据。您可以使用 FusionTables(如果您导入 KML 数据)或第三方 KML 解析器(如 geoxml3 or geoxml-v3