我需要使用复选框构建一个简单的地图。每个复选框都必须显示不同的KML图层。我不知道如何建立这个,但在Google Code上的示例中我找到了以下代码。
但是当我测试localhost(WAMP)上的所有文件时,当我单击一个复选框时,KML图层没有显示。 JavaScript中的其他标记显示正常,只有KML不显示。
显示KML图层的代码如下。请告诉我如何更改代码以从特定URL而不是文件夹中获取markers.kml。我需要从其他网站/服务器获取KML。
/**
* Toggles KML layer visibility.
*/
function toggleKmlLayer() {
if (!kmlLayer) {
var kmlUrl = window.location.href.substring(
0, 1 + window.location.href.lastIndexOf('/')) + 'markers.kml';
kmlLayer = new google.maps.KmlLayer(kmlUrl, {
preserveViewport: false,
suppressInfoWindows: false
});
}
showKmlLayer = !showKmlLayer;
if (showKmlLayer) {
kmlLayer.setMap(map);
} else {
kmlLayer.setMap(null);
}
}
答案 0 :(得分:1)
您的KML需要位于公开网址。 localhost不公开(Google的服务器无法访问KML)。
KML和GeoRSS图层
Google Maps API支持用于显示地理位置的KML和GeoRSS数据格式 信息。这些数据格式使用KmlLayer对象显示在地图上 构造函数采用可公开访问的 KML或GeoRSS文件的URL。