Googleマップのボンディングボックスを取得/設定するにはどうすればよいですか?センターとズームを使用してマップを作成する方法を知っていますが、ボックスに基づいてマップのビューを保存し、後でマップボンド(マップのNEとSW)を使用して同じビューを再作成する方法が必要です。
どうすればこれができるのでしょうか?
私はMVC3を使用しています。
Googleマップのボンディングボックスを取得/設定するにはどうすればよいですか?センターとズームを使用してマップを作成する方法を知っていますが、ボックスに基づいてマップのビューを保存し、後でマップボンド(マップのNEとSW)を使用して同じビューを再作成する方法が必要です。
どうすればこれができるのでしょうか?
私はMVC3を使用しています。
LatLngBoundsオブジェクトを返すmap.getBounds()関数を使用するとします。これから、getNorthEast()およびgetSouthWest()を使用して、必要な座標を取得できます。
var bounds = map.getBounds();
var NE = bounds.getNorthEast();
var SW = bounds.getSouthWest();
これらのLatLngオブジェクトを文字列にする必要がある場合(DBへの挿入やCookieへの書き込みなど)、それらに対してtoString()関数を使用するだけです。
strNE = NE.toString();
strSW = SW.toString();
したがって、これらをCookieに書き込むか、Ajaxを使用してDBに書き込むと仮定します。後でそれらをcookie/DBから取り出したら、それらを使用してマップの中心を設定できます。
bounds = new google.maps.LatLngBounds(SW, NE);
map.fitBounds(bounds); // or maybe try panToBounds()
これらの機能はすべて、https ://developers.google.com/maps/documentation/javascript/referenceに記載されています。