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 ”类的对象中提取单个“纬度和经度”值
答案 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
});
}
}
});
}