最近問題が発生しました。皆さんが助けてくれるかもしれません。
まず、Web サイトとマーカーを作成し、中心点を取得して住所を逆ジオコーディングしようとしています。
私のコードは以下です:
function ReverseGeocode(lat, lng)
{
var latlng = new google.maps.LatLng(lat, lng);
var geocoder = new google.maps.Geocoder();
geocoder.geocode({"latLng": latlng}, function(results, status)
{
if (status != google.maps.GeocoderStatus.OK)
{
alert("Geocoding has failed due to "+ status);
}
address = results[0].formatted_address;
});
}
私がここで抱えている問題は、「アドレス」を戻そうとすると (現在、アドレスはグローバル変数です)、「未定義」しか得られないことです。
これを返そうとするコードは次のとおりです。 sendString += '&lat=' + lat; sendString += '&lng=' + lon; ReverseGeocode(center.lat(), center.lng()); アラート(""+アドレス);
sendString += '&address=' + address
var currentLang = "en"
sendString += '&phone=' + document.getElementById("number").value;
sendString += '&email=' + document.getElementById("email").value;
sendString += ($("prefsms").checked)?'&contactMethod=sms':'&contactMethod=email';
sendString += '&serviceType=' + document.getElementById("serviceType").value;
sendString += '&language=' + currentLang;
alert(""+sendString);
アラート ボックスに表示されるのは「未定義」だけです。それでも、ReverseGeocode 関数に別のアラート ボックスを追加すると、アラート ボックスに住所が表示されますが、これは外部関数のアラート ボックスの後に発生します。
何が起こっているかについてのアイデアはありますか?私は、ReverseGeocode 関数内のアラート ボックスが最初に表示されると考えていましたが、その逆ではありませんでした。
ありがとう!