Google マップ API を使用して自分のページでこの問題に激怒しています。マーカー (アイコン付きの白) をクリックすると、情報ウィンドウが適切に表示されます。ただし、青いクラスターをクリックすると、情報ウィンドウが表示されますが、マップの位置がアフリカ近くの海に移動します。次のサイトをご覧ください: http://pec.solarismedia.net/map.html
なぜそれが起こるのか、それを回避する方法を私に説明できる人はいますか?
前もって感謝します
Google マップ API を使用して自分のページでこの問題に激怒しています。マーカー (アイコン付きの白) をクリックすると、情報ウィンドウが適切に表示されます。ただし、青いクラスターをクリックすると、情報ウィンドウが表示されますが、マップの位置がアフリカ近くの海に移動します。次のサイトをご覧ください: http://pec.solarismedia.net/map.html
なぜそれが起こるのか、それを回避する方法を私に説明できる人はいますか?
前もって感謝します
を作成するとき、を含むべきプロパティをInfoBox
与えていません。に渡すオブジェクトを設定するコード内の 2 つの場所が表示されますが、どちらにもプロパティがありません。position
LatLng
infoboxOptions
new InfoBox()
position
これがないため、InfoBox
デフォルトの LatLng は (0,0) になります。次のコードを参照してくださいgmap.infobox.js
。
this.position_ = opt_opts.position || 新しい google.maps.LatLng(0, 0);
position
したがって、にプロパティを追加する必要がありますinfoboxOptions
。最初のものについては、myLatLng
そのコードのすぐ上で初期化され、マーカーに使用される変数がある場合があります。同じ LatLng を使用する場合は、次のように追加できます。
var infoboxOptions = {
position: myLatLng,
// and your other properties here
};
cluster
2 つ目 (クラスター) については、オブジェクトへの参照があるように見えるので、呼び出しcluster.getCenter()
てその LatLng を取得できます。
var infoboxOptions = {
position: cluster.getCenter(),
// and your other properties here
};