Я пытаюсь сделать простую функцию геокодирования для инструмента карты. Я получаю геокод в порядке, но надеюсь передать объект местоположения обратно в качестве возвращаемого значения для функции геокода.
Примерно так:
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 элемента location показывает ожидаемый объект location, поэтому функция вызывается и успешно возвращает данные.
эта функция вызывается другим процессом, который затем строит маркеры.
if (coordinates = codeAddress(myaddress){
// do stuff
}
Однако переменная coordinates
всегда оценивается как неопределенная, поэтому условие "делать вещи" никогда не выполняется.
Я знаю, что, возможно, мне не хватает чего-то действительно очевидного в определении координат var, но я не уверен, что это такое.
Спасибо за помощь.
Базовый код по адресу: http://jsfiddle.net/2TXZ4/3/ хотя карта по какой-либо причине не рисуется.