我在一个网站的一个页面上放了2+地图。每个map加载一个不同的kml文件。第一个映射加载正确的kml文件。但是,第二个脚本不从第二个kml文件加载数据。只是一张空白地图。下面是我的代码。任何帮助都将非常感激。
这是我的html…
<div id="map_canvas"></div>
<div id="map_canvas_2" ></div>
这是我的Javascript…
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&key=<MY API KEY>"> </script>
<script>
var map, map2;
var mylocation = {
'latitude': 47.7706093,
'longitude': -122.1514458
};
// This needs to be the Full URL - not a relative URL
var kmlPath = "<PATH TO FIRST KML FILE>";
var kmlPath2 = "<PATH TO SECOND KML FILE>";
function initialize() {
var myLatlng = new google.maps.LatLng( mylocation.latitude, mylocation.longitude );
var mapOptions = {
zoom: 3,
center: myLatlng,
scrollwheel: false,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions, kmlPath);
map2 = new google.maps.Map(document.getElementById('map_canvas_2'), mapOptions, kmlPath2);
// Add unique number to this url - as with images - to avoid caching issues during development
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>
似乎,您正在使用layer.setMap(..)仅用于地图对象(您的第一个地图)。你必须再添加一个layer.setMap(…)对于您的第二个地图也是如此。