如何在kml文件中为google地图指定缩放级别,或者为什么在加载此文件时我的缩放级别会被覆盖。我的问题是,我如何控制以下链接的地图缩放:
http://code.google.com/apis/maps/documentation/javascript/examples/layer-kml-features.html
发布于 2011-11-19 05:12:45
默认情况下,地图居中并缩放到kml图层内容的边界框。
您可以使用google.maps.KmlLayerOptions对象的preserveViewport属性更改默认行为。如果将其设置为true,则地图不会居中和缩放。
在该示例中,使用:
var nyLayer = new google.maps.KmlLayer(
'http://www.searcharoo.net/SearchKml/newyork.kml',
{
suppressInfoWindows: true,
map: map,
preserveViewport: true
});如果要稍后居中并缩放到kml层的内容,请使用:
var bounds = nyLayer.getDefaultViewport();
map.fitBounds(bounds);编辑:
如果希望在加载kml图层时地图始终居中(但不缩放),请利用google.maps.KmlLayer对象的defaultviewport_changed事件。您必须将地图中心设置为kml图层默认视口的中心。当加载kml层的内容并计算其默认视口时,将触发该事件。
google.maps.event.addListener(nyLayer, 'defaultviewport_changed', function() {
var bounds = nyLayer.getDefaultViewport();
map.setCenter(bounds.getCenter());
});https://stackoverflow.com/questions/8187837
复制相似问题