我在頁面上有兩張地圖,一張是世界地圖,另一張是他們在世界地圖上挑選的當前地點的特寫。我想爲每個地圖設置不同的縮放最小/最大級別,但是:谷歌地圖:爲兩張不同的地圖設置不同的縮放級別
G_NORMAL_MAP.getMinimumResolution = function(){return 11};
似乎爲這兩個地圖設置了相同的最小/最大值,我無法將它們設置爲不同的等級。
我在頁面上有兩張地圖,一張是世界地圖,另一張是他們在世界地圖上挑選的當前地點的特寫。我想爲每個地圖設置不同的縮放最小/最大級別,但是:谷歌地圖:爲兩張不同的地圖設置不同的縮放級別
G_NORMAL_MAP.getMinimumResolution = function(){return 11};
似乎爲這兩個地圖設置了相同的最小/最大值,我無法將它們設置爲不同的等級。
我認爲這個問題可能是在其他地方在你的代碼 - 我不確定你是如何使用該功能的。
這是一種可行的方法。您可以重新編寫它以減少重複。
map1 = new GMap2(document.getElementById("map1"));
map1.addControl(new GLargeMapControl3D());
map1.addControl(new GMenuMapTypeControl());
var mt = map1.getMapTypes();
// Overwrite the getMinimumResolution() and getMaximumResolution() methods
for (var i=0; i<mt.length; i++) {
mt[i].getMinimumResolution = function() {return 7;}
mt[i].getMaximumResolution = function() {return 11;}
}
map1.setCenter(new GLatLng(40,-100), 8);
map2 = new GMap2(document.getElementById("map2"));
map2.addControl(new GLargeMapControl3D());
map2.addControl(new GMenuMapTypeControl());
var mt = map2.getMapTypes();
// Overwrite the getMinimumResolution() and getMaximumResolution() methods
for (var i=0; i<mt.length; i++) {
mt[i].getMinimumResolution = function() {return 2;}
mt[i].getMaximumResolution = function() {return 6;}
}
map2.setCenter(new GLatLng(40,-100), 4);
你需要2個不同的地圖嗎?您可以使用Map2.showMapBlowup()函數來顯示將在當前地圖上放大的分區。
對不起,我不知道你是否可以用兩張不同的地圖做到這一點。
http://code.google.com/apis/maps/documentation/reference.html#GMap2.showMapBlowup
您可以使用自定義地圖類型和複製使用像原型庫的G_NORMAL_MAP成員。
var G_MY_MAP = Class.create(G_NORMAL_MAP, {
getMinimumResolution: function()
{
return 11;
}
});
然後在你的第二個地圖:
secondMap.addMapType(G_MY_MAP);
secondMap.setMapType(G_MY_MAP);
不知道這是否會工作,只是一個頭腦風暴.....
是的,我們需要映射。基本上我們有一個網格,我們繪製一些覆蓋,如果你縮小太多,覆蓋太多。所以我們製作了一個沒有覆蓋的小世界地圖,這樣您就可以快速導航到另一個地點,「細節」地圖會通過覆蓋圖向您顯示該地區。 – Codezy 2009-08-07 03:56:32