2012-03-23 9 views
2

基本的に、誰かがマーカーをドラッグしているときに地図が自動的にパンするようなことはしません。今日では、地図の端近くにマーカーをドラッグするたびに地図がパンニングを開始し、パンキャンニングが地図キャンバスの境界線から外れてもパンが続きます。Googleマップの端の近くでマーカーをドラッグするときに「自動パンニング」を無効にするにはどうすればよいですか?

はかなり確信して、この「自動」パンは、ドラッグ可能なマーカーと「通常の」パン機能を持つ任意のマップ(GoogleのjavascriptのマップのAPI 3.xの)のデフォルトです。

私はマウスを使ってマップをパンする能力を維持したいが、私は誰かがマップの端の近くにマーカーをドラッグしているときに発生する「オート」パンを無効にする必要があります。 (また、ドラッグ可能なマーカーを保持する必要があります)。

ありがとうございます。

答えて

2

マーカーのイベントを使用して、マップのドラッグ可能なプロパティをオンまたはオフに切り替えます。マップオブジェクトにsetDraggableメソッドがないため、setメソッドを使用する必要があります。

google.maps.event.addListener(marker, 'dragstart', function(){ 
    map.set('draggable', false); 
}); 
google.maps.event.addListener(marker, 'dragend', function(){ 
    map.set('draggable', true); 
}); 
+0

甘いです。ありがとう。イベントリスナーをたくさん持っているとパフォーマンスの問題がないことを願っています。私の地図には一般に約60-120のマーカーがあります。 – Fraggle

+0

60-120マーカーでは、パフォーマンス上の問題は発生しません。パフォーマンスベンチマークは1000以上のマーカーから始まります。 – Lashae

関連する問題