我必须在浏览器中加载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>
答案 0 :(得分:0)
KMLLayer在Google服务器端生成地图图块。因此,多个KMLLayer(以及融合表层)有时无法正常工作。 这在官方文件中没有描述,但这来自我的经验。
我建议您将GeoJSON与DataLayer一起使用。 DataLayer在客户端生成叠加(标记,折线等)。 您可以轻松修改生成的叠加层。 看看吧。
https://developers.google.com/maps/documentation/javascript/datalayer#overview