谷歌地图API(多个地图在一个页面上使用不同的kml文件)-第二个地图不加载

Google Map API (multiple maps on one page using different kml files) - Second map not loading

本文关键字:地图 kml 加载 第二个 文件 API 一个 谷歌地图      更新时间:2023-09-26

我在一个网站的一个页面上放了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(…)对于您的第二个地图也是如此。