0

ページの読み込み時にバックエンドによって動的に配置された独自のカスタム マップとマーカーを使用して、Google マップの統合をセットアップしました。

問題は、私のコードがマップをマーカーの中央に配置し、マップをどこにでもパンしようとすると、マップを中央のマーカーに繰り返し再配置することです (ズームイン/ズームアウトはできますが、パンはできません)。

マップのセンタリングは次のように処理されます。

google.maps.event.addListener(map,'idle',function (map) {
    var coords = genCoords(map,"40.014","80.52");

    clueLocation = new google.maps.Marker({
        map:map,
        position: new google.maps.LatLng(coords.lat(),coords.lng()),
        center: new google.maps.LatLng(coords.lat(),coords.lng()),
        title: 'Ramara du Croissant'
    });
    map.setCenter( new google.maps.LatLng(coords.lat(),coords.lng()) );
}.bind(null,map));

また、動作を体験できるライブバージョンも用意しました

それが違いを生む場合、問題のコードは常に単一のマーカーのみを表示します。これまでに発見したのは、マーカーのセット配列内でマップを中央に配置する必要がある場合の境界ソリューションです。ここに行きます。

4

2 に答える 2

1

地図をマーカーの中心に 1 回だけ配置する場合は、google.maps.event.addListenerではなくgoogle.maps.event.addListenerOnce を使用します。

この目的のためにアイドル イベントを使用して再評価することもできますが、単一のマーカーのみを表示する場合は機能するはずです。

于 2012-11-11T15:28:16.687 に答える
0

問題は、私のコードがマップをマーカーの中央に配置することです。マップをどこにでもパンしようとすると、マップが中央のマーカーに繰り返し再配置されます (ズームイン/ズームアウトはできますが、パンはできません)。

もちろんです。イベントを聞いていidleます。これは、マップをパンした後に発生します。

アイドル

このidleイベントは、スクロールまたはズームの変更後にマップの再描画が終了するたびにトリガーされます。

于 2012-11-11T20:08:22.553 に答える