2009-08-07 17 views
0

私は1つのページに2つの地図を持ち、1つは世界の地図で、もう1つは世界の地図上で選んだ現在の場所の写真です。各マップで異なるズーム最小/最大レベルを設定したいと思いますが、Googleマップ:2つの異なる地図に異なるズームレベルを設定する

G_NORMAL_MAP.getMinimumResolution = function(){return 11};

両方のマップで同じmin/maxを設定しているようですが、異なるレベルに設定することはできません。

答えて

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);  
0

2つの異なるマップが必要ですか? Map2.showMapBlowup()関数を使用すると、現在のマップ上でズームインされたセクションになるサブエリアを表示できます。

私はあなたが実際に2つの異なるマップでそれを行うことができますか分かりません。あなたがカスタムマップタイプを使用して、プロトタイプのようなライブラリを使用してのG_NORMAL_MAPメンバーをコピーすることができ

http://code.google.com/apis/maps/documentation/reference.html#GMap2.showMapBlowup

+0

うん、マップする必要があります。本質的には、いくつかのオーバーレイを描画するグリッドが1つあります。ズームアウトしすぎると、あまりにも多くのオーバーレイがあります。だから私たちはオーバーレイを持たない小さな世界地図を作ったので、すぐに別のポイントに移動することができました。そして、「詳細」地図はそのエリアをオーバーレイと共に表示します。 – Codezy

0

あなたの第2のマップ上のその後
var G_MY_MAP = Class.create(G_NORMAL_MAP, { 
    getMinimumResolution: function() 
    { 
     return 11; 
    } 
}); 

secondMap.addMapType(G_MY_MAP); 
secondMap.setMapType(G_MY_MAP); 

これが機能するかどうか全く分からない、ちょうど脳の嵐.....

関連する問題