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

时间:2016-03-06 11:13:57

标签: javascript google-maps kml

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

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

有什么想法吗?

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

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

1 个答案:

答案 0 :(得分:0)

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