我在页面上有两张地图,一张是世界地图,另一张是他们在世界地图上选择的当前地点的特写。我想为每张地图设置不同的缩放最小/最大级别,但是:
G_NORMAL_MAP.getMinimumResolution = function(){return 11};
似乎为两个地图设置相同的最小/最大值,我无法将它们设置为不同的等级。
答案 0 :(得分:2)
我认为问题可能在您的代码中的其他地方 - 我不确定您是如何使用该功能的。
这是一种可行的方法。您可以重新编写它以减少重复。
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);
答案 1 :(得分:0)
您需要2张不同的地图吗?您可以使用Map2.showMapBlowup()函数显示一个子区域,该子区域将是当前地图上的放大部分。
对不起,我不知道你是否真的可以用2张不同的地图来做。
http://code.google.com/apis/maps/documentation/reference.html#GMap2.showMapBlowup
答案 2 :(得分:0)
您可以使用自定义地图类型并使用Prototype等库复制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);
不知道这是否有效,只是脑风暴......