【问题标题】:Why google map with kml always zoom to the max level?为什么使用 kml 的谷歌地图总是缩放到最大级别?
【发布时间】:2012-08-11 09:18:43
【问题描述】:

我使用 google map api v3 和 kml 文件制作了一个 google map 应用程序。但是,有时它会起作用,有时它总是缩放到最大级别,并且中心不是我的 options.center(非洲附近)。

为什么会这样?

我的 kml 文件已上传到我的 Google 地图帐户。

function initialize1() {
var myLatlng = new google.maps.LatLng(30.566991,114.315491);
var myOptions = {
zoom: 10,
center: myLatlng,
overviewMapControl:true,
overviewMapControlOptions: {
 opened:true  
},
scaleControl:true,
mapTypeId: google.maps.MapTypeId.ROADMAP
}

map1= new google.maps.Map(document.getElementById("map_canvas1"), myOptions);


var nyLayer = new google.maps.KmlLayer('https://maps.google.com/maps/ms? **************',
{suppressInfoWindows: true});
nyLayer.setMap(map1);
google.maps.event.addListener(nyLayer, 'click', function(kmlEvent) {
var text = kmlEvent.featureData.description;
showInDiv(text);
});
}

非常感谢,

【问题讨论】:

    标签: google-maps-api-3 kml


    【解决方案1】:

    当 kml 文件不存在/找不到时,就会出现这种情况。您尚未提供文件的 URL 以允许对其进行测试。

    要检查的另一件事是文件的有效性: http://www.feedvalidator.org/

    您还可以查看 API 提供的 KmlLayerStatus 以查看它报告的内容。

    【讨论】:

    • 我在feedvalidator.org 中测试了这个kml 文件,发现只是kml 的命名空间没有被验证。它建议使用earth.google.com/kml/2.2,但我使用了opengis.net/kml/2.2。但是,如何解释它有时会显示得很好。只是我再次打开我的网页,它的工作...... >.
    • 我猜你需要在加载失败时捕获“KmlStatus”。
    猜你喜欢
    • 2015-06-09
    • 2010-11-10
    • 1970-01-01
    • 2012-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多