Проблема с удалением от Google Map API - PullRequest
0 голосов
/ 30 июня 2011

Я пытаюсь получить расстояние между двумя точками с помощью API Google Maps,

function load_points(){
        var geocoder = new GClientGeocoder();

        var firstZip, secondZip;
        geocoder.getLatLng(document.getElementById("firstZip").value, function(point) { 
         if (!point) { 
            alert("This point could not be geocoded"); 
           } else { 
            firstZip = point;
            var marker = new GMarker(point);
            map.addOverlay(marker);
           }
        });

        geocoder.getLatLng(document.getElementById("secondZip").value, function(point) { 
         if (!point) { 
            alert("This point could not be geocoded"); 
           } else { 
             secondZip = point;
             var marker = new GMarker(point);            
             map.addOverlay(marker);
            }
        });

        alert(new GLatLng(firstZip).distanceFrom(new GLatLng(secondZip)));

    }

Проблема в том, что когда я пытаюсь, кажется, сначала выполняется предупреждение, а затем часть геокодирования и, конечнометод distanceFrom не выполняется, поскольку значения firstZip и secondZip не определены.Кто-то знает, как это решить?

1 Ответ

1 голос
/ 30 июня 2011

Функция getLatLng является асинхронной, поэтому необходимо дождаться успешного возврата обоих вызовов, прежде чем пытаться использовать переменные firstZip и secondZip.

...