Javascript 使用航路点查找路线
我正在使用javascript、google maps api v3和pgoruting查找两点之间的路线。现在我有了下面的方法,当我只给出一个航路点时,它可以很好地工作。但当我有一个以上的航路点时,它就不起作用了。有多个航路点时的格式用此符号Javascript 使用航路点查找路线,javascript,google-maps,google-maps-api-3,url-routing,Javascript,Google Maps,Google Maps Api 3,Url Routing,我正在使用javascript、google maps api v3和pgoruting查找两点之间的路线。现在我有了下面的方法,当我只给出一个航路点时,它可以很好地工作。但当我有一个以上的航路点时,它就不起作用了。有多个航路点时的格式用此符号“|”确定。因此,例如:36.762121,14.7866553 | 35.9887778,14.655444333 javascript方法如下所示: function calcRoute() { var all_nodes =
“|”
确定。因此,例如:36.762121,14.7866553 | 35.9887778,14.655444333
javascript方法如下所示:
function calcRoute() {
var all_nodes = document.getElementById('result').innerHTML;
var node = all_nodes.split("|");
var start = node[0];
var end = node[node.length - 1];
var wpts = [];
for (var i = 1; i < node.length-1; i++) {
wpts.push({
location:node[i],
stopover:true
});
}
var request = {
origin: start,
destination: end,
waypoints: wpts,
travelMode: google.maps.TravelMode.DRIVING
};
directionsService.route(request, function (response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
} else {
alert('No route found');
}
});
}
函数calcRoute(){
var all_nodes=document.getElementById('result').innerHTML;
var node=所有_节点。拆分(“|”);
var start=node[0];
var end=node[node.length-1];
var-wpts=[];
对于(变量i=1;i
实际不正确的航路点是位置数组:LatLng和stopover:true或false,它们不使用管道分隔符。请参考前面的建议,这可能有助于获取位置的google对象,也可能有助于提供lat和两个单独的实体
for (var i = 1; i < node.length-1; i = i + 1) {
node[i] = node[i].split(',');
wpts.push({
location:new google.maps.LatLng(node[i][0], node[i][1]),
stopover:true
});
}
for(变量i=1;i
我已经发布了链接指示的修改后的javascript代码,但当我给出多个航路点时,将不会显示任何路线。知道为什么会这样吗@David Chases请发布任何新的或修改过的代码,这样我可以帮助你,基于此a可以是一个包含位置的对象,它是google.maps.LatLng或字符串,但当它是字符串时,我相信它应该是一个地址,而不是两个坐标。你有没有一个不起作用的示例?这很好:36.762121,14.7866553 | 35.9887778,14.655444333
也一样:36.762121,14.7866553 |意大利米兰|瑞士苏黎世| 35.9887778,14.655444333
我已经在我发布的函数中尝试了上述示例,但没有结果@geocodezipCompare将您的版本复制到。唯一的区别是字符串的来源。由于您没有发布页面的这一部分,我没有复制它。如果您将坐标转换为google.maps.LatLng对象,而不是依靠方向服务将该字符串识别为坐标,则会复制它。当然。如果拆分有效,它将只适用于lat-long,而不适用于文本条目,因此可能没有实际意义。当然,除非文本中有逗号