我一直在Google中搜索今天的大部分內容,試圖弄清楚這一點 - 我的JavaScript技巧是非常基本的,所以很抱歉,如果這可以輕鬆排序。我正在使用Google Maps API v3使用超鏈接控制Google地圖縮放級別
我想要做的是用超鏈接控制Google Map的縮放級別。例如,我想要三個定義的等級(在英國,歐洲的英國,世界的歐洲)。點擊這些鏈接將顯示具有不同縮放級別的地圖。
這可以輕鬆實現嗎?
感謝 達倫
我一直在Google中搜索今天的大部分內容,試圖弄清楚這一點 - 我的JavaScript技巧是非常基本的,所以很抱歉,如果這可以輕鬆排序。我正在使用Google Maps API v3使用超鏈接控制Google地圖縮放級別
我想要做的是用超鏈接控制Google Map的縮放級別。例如,我想要三個定義的等級(在英國,歐洲的英國,世界的歐洲)。點擊這些鏈接將顯示具有不同縮放級別的地圖。
這可以輕鬆實現嗎?
感謝 達倫
這不應該是太困難的事。
當您創建地圖時,您將獲得對地圖對象的引用,例如,
var mapOptions = {mapTypeId: google.maps.MapTypeId.TERRAIN};
var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
一旦有了對象,你可以放大到一個特定的水平是這樣的:
function zoomToLevel() {
map.setZoom(8);
}
所以你只需要設置超鏈接來運行JavaScript函數的單擊事件:
<a href="#" onclick="zoomToLevel(); return false;">Zoom to level 8</a>
對於你正在做的事情來說,最好是讓地圖根據區域選擇它自己的縮放級別。這個功能實際上是放大顯示比利牛斯山脈,但是這個想法可以用於任何地區,只要你的點位於對角線上:
function zoomPyrenees() {
var startPoint;
var endPoint;
var boundsPyrenees;
startPoint = new google.maps.LatLng(43.373403, -1.774107);
endPoint = new google.maps.LatLng(42.482463, 3.129875);
boundsPyrenees = new google.maps.LatLngBounds();
boundsPyrenees.extend(startPoint);
boundsPyrenees.extend(endPoint);
map.fitBounds(boundsPyrenees);
}
太好了,謝謝你。我想通了,但忘了發佈我的解決方案 - 非常類似於這個!再次感謝! – 2012-05-16 23:41:16
你也想改變地圖的中心點嗎?同一時間?看起來你可能想要集中在英國的第一個縮放級別的位置,以整個英國爲中心的第二個縮放級別,以歐洲爲中心的第三個縮放級別。 – 2012-04-28 16:07:34