2012-03-04 6 views
2

私はそう...Googleマップの情報ウィンドウ:どのようにオフセット/クリアランスを取得できますか?

Panel overhangs top of map by about 30px

のようにそれの上に張り出しそして、私は複数のマーカーに添付情報ウィンドウを持つUI要素でGoogle v3の地図を持っています。私が持っている問題は、情報ウィンドウが開き、自動パンがマップ(私が望む行動)内で見えるようにするとき、それは明らかに要素のオーバーハング...

infowindow partially obscured, user has to manually pan to get at close box

のは考慮されていません...ので、ユーザーが持っているということです手動でパンしてすべての情報をはっきりと見るか、クローズボックスで取得します。

のoffsetTopを親マップから取得できる方法があるかどうかを調べたので、必要に応じて追加のpanToナッジを追加できますが、私は困惑しています。このよう...

google.maps.event.addListener(marker, 'click', function() { 
    infowindow.setContent(this.html); 
    infowindow.open(map, marker); 

    var infoTop = infowindow.offsetTop; 
    console.log(infoTop); 
}); 

として

試み...ちょうど私未定義を与えます。素晴らしいことだ何

InfoBox utilityinfoBoxClearanceプロパティで可能であるとして、情報ウィンドウにクリアランスプロパティを設定することができることです。しかし、私は好きな標準的な情報ウィンドウの文体的な側面があるので、私はInfoBoxを使いたくありません。

disableAutoPanを使用し、各マーカーに最適なpanToを計算することで、マップのパンを必要以上に大きくしたくない場合があります。

提案がありますか?

答えて

3

バージョン3ではこれを試しませんでしたが、バージョン2ではマップ上にカスタムコントロールを作成するのが標準的な解決策です。 [v2] infoWindowは、カスタムコントロールを含むすべてのコントロールを回避します。あなたのカスタムコントロールは、単に外部UIがカバーする空きスペースである可能性があります。

http://code.google.com/apis/maps/documentation/javascript/controls.html#CustomControls

+0

ありがとうアンドリュー、私は一見を与えます。 –

+0

確認済み:これは治療のように働いています - 多くの感謝! –

関連する問題