我目前正在我们的开发服务器上通过 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;
谢谢你。