通常我不会发布求助信息,但我真的不知所措。。。我有一个KML层,我想加载到嵌入式谷歌地图上。它在几个月内运行良好,但大约三周前,KML的数据消失了。在验证我的KML文件时,我发现了两个微不足道的错误:
line 6, column 9: Invalid value for scale: .5 [help]
<scale>.5</scale>
^
line 774, column 26: XML parsing error: <unknown>:774:26: undefined entity [help]
<name>Brabant Bar and Café</name>
- 我一直在寻找JavaScript错误,但没有发现(Chrome的控制台似乎同意我的观点)
- 我已经在V3 API中寻找变化,但没有发现
- 我已经验证了我的API密钥
- 我已经验证其他KML文件是否有效
非常感谢您的帮助。我有一个代码笔演示,它有一个链接到KML文件,一个使用V3neneneba API的工作嵌入式谷歌地图,以及一个已知的来自谷歌的工作KML文件。以下是我用来控制地图和KML覆盖的JavaScript:
var map;
var src = "http://kingsofthecraft.com/sandiego.kml"; // does not work
// var src ="http://gmaps-samples.googlecode.com/svn/trunk/ggeoxml/cta.kml"; // known to work
function init() {
map = new google.maps.Map(document.getElementById("map"), {
center: new google.maps.LatLng(32.945048, -117.243135),
zoom: 9,
mapTypeId: google.maps.Map.ROADMAP
});
loadKmlLayer();
}
function loadKmlLayer() {
var kmlLayer = new google.maps.KmlLayer(src, {
suppressInfoWindows: false,
preserveViewport: false,
map: map
});
}
google.maps.event.addDomListener(window, 'load', init);
您写道:
我发现了两个微不足道的错误:
第774行,第26列:XML解析错误::774:26:未定义的实体[help]
<name>Brabant Bar and Café</name>
XML解析错误是主要的XML问题。XML解析器在它们上失败。如果您对实体进行了正确的编码,它就会起作用。
<Placemark id="placemark19147">
<name>Brabant Bar and Caf&Atilde;&copy;</name>
<styleUrl>#Beer Bar</styleUrl>
<description><![CDATA[
<a href="http://beermapping.com/maps/reviews/reviews.php?locid=19147">Brabant Bar and Caf&Atilde;&copy;</a><br />
Beer Bar<br />
San Diego, CA 92104<br />
United States<br />
]]></description>