文字列のジオコーディングを返す JavaScript 関数があります。
function codeAddress(address) {
var result = (new google.maps.Geocoder()).geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
return String(results[0].geometry.location.Ya)+','+String(results[0].geometry.location.Za)
} else {
return status;
}
});
console.log(result);
return result
}
ただし、「未定義」が返されます。ここでバグを理解しています。つまり、javascript は非同期であるため、完全に実行されるcodeAddress
前であっても関数から返されます。function(results, status)
しかし、ここでの解決策とベストプラクティスを知る必要があります。