さて、私は現在、グーグルマップのいくつかの機能を別のファイルに移動しています。他のファイルでは、いくつかのメイン関数search()を作成します。この関数では、他のファイルを含めてこのワークフローを作成します。私が得る問題は、今日まで正常に機能していたgeocoder.geocode()関数であり、何が悪かったのか理解できません。ジオコーダーが作成され、実際に何もせずに関数geocoder.geocode()をステップオーバーします。誰かアイデアがありますか?
これは私のメインfile.jsのビットです:
//set the point.
var latlng = new google.maps.LatLng(55.379, -3.444);
//initialize the google map.
initializeMap(latlng, null, null, null);
//get selected country text from dropdown.
var address = $('#country option:selected').text();
//get entered postcode from textbox.
if ($("#postcode").val() != "") {
address = $('#postcode').val() + ", " + address;
}
//do a google search and store the result.
var result = googleSearch(address);
アドレスは、「NX5 897、米国」のようになります。そしてこれはfunctionCollection.jsのgoogleSearchです
function googleSearch(address) {
var result;
//setting up a geocoder search.
var geocoder = new google.maps.Geocoder();
geocoder.geocode({ address: address }, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
result = results[0];
}
else {
alert("Geocode was not successful for the following reason: " + status);
result = null;
}
});
return result;
}