У меня есть эта функция, которая вызывается при нажатии кнопки. Функция создает маркер в предопределенной позиции. Затем я использую службу высот для данной точки. Когда я нажимаю кнопку, предупреждающее сообщение (я его там поместил для диагностики) отображает «undefined», а затем появляется маркер (на самом деле маркер должен появиться до). Я старался изо всех сил определить источник проблемы, но напрасно. Кто-нибудь может мне помочь? Благодарю.Служба регистрации изображений Google
function buttonClicked() {
addNode(someLat, someLong);
alert(getElev(markers[0]));
}
function addNode(lat, lng) {
var LatLng = new google.maps.LatLng(lat, lng);
var marker = new google.maps.Marker({
position: LatLng,
});
marker.setMap(map);
markers.push(marker);
}
function getElev (marker) {
var ht = 0;
var locations = [];
var clickedLocation = marker.getPosition();
locations.push(clickedLocation);
var positionalRequest = {
'locations': locations
}
elevator.getElevationForLocations(positionalRequest, function (results, status) {
if (status == google.maps.ElevationStatus.OK && results[0])
ht = results[0].elevation;
});
return ht;
}
Большое спасибо, Фред! – Imran
Мне было интересно, хотя. Есть ли способ, которым мы ожидаем завершения асинхронного вызова до того, как мы покинем getElevationForLocations? – Imran