Я пытаюсь увидеть значения широты и долготы в качестве глобальных переменных, чтобы их можно было использовать. Однако, когда вызывается функция codeAddress(), даже до того, как она завершает выполнение, последующее внутреннее предупреждение печатается, а карта отображается пустым (код показывает жестко заданные значения). Что я делаю не так?API API JavaScript Javascript вместе с кодом Geolocator не работает
var geocoder;
var geoloc;
var latitude;
var longitude
function codeAddress() {
geocoder = new google.maps.Geocoder();
var address = 'Dallas';
geocoder.geocode({ 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
latitude = results[0].geometry.location.lat();alert(latitude);
longitude = results[0].geometry.location.lng();alert(longitude);
} else {
alert('Geocode was not successful for the following the default location set.reason: ' + status);
}
});
return;
}
function getStoreMap(zoom)
{
codeAddress();
google.maps.event.addDomListener(window, 'load', function() {
alert("Inside"+latitude);
var map = new google.maps.Map(document.getElementById('map-canvas'), {
center: new google.maps.LatLng(32.7801399,-96.80045109999998),
zoom: zoom,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var panelDiv = document.getElementById('panel');
var data = new PlacesDataSource(map);
var view = new storeLocator.View(map, data,{ updateOnPan: true}
);
var markerSize = new google.maps.Size(24, 24);
view.createMarker = function(store) {
return new google.maps.Marker({
position: store.getLocation(),
icon: new google.maps.MarkerImage(store.getDetails().icon, null, null,
null, markerSize)
});
};
new storeLocator.Panel(panelDiv, {
view: view
});
});
}
Возможный дубликат [API API карт Google с помощью геокодирования] (http://stackoverflow.com/questions/15606660/google-maps-api-issue-with-geocoder) – geocodezip