如何在Google地图中加载KML,而无需更改地图中心

时间:2012-07-14 20:07:48

标签: javascript html google-maps

如何在不更改地图范围/缩放的情况下将KML添加为Google地图(javascript v3)中的图层?

我正在添加一个KML,它在全世界都有几个事件,因为这个谷歌地图javascript v3将地图范围更改为一个非常大的缩小视图。

以下是一些示例代码:

function loadOverlay(inc) 
{
    var overlay = new google.maps.KmlLayer(inc);
    overlay.setMap(map);
    overlayArray.push(overlay);
}

function initialize_gmap()
{
    var Rochester = new google.maps.LatLng(43.1561, -77.607); 
    var myOptions = {
    zoom: 11,
    center: Rochester,
    mapTypeId: google.maps.MapTypeId.TERRAIN
    }

    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}

//Then i initialize the map here, and load the kml
initialize_gmap();
loadOverlay("linktokml.kml");

加载kml后,它会进行非常大的缩放以显示kml中的所有位置。 我怎么能阻止这种情况,或者回到我的初始范围/缩放?

提前致谢。

1 个答案:

答案 0 :(得分:10)

只需将google.maps.KmlLayerOptionspreserveViewport选项设置为true

var overlay = new google.maps.KmlLayer(inc,{preserveViewport:true});