如何在浏览器中加载KML文件

时间:2016-03-09 06:32:40

标签: google-maps dictionary kml

我必须在浏览器中加载KML文件。我加载了简单的KML文件,它完美地工作但是当我上传带有多个图像文件夹的KML文件时,它没有正确加载。 使用的代码: -

               <div id="map_canvas"></div>
                <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false>"></script>
                <script>
                    var mylocation = {
                        'latitude':  -45.2427303,
                        'longitude': 115.0639984
                    };
                    var map;
                    function initialize() 
                    {
                        var myLatlng = new google.maps.LatLng( mylocation.latitude, mylocation.longitude );
                        var mapOptions = {
                            zoom: 5,
                            center: myLatlng,
                            mapTypeId: google.maps.MapTypeId.ROADMAP
                        }
                        var map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);

                        var kmlPath = '<?php echo urldecode($file_name)?>';

                        var urlSuffix = (new Date).getTime().toString();
                        var layer = new google.maps.KmlLayer(kmlPath + '?' + urlSuffix );
                        layer.setMap(map);
                    }
                    google.maps.event.addDomListener(window, 'load', initialize);
                </script>

1 个答案:

答案 0 :(得分:0)

KMLLayer在Google服务器端生成地图图块。因此,多个KMLLayer(以及融合表层)有时无法正常工作。 这在官方文件中没有描述,但这来自我的经验。

我建议您将GeoJSON与DataLayer一起使用。 DataLayer在客户端生成叠加(标记,折线等)。 您可以轻松修改生成的叠加层。 看看吧。

https://developers.google.com/maps/documentation/javascript/datalayer#overview