- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为 iPad 开发使用 Google Maps API 的 HTML5 网络应用程序。这个 API 对我来说是新的,我搜索了许多与之相关的问题的答案。标记、信息窗口、路线、地理位置、街景。有关这一切的最有用的信息可以在官方文档中找到:
https://developers.google.com/maps/documentation/javascript/3.exp/reference?hl=ru
但是,我仍然找不到一个(也许很简单)问题的解决方案。例如,我创建了一个新的 map 实例和一个标记(目的地),开始监视我的位置(GEO 位置)并绘制了一条到达该标记位置的路线。 如何检查何时到达目的地? 我已经寻找了 DirectionsService、DirectionsRenderer 等适当的事件,但没有结果。另外,我在这个网站上发现了相同的主题,但它是关于 Android 开发的,而不是 JS ( Android: How to check that whether i reach/near my Destination? )。
绝望之下,我发明了自己的解决方案,但似乎无法正常工作(我还没有完全测试它,我将在接下来的几天内进行测试)。我想如果我将当前位置的纬度和经度与目的地的纬度和经度进行比较 - 那么我可以捕捉到达目的地的时刻:
if (myPosition.lat() == dest.marker.position.lat() && myPosition.lng() == dest.marker.position.lng()) {
alert('You have arrived!');
}
此代码在 navigator.geolocation.watchPosition 的成功监视位置回调中执行
你有什么想法吗?
最佳答案
LatLng 是高精度值,您不能期望两个标记的位置完全匹配。
添加容差:
//tolerance 50 meters
//requires the geometry-library
if(google.maps.geometry.spherical
.computeDistanceBetween(myPosition,dest.marker.position)<50){
alert('You have arrived!');
}
关于javascript - 谷歌地图 API (JS) : check if I reached my destination,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27178283/
leaflet:一个开源并且对移动端友好的交互式地图 JavaScript 库 中文文档: https://leafletjs.cn/reference.html 官网(英文): ht
我是一名优秀的程序员,十分优秀!