GoogleMapAPI緯度経度が範囲を超える問題

GoogleMapで緯度経度を取得した時に、有効範囲外の数値が取得される場合があるようなので、その対処方をメモ。

緯度経度の範囲

緯度(latitude)の範囲は、-90° ~ 90°
経度(longitude)の範囲は、-180° ~ 180°
なので、これを超える事は無いはずなんですが、GoogleMapで西か東のどちらかに向かって、地球を何週もすると、1000°でも2000°でもいくらでも増えていくようです・・。
地図を表示する事自体には問題は無いんですが、緯度経度を別のAPIで利用したい場合や、DB等で2点間の距離を出そうとかすると問題になります。

数値を正しく戻す

GoogleMapAPIで、表示している地図の中心座標を取得してみます。

var latlng = map.getCenter();
var lat = latlng.lat();
var lng = latlng.lng();

上記のままだと、有効範囲外の緯度経度が取得されているので、これを以下のように修正。

var latlng = map.getCenter();
latlng = new google.maps.LatLng( latlng.lat(), latlng.lng() );
var lat = latlng.lat();
var lng = latlng.lng();

これで、範囲内の値に修正されます。