我正在尝试使用Google Maps API 3阅读简单的KML,我在Google Maps Editor中创建了KML文件,代码是google示例,我找不到问题所在。
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 13,
center: {lat: 40.40926, lng: 49.86709}
});
var ctaLayer = new google.maps.KmlLayer({
url: 'itdc.byethost7.com/BTM.kml',
map: map
});
}
答案 0 :(得分:1)
在github.com上为KML提供的链接提供的MIME类型为" text / plain",它应为"application/vnd.google-earth.kml+xml"
3种KML MIME类型
在回复来自Google地球(或任何地球浏览器)的请求时,KML服务器必须遵循一组规则,以便Google地球能够正确解释其响应。成功后,服务器必须返回HTTP 200的响应代码,并将响应的内容类型设置为合适的MIME类型,如此处所述。
Google地球会读取KML和KMZ文件。 KML文件的MIME类型是 应用/ vnd.google-earth.kml + xml的
KMZ文件的MIME类型为
应用/ vnd.google-earth.kmz
<强>推荐强>
此Feed有效,但可以通过实施以下建议来改进与最广泛的Feed阅读器的互操作性。
不应该使用&#34; text / plain&#34;媒体类型
如果我将KML复制到我的服务器(使用正确的MIME类型提供KML),it works
BTW - If I point the validator to the link in the code in your question, it doesn't work at all, it isn't a KML file,但如果我将KmlLayer网址指向该网址,it also works