アドレスでGoogleマップからlatlngを取得するスクリプトを開発しています。
alert(jsonarr.lat);
関数内にを入れる map_address()
と正しい値が得られますが、結果を次のように変数に代入すると:
var coord = map_address('address');
alert(coord.lat);
エラーが発生しますcoord is undefined
function map_address(addr)
{
var input_address = addr;
var geocoder = new google.maps.Geocoder();
geocoder.geocode( { address: input_address }, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var lat = results[0].geometry.location.lat();
var lng = results[0].geometry.location.lng();
jsonarr={'lat':lat,'lng':lng}
alert(jsonarr.lat);
return jsonarr;
} else {
alert("Nessuna coordinata trovata da questo indirizzo!");
}
});
}