私はマップツールのための単純なジオコード関数を実行しようとしています。私はジオコードを正常に取得しますが、ジオコード関数の戻り値としてロケーションオブジェクトを戻すことを望んでいます。このような関数からGMap位置オブジェクトを返す
何か:ロケーション項目の
function codeAddress(address) {
geocoder.geocode({ 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var location = results[0].geometry.location;
console.dir(location);
return location;
} else {
return false;
}
});
}
console.dirは、予想位置のオブジェクトを示すので、関数が呼び出され、正常にデータを戻します。
この関数は、別のプロセスによって呼び出され、マーカーが作成されます。
if (coordinates = codeAddress(myaddress){
// do stuff
}
しかし、coordinates
変数は、いつものように未定義評価し、その「ものを行う」ための条件が満たされることはありません。
私はおそらく座標varの定義について本当に明白な何かが不足していることは知っていますが、それが何であるかはわかりません。
ありがとうございました。
基本コード:http://jsfiddle.net/2TXZ4/3/地図は何らかの理由で描画されませんが、
okこれは非同期要求であると私は思っています。私がcodeAddress関数で戻り値をハードコードすると、すべて正常に動作します。だから、それはただ要求の性質でなければなりません。しかし、この問題に最善を尽くす方法はまだ分かりません。 – julio