2011-09-22 32 views
1

v3 APIの地図にマーカーのコレクションを追加しています。すべてうまくいきますが、地図をドラッグして(マーカーが画面外にあるほど)ドラッグしてズームインし、マップを元の中心にドラッグすると、マーカー画像はマップをドラッグした距離とほぼ相殺されます。彼らはまだ正しい形に整えられていて、動かされただけです。GoogleマップV3:地図のドラッグ地図のドラッグ&ズーム後に不正な位置に画像が表示される

他のいくつかの注意事項:私はドラッグと、ズームイン、または私はドラッグするとズームアウトしていない場合

  • マーカー画像は移動しません。
  • マーカーが画面から外れているまで、私はちょうどマップにズームインした場合、同じことが
  • ポリラインは、Firefox、マーカー画像で
  • (つまり、彼らはどんな彼らの正しい位置を保持しない)移動しないが起こります地図中心以外の点をズームするたびに移動する(または、同じピクセル位置にとどまり、地図上の座標点で移動しない)

ここではaddマーカー:

var bounds = new google.maps.LatLngBounds; 

for (i=0, len=points.length; i<len; i++) { 

    var myPoint = points[i]; 
    var myLatLng = new google.maps.LatLng(myPoint.lat, myPoint.lng); 

    var markerImage = new google.maps.MarkerImage(
     'http://www.mysite.com/images/marker.png', 
     new google.maps.Size(21,21), // size 
     new google.maps.Point(0,0),  // origin 
     new google.maps.Point(10,10), // anchor 
     new google.maps.Size(21,21)  // scale 
    ); 

    var markerOptions = {}; 
    markerOptions.map = this.map; 
    markerOptions.position = myLatLng; 
    markerOptions.icon = markerImage;    
    markerOptions.draggable = true; 

    this.markers[i] = new google.maps.Marker(markerOptions); 

    bounds.extend(myLatLng); 

} 

マーカのペインが、マップとポリラインのペインから切り離されているようです。イメージが正しい表示位置を保持するように、マーカを追加するときに私が別にできることはありますか?これはV2では問題ではありませんでした。

+0

を固定しました場所? – duncan

+0

各マーカーには、3つのリスナーがあります::マーカードラッグ - ポリラインの再描画マーカーのマウスオーバーマーカーの表示マーカーのクリックマーカーのズームと拡大地図自体の上には、 - 開いているinfoboxをすべて閉じる – byron

答えて

0

私は解雇されました。

は一例では、コードのブロックの後、私は両方の論理パスに

this.map.fitBounds(bounds); 

を追加し、そう

if (init) { 
    //a bunch of stuff, PLUS 
    this.map.fitBounds(bounds); 

} else { 
    //a bunch of other stuff, BUT NO fitBounds 

} 

を持っていたリスナーはあなたが持っているどのようなイベントに問題

関連する問題