我在页面上有两张地图,一张是世界地图,另一张是他们在世界地图上挑选的当前地点的特写。我想为每个地图设置不同的缩放最小/最大级别,但是:谷歌地图:为两张不同的地图设置不同的缩放级别
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