良い質問。
CSS メディア クエリの組み合わせを使用して、マップを配置する div のブレークポイントを設定する必要があります (多くの画面サイズはここにありますhttp://screensiz.es/phone ) と、リッスンする Google マップ APIサイズ変更イベントに応答します。
マップの中心を設定すると、ロード時に常にウィンドウの中心になります。ただし、ウィンドウのサイズ変更をリッスンしてからマップの中心を再設定する場合は、いくつかの基本的な Google マップ APIv3 メソッドを使用して中心を計算し、リセットすることができます。
これは、あなたが求めていると思われるものの実際の例の要点です。例として、上記のSai Ram Sudheerの回答からいくつかのメディアクエリを投げました(この場合、マップは画面全体を占めるため、その大きなマップでは重要ではありません)。
中心を計算して再設定するために必要な実際のコードは、ほんの数行です (map.js ファイルを見てください)。
https://gist.github.com/markthethomas/5da15a050f560cc58d4f
サイズ変更に関連するコードは次のとおりです。マーカーと境界をもっと使いたい場合は、関数を記述しcenter
て、プログラムやパラメーターの意味を判断する必要があります (つまり、フレームに収まるマーカーの数、表示するマーカーなど)。
// create a variable to hold center
var center;
// calculate the center with getCenter
function calculateCenter() {
center = map.getCenter();
}
// Add an event listener that calculates center on idle
google.maps.event.addDomListener(map, 'idle', function() {
calculateCenter();
});
// Add an event listener that calculates center on resize
google.maps.event.addDomListener(window, 'resize', function() {
map.setCenter(center);
});
これが少し役立つことを願っています!