マップ(GoogleマップJavaScript API)上のある都市のすべての支店を表示するソリューションをクライアントに提供したいと考えています。地図は、典型的なGoogleマップよりもウェブサイト内のアプリのように動作します。ドラッグ可能でもズームもできません。地図の右側にすべてのマーカーを合わせるようにGoogleマップを再調整する
地図の再配置を処理する小さな関数をまとめて、マップビューポート内のすべてのマーカーを持つようにしました。この関数はpageloadで呼び出され、ウィンドウのサイズが変更されるたびに呼び出されます。
これは完全に機能しますが、私はこのスクリプトをもっと細かく調整する必要があります。ここで私はそれを実行する方法がわかりません:後で、永続的な情報ウィンドウが左の30%地図。マーカーがその下に隠れないようにするには、のrealign関数をマップオブジェクトの右の70%だけを計算に使用するように制限するといいでしょう。 Googleマップの地図・オブジェクトと配列Googleマップのマーカーオブジェクトを含むグローバル変数です
function realignMap() {
resizeFinished(function(){
var bounds = new google.maps.LatLngBounds();
for (var i = 0; i < markers.length; i++) {
bounds.extend(markers[i].getPosition());
}
map.fitBounds(bounds);
}, 300, 'mapresizeuniqueid');
}
マップとマーカー:ここ
は目的球は、現在のように見えるものです。 resizeFinishedは、ウィンドウを最大化してスナップすることでイベントが発生しないようにするための小さな回避策です。
事前にお申し込みいただきありがとうございます。ご挨拶 - ジョナサン
PS:必要のない場合は...
私はこの方法を考えていなかった、ありがとうございます。これは実際にそれを行う非常に良い方法です!コードに失われたif文が含まれています。そして、ほとんどの場合、180-stuffとlng-neはlng-swより小さく、とりわけヨーロッパの小さな都市の1つである場合は除外できます.-) Btw。:解決策1は、解決策2がより低温に見えるので適合しません。オーバーレイは空想的です! –
それはあなたのためにうれしい!はい、私はそれがまれなケースのためだけであることを認識していますが、私は考えることができるすべてのケースを考慮に入れるコードを望んでいました。 –