5

Google マップ APIv2 を使用しています。私の Web ページには、次のような onclick イベントを実行する showDetails メソッドを含むマーカーのリストを含むサイドバーがあります。

GMarker.prototype.showDetails=function() { map.panTo(this.getLatLng()); this.openInfoWindowHtml(this.details); };

問題は、1 つのメソッドで panTo と openInfoWindowHtml の両方を使用できないことです。パンしますが、ツールチップは開きません。メソッドを次のように変更すると、次のようになります。

GMarker.prototype.showDetails=function() { this.openInfoWindowHtml(this.details); map.panTo(this.getLatLng()); }; ツールチップを開きますが、マップをマーカーのアンカー座標に中央揃えしません。待機機能を使用しても問題は解決しません。私は何を間違っていますか?

4

2 に答える 2

1

最初にaddListenerを実行して、マップが「moveend」イベントで移動を完了するまで待機する必要があります。次に、イベントハンドラーで、作成したリスナーでremoveListenerを呼び出して、イベントハンドラーが1回だけ実行されるようにします。その後、イベントハンドラーで情報ウィンドウを開きます。

于 2010-04-19T23:40:38.833 に答える
0

openInfoWindowHtmlメソッドは、パントをトリガーして情報ウィンドウをビューポートに配置する必要があります

すなわち

マーカーがビューポートの外側にあり、そのマーカーで情報ウィンドウをトリガーします-情報ウィンドウがビューポートの中央に配置されるように、マップはその場所+/-にパンする必要があります

于 2010-05-14T19:15:02.153 に答える