2

我目前正在我们的开发服务器上通过 V3 API 测试谷歌地图,而我正在尝试做的是从 maps.google.com 的常用“我的地图”之一导入 KML 图层。重点是我想要 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;

谢谢你。

4

1 回答 1

0

在它自己的页面中对我来说很好。我怀疑您的 css 中有某些东西(可能是您的 CMS 弄乱了地图代码),怀疑它与您在问题上放置的任何标签有关。

于 2012-10-18T20:41:08.310 回答