如何从类“google.maps.LatLng”的对象中提取纬度和经度值?

时间:2011-06-03 08:42:41

标签: google-maps google-maps-api-3

directionsService.route (request, 
                            function (result, status) 
                            {
                                alert(status);
                                if (status == google.maps.DirectionsStatus.OK)
                                {
                                    directionsDisplay.setDirections (result);

                                    pointsArray = result.routes[0].overview_path;

问题是 * result.routes [0] .overview_path; * 会返回'google.maps.LatLng'类型的数组。即每个元素都是该数组中“google.maps.LatLng”类的“对象”。

我想在文本文件中写下所有返回的纬度和经度。

如何从“ google.maps.LatLng ”类的对象中提取单个“纬度和经度”值

1 个答案:

答案 0 :(得分:6)

http://code.google.com/apis/maps/documentation/javascript/reference.html#LatLng

上述链接包含两种方法:lat()lng(),可以解决问题 相同的代码如下:

function displayRoute ()
    {
        var start = arrayMarkers [0];
        var end   = arrayMarkers [1];

        var request = {
                    origin:start,
                    destination:end,
                    travelMode:google.maps.TravelMode.DRIVING
                    };

        directionsService.route (request, function (result, status) 
        {
            if (status == google.maps.DirectionsStatus.OK)
            {
                directionsDisplay.setDirections (result);
                pointsArray = result.routes[0].overview_path;

                var i = 0;
                var j = 0;

                for (j = 0; j < pointsArray.length; j++)
                {
                    arrayToBeReturned [i] = pointsArray[j].lat ();
                    i++;
                    arrayToBeReturned [i] = pointsArray[j].lng ();
                    i++;

                    var point1 = new google.maps.Marker ({
                                                    position:pointsArray [j],
                                                    draggable:false,
                                                    map:map,
                                                    flat:true
                                                    });
                }
            }
        });
   }