谷歌方向服务w/Waypoints返回ZERO_RESULTS
Google Directions Service w/ Waypoints returning ZERO_RESULTS
我目前有一个DirectionsRenderer函数,可以正确路由页面上的To和From字段。路由完成后,我获取overview_path,然后根据路径从Fusion表加载元素。完成后,我设置了一个侦听器来查找"directions_changed",这将指示一个航路点:
google.maps.event.addListener(directionsDisplay, 'directions_changed', function(){
var wypnt = directionsDisplay.getDirections().routes[0].legs[0].via_waypoints.toString().match(/[^()]+/);
wypnt.toString().split(",");
wypnt = new google.maps.LatLng(wypnt[1],wypnt[0]);
var waypoint = [];
waypoint.push({ location: wypnt, stopover: true });
route(waypoint);
});
一旦我将其传递回route()函数(该函数通常与to和From字段一起工作),我就有了以下代码段:
if(waypoint){
var request = {
origin: document.getElementById("search-input-from").value,
destination: document.getElementById("search-input-to").value,
waypoints: waypoint,
optimizeWaypoints: true,
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
}
else{
var request = {
origin: document.getElementById("search-input-from").value,
destination: document.getElementById("search-input-to").value,
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
}
代码的其余部分基于以下if语句:
directionService.route(request, function(result, status) {
if (status == google.maps.DirectionsStatus.OK) {
//do stuff
}
else {
alert("Directions query failed: " + status);
}
};
不幸的是,我得到的只是"方向查询失败:ZERO_RESULTS"。知道为什么会发生这种事吗?我不确定我形成航路点的方式是错误的还是其他什么。
一些问题:
wypnt.toString().split(",");
这对wypnt没有任何影响,split不会修改原始对象。必须是:
wypnt = wypnt.toString().split(",");
你为什么在这里切换纬度和经度?
wypnt = new google.maps.LatLng(wypnt[1],wypnt[0]);
必须是
wypnt = new google.maps.LatLng(wypnt[0],wypnt[1]);
最重要的是:你为什么要这么做?取一个数组,将其转换为字符串,拆分字符串以获得原始数组。
简单使用:
google.maps.event.addListenerOnce(directionsDisplay, 'directions_changed',
function(){
var waypoints=directionsDisplay.getDirections().routes[0]
.legs[0].via_waypoints||[];
for(var i=0;i<waypoints.length;++i){
waypoints[i]={stopover:true,location: waypoints[i]}
}
route(waypoints);
});
但请注意:当您重新绘制路线时,directions_changed
将再次激发。
相关文章:
- 节点导出返回一个空对象
- ES6构造函数返回基类的实例
- 监视函数从服务返回不起作用,但作用域函数起作用
- 控制台返回var不是't定义,但它是
- 从函数返回角度承诺
- Javascript返回值只在循环中返回一次
- 从控制器返回后Ajax启动事件激发
- CKFinder 3为所选文件返回错误的URL
- 如何在d3.js中返回路径的y坐标
- 如何从jquery函数返回变量
- Angular js-返回一个包含类似
- JSONP请求返回结果,但也触发error_callback
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- 从HTTPGET返回一个自定义对象列表,以便在Angular 2应用程序中使用
- JS验证ajax返回的html中的表单数据
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- AJAX:$_GET不返回任何值
- 从Javascript方法返回全局变量
- Meteor方法在客户端返回null,在客户端运行的相同方法返回正确的值
- JQuery outerHeight()在hidden(display:none)元素上返回none zero