Aqu*_*irl 4 google-maps google-maps-api-3
谷歌地图API 的GDirections类帮助我"显示"两个提供的坐标之间的路线.
现在我想要一个该路线上所有坐标的列表.
关于如何获得这个的任何提示?
编辑 刚刚发现http://code.google.com/apis/maps/documentation/javascript/reference.html#DirectionsRoute
其overview_path属性给出了路径的所有航点的列表.是为DirectionsRoute这个问题的正确类或我错过了一些呢?
编辑 - 2
在下面的mkram0显示的这个链接的帮助下,我修改了代码如下:
地图正在显示.路线IS正在显示.
我在考虑在路线的前四个坐标上放置标记.这些标记不会显示.有帮助吗?请.
directionsService.route (request,
function (result, status)
{
if (status == google.maps.DirectionsStatus.OK)
{
directionsDisplay.setDirections (result);
for (var route in result.routes)
{
for (var leg in route.legs)
{
for (var step in leg.steps)
{
for (var latlng in step.path)
{
pointsArray.push(latlng);
}
}
}
}
var point1 = new google.maps.Marker ({
position:pointsArray[0],
draggable:true,
map:map,
flat:true
});
var point2 = new google.maps.Marker ({
position:pointsArray[1],
draggable:true,
map:map,
flat:true
});
var point3 = new google.maps.Marker ({
position:pointsArray[2],
draggable:true,
map:map,
flat:true
});
var point4 = new google.maps.Marker ({
position:pointsArray[3],
draggable:true,
map:map,
flat:true
});
}
});
Run Code Online (Sandbox Code Playgroud)
我自己解决了:) overview_path是显示坐标的正确方法:只是为了检查这是否真的显示了什么,我在前四个坐标上显示了标记.
directionsService.route (request,
function (result, status)
{
alert(status);
if (status == google.maps.DirectionsStatus.OK)
{
directionsDisplay.setDirections (result);
var pointsArray = [];
pointsArray = result.routes[0].overview_path;
var point1 = new google.maps.Marker ({
position:pointsArray[0],
draggable:true,
map:map,
flat:true
});
var point2 = new google.maps.Marker ({
position:pointsArray[1],
draggable:true,
map:map,
flat:true
});
var point3 = new google.maps.Marker ({
position:pointsArray[2],
draggable:true,
map:map,
flat:true
});
var point4 = new google.maps.Marker ({
position:pointsArray[3],
draggable:true,
map:map,
flat:true
});
Run Code Online (Sandbox Code Playgroud)