1
Google Mapsのジオコードを使って、このアドレス文字列をLatLngオブジェクトに変換しようとしています。私は、それが非同期呼び出しであるため、latlngにnullが割り当てられると信じています。変数の割り当てを私が望むように動作させるにはどうすればよいですか?このジオコード要求を変数に割り当てる方法を教えてください。
var latlng = codeAddress(address)
alert("Lat/lng is: " + latlng);
function codeAddress(address) {
geocoder.geocode({'address':address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
return results[0].geometry.location;
} else {
alert("Geocode failed due to: " + status);
}
});
}
ご回答ありがとうございます。私がしようとしているのは、ステータスコードが成功すればGoogleマップをレンダリングし、それ以外の場合は地図をレンダリングしません。別のものが終了するまでjavascript関数/代入ブロックを作る方法はありますか?あるいは、私はこれとは別の方法で進む必要がありますか? –
ジオコードコールバック内で関数を呼び出すことができます。つまり、 'alert(latlng) 'の代わりに' render(latlng) 'を呼び出すことができます。 – Jiri
3年後にこれはまだ有効な答えです。ありがとう! – Kaloyan