我正在使用Google V3 API的方向服务,我想将其中一个步骤的长度缩短1米(让我们说它是最后一步)。
问题: directionResult可以看到这里。折线是由一堆字符定义的。我如何提取坐标(如果需要的话)并将折线缩短1米?
折线定义的实例
"polyline" : {
"points" : "eir~FdezuOhFIF?HAdFG"
},Javascript代码
不包含缩短折线的代码。在每一步开始时显示一组标记。
for(var i = 0; i < markers.length; i++) {
var start = target_latlng;
var end = markers[i].getPosition();
var request = {
origin: start,
destination: end,
travelMode: google.maps.TravelMode.WALKING
};
directionsService.route(request, function(directionResult, status) {
if (status == google.maps.DirectionsStatus.OK) {
route = directionResult.routes[0].legs[0];
for(var i = 0; i < route.steps.length; i++) {
var marker = new google.maps.Marker({
position: route.steps[i].start_location,
map: map
});
route.steps[i].polyline.points.getPath(); // does not work!
}
}
});
}发布于 2011-11-14 14:10:50
.getPath()应该能工作。谢谢!
发布于 2012-07-22 23:54:00
与尝试从polyline中提取坐标不同,您可以直接访问坐标,这最终将与polyline非常相似。您可以在
result.routes[current_route].legs[0].steps[current_step].path我知道这很管用,因为我正在成功地使用它。
如果这不起作用,请告诉我。
axs
https://stackoverflow.com/questions/8066312
复制相似问题