- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试根据驾驶/步行时间过滤掉 Google map 上的地址。但是,似乎我遗漏了有关此 Javascript 代码段如何运行的一些非常基本的东西:
//addresses that I'd like to compare to a point of origin
var addresses = ['address_1','address_2','address_3','address_4','address_5'];
//point of interest/origin
var origin = 'origin_address';
for (i=0;i<addresses.length;i++){
var directionsService = new google.maps.DirectionsService();
var directionsDisplay = new google.maps.DirectionsRenderer();
directionsDisplay.setMap(map);
var request = {
origin: origin,
destination: addresses[i],
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
//====> Why can't I access results[i] here? I get "undefined" for the following
alert(addresses[i]);
// I get 3 identical values, then a unique fourth value
alert(response.routes[0].legs[0].duration.value);
//if the duration is below a certain value, I'd like to show a marker.
//however, I can't do that, since I can't access addresses[i]
if(response.routes[0].legs[0].duration.value < 1200){
//Geocode address & show marker
}
}
});
}
知道为什么:1) 我无法从内部访问变量“地址”:directionsService.route(request, function(response, status) {//.....这里.....});
2) 这是比较不同路线持续时间的正确方法,还是我在做一些非常低效的事情?
非常感谢!
最佳答案
那个函数是一个回调函数。它的范围是不同的。你可能认为它是什么。在那个函数中,我不存在。
我的手机对 SO 来说真的很糟糕,但是您的响应变量将包含您要从请求变量中查找的地址。
编辑
你可以试试闭包:
directionsService.route(request, (function (address) {
return function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
//====> Why can't I access results[i] here? I get "undefined" for the following
alert(address);
// I get 3 identical values, then a unique fourth value
alert(response.routes[0].legs[0].duration.value);
//if the duration is below a certain value, I'd like to show a marker.
//however, I can't do that, since I can't access addresses[i]
if(response.routes[0].legs[0].duration.value < 1200){
//Geocode address & show marker
}
})(addresses[i])
});
关于javascript - 根据谷歌地图上的驾驶位置过滤地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7060821/
Android 有没有办法以某种方式使用 GPS 来确定用户是否在开车(例如,如果用户移动得更快,那么说,10 英里/小时)?如果当用户移动速度超过 10 英里/小时或低于 10 英里/小时时我可以接
我目前使用 vue 自动设置进行了 nightwatch.js 设置。该模板位于此处。 https://github.com/vuejs-templates/webpack/tree/master/t
我们如何使用 CoreMotion 数据检测用户正在驾驶/步行/运行/静止。我们可以使用 CMMotionActivityManager 获取 iPhone 5s 中的用户事件。但是如何进入低版本设备
如何使用我的 Android 设备检测用户是在步行、骑自行车还是在开车?我检查了 Google Fit app.它区分运行、骑自行车和驾驶。我对应该使用什么算法来区分这些 Activity 感到困惑。
我是一名优秀的程序员,十分优秀!