getLatLng синхронно? - PullRequest
       9

getLatLng синхронно?

0 голосов
/ 12 июня 2011

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

Я на самом деле не хочу устанавливать произвольный таймер, так что я могу реализовать обратный вызов или заставить getLatLng работать синхронно?

Вот мой код:

    function showAddress(markers, intNumber) 
    {
        intNumber++;
        if (geocoder) 
        {
            geocoder.getLatLng(markers,
            function(point) 
            {
                if (!point) 
                {
                    // alert(markers + " not found");
                }else 
                {

                    var icon = new GIcon();
                    icon.image = "images/numbers/marker"+intNumber+".png";
                    icon.shadow = "http://www.google.com/mapfiles/shadow50.png";
                    icon.iconSize = new GSize(20, 34);
                    icon.shadowSize = new GSize(37, 34);
                    icon.iconAnchor = new GPoint(20, 34);
                    icon.infoWindowAnchor = new GPoint(15, 34)

                    map.setCenter(point, 5);
                    var marker = new GMarker(point, icon);                  

                    GEvent.addListener(marker, 'click',
                    function() 
                    {
                        marker.openInfoWindowHtml(markers);
                    });

                    map.addOverlay(marker); 
if(objPreviousPoint != null) 
                    {                                           
                        miles += MetersMiles * (point.distanceFrom(objPreviousPoint));                      
                        var polyline = new GPolyline([ objPreviousPoint, point], "#FF0000", 3);                     
                        map.addOverlay(polyline);   

                    }

                    objPreviousPoint = point;   



                }

            });

        }
    }


for (i in arrLocations)
        {
            showAddress(arrLocations[i], i);

        }

Есть идеи?

Спасибо

TheBounder.

...