谷歌地图API V3 - 当我添加KML图层时,映射“白色”

时间:2012-10-18 19:32:06

标签: javascript google-maps google-maps-api-3 kml

我目前正在我们的开发服务器上通过V3 API测试谷歌地图,而我正在尝试的是导入一个来自maps.google的常用“我的地图”之一的KML图层。 COM。关键是我想要一些API中的功能,但希望人们能够在需要时轻松地从地图中添加或删除点。

无论如何,只需通过API显示地图就可以了。获得KML很好 - 我看不出它有什么问题。但是,当我在API中将KML添加到地图时,KML中的点会显示,但整个地图会变为白色,因此显示的唯一内容就是标记。

我尝试更改地图类型(例如路线图与地形)无济于事。再一次,我看不出KML有什么问题,我已经证实它似乎在其他地方有效。这种情况在我尝试的每个浏览器中都会发生,这表明我在编码中搞砸了一些东西,但我无法弄清楚是什么。

由于我们的CMS弄乱了地图代码,我只是将其作为外部.js文件导入。这就是它的样子:

function initialize() {
  var mapOptions = {
    zoom: 7,
    center: new google.maps.LatLng(37.668046, -79.749756),
    mapTypeId: google.maps.MapTypeId.TERRAIN
  }
  var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);

  var participantsLayer = new google.maps.KmlLayer('https://maps.google.com/maps/ms?msa=0&msid=204048902337864904598.0004cc332e8034251c1db&ie=UTF8&ll=37.668046,-80.289717&spn=1.959603,5.642338&output=kml');

  participantsLayer.setMap(map);
}

function loadScript() {
  var script = document.createElement("script");
  script.type = "text/javascript";
  script.src = "https://maps.googleapis.com/maps/api/js?key=abc.def&sensor=false&callback=initialize";
  document.body.appendChild(script);
}

window.onload = loadScript;

谢谢。

1 个答案:

答案 0 :(得分:0)

own page对我来说很好。我怀疑你的css中有些东西(可能是你的CMS正在破坏地图代码),怀疑它与你提出的任何标签有什么关系。

相关问题