1
我有這段代碼在這裏:爲什麼Google Maps在被要求時不會變焦?
function ShowSelection(addr){
var latLngBounds;
geocoder.geocode({ "address": addr }, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (selectionArea === undefined || selectionArea === null) {
selectionArea = new google.maps.Rectangle({
map: map
});
}
latLngBounds = results[0].geometry.bounds;
selectionArea.setBounds(latLngBounds);
map.panTo(latLngBounds.getCenter());
map.setZoom(12);
}
else {
alert("Geocode was not successful for the following reason: " + status);
}
});
}
我的問題是,當我打電話map.setZoom(12)地圖只是停留在相同的縮放級別已經是在。
我想一個更好的解決方案是將其設置爲顯示地圖窗口中完整selectionArea的縮放級別。
所以我想這是一個排序雙待的:
- 我如何獲得縮放級別調用setZoom改變時()?
- 我將如何設置縮放級別,以便在地圖上繪製的矩形完全適合地圖div的邊界? (我期待的效果是讓地圖平移到selectionArea的中心點,並使地圖的邊界大於選擇區域的邊界,即整個selectionArea在地圖上可見w/o滾動。
是的界限,我已經證實了我縮小放大4當我點擊觸發該事件在我的代碼片段的按鈕。那個map.setZoom()調用並不是在做一件我可以告訴的事情。 – Ryan 2011-03-08 19:55:43
@Ryan我已經在jsfiddle上測試過'setZoom()'它可以很好地調用它。你是否設定了限制或其他? – kjy112 2011-03-08 20:00:43
這裏是一個鏈接到我的代碼工作js小提琴,以獲得不希望的效果(不縮放),你鍵入一個郵政編碼或城市/國家組合到左上角的搜索框,然後單擊按鈕,說「中央」。您會看到平移發生,但縮放不會。 http://jsfiddle.net/pbwfL/1/ – Ryan 2011-03-08 20:19:10