[GoogleMapsAPI]ジオコーディングで取得した座標をlatとlng別に取り出す

Qiita初投稿です。js初心者です。

現在学校の授業で触っているGoogleMapsAPIでジオコーディングで取得した座標データを緯度経度別に出力する方法を残します。

そもそもなんで緯度経度別に取り出す必要があったのか

→他社のAPIで緯度経度を別々のパラメータとして入力したかったから。


map.js

geocoder = new google.maps.Geocoder()

geocoder.geocode(
{'address': '大阪市北区梅田3-3-1', 'language': 'ja'},
function (results, status) { // geocodeデータ取得成功
if (status == google.maps.GeocoderStatus.OK) {
var latlng = results[0].geometry.location // 初期値のジオコードより取得した座標
}
}
}

latlngの中身↓

スクリーンショット 2019-07-12 10.15.24.png

このままだと、直接scopesにアクセスしてもundefinedだったので、

var latlngの下にこれを追記した↓

var latlngObj = JSON.parse(JSON.stringify(latlng,undefined,4))

この1行で行っていること↓

1. 取得したlatlngのプロパティを文字列として出力することでundefinedが出力される問題を回避

2. その文字列をJSONとして解析してオブジェクトとして出力

(latlngはgoogle.maps.Mapクラスをnewする際のcenter属性等で使う)

追記)

 latlng.lat()で取れるじゃねーか(latlngのlatがメソッドって理解してなかった)