13
如何在kml文件中指定谷歌地圖的縮放級別,或者爲什麼當我加載此文件時,縮放級別變得過度。我的問題其實是如何控制地圖以下鏈接變焦:使用kml文件時,Google地圖縮放將被覆蓋
http://code.google.com/apis/maps/documentation/javascript/examples/layer-kml-features.html
如何在kml文件中指定谷歌地圖的縮放級別,或者爲什麼當我加載此文件時,縮放級別變得過度。我的問題其實是如何控制地圖以下鏈接變焦:使用kml文件時,Google地圖縮放將被覆蓋
http://code.google.com/apis/maps/documentation/javascript/examples/layer-kml-features.html
默認情況下,地圖會居中並縮放到的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
o bject。您必須將地圖中心設置爲kml圖層默認視口的中心。該事件在加載kml圖層的內容並計算其默認視口時觸發。
google.maps.event.addListener(nyLayer, 'defaultviewport_changed', function() {
var bounds = nyLayer.getDefaultViewport();
map.setCenter(bounds.getCenter());
});
謝謝,但是當我提出了更高的縮放級別說18,標記不變得可見,無論他們是不是在所有出現或者我需要到中心他們,使他們看到,我怎麼總是確保標記出現在中心附近的地圖上 – Mike
我更新了答案。現在,您可以將地圖立即集中到kml圖層中標記的位置。 – Tomik
其實我在地圖上有一些標記,取決於位置,在頁面加載時,我應該能夠看到所有的標記,如果我點擊某個特定市場附近的某個地方,我希望它可以縮放。此外,我更新了代碼,但它看起來像是採取了錯誤的js文件: http://jsfiddle.net/WPXWX/1/ – Mike