运行我的 API 后,我得到如下所示的地理点。蓝色的在正确的路线上,但红色的不在路线上。我需要加入积分才能获得我的最终路线。如何消除这些红点?
我掌握的关于这些点的信息是纬度、经度、它们所在的道路(这些点已被反向地理编码)。
A,B,C 是不同名称的道路。要根据“道路”名称进行过滤,我们最终可能会消除道路 B 上的蓝点。
任何 Google API 都可以提供帮助吗?谷歌路线API?
运行我的 API 后,我得到如下所示的地理点。蓝色的在正确的路线上,但红色的不在路线上。我需要加入积分才能获得我的最终路线。如何消除这些红点?
我掌握的关于这些点的信息是纬度、经度、它们所在的道路(这些点已被反向地理编码)。
A,B,C 是不同名称的道路。要根据“道路”名称进行过滤,我们最终可能会消除道路 B 上的蓝点。
任何 Google API 都可以提供帮助吗?谷歌路线API?
我能想到的最好的事情(除了手动滚动您自己的 distanceToPolyline 算法)是使用google.maps.geometry.poly.isLocationOnEdge
(documentation),然后您可以询问所有点是否在路线附近并采取相应措施。
这是我做的一个例子,尝试添加标记,然后隐藏越野标记(也建议使用公差变量)。
RouteBoxer 可能会有所帮助。
这里的 JS 实现 - http://google-maps-utility-library-v3.googlecode.com/svn/trunk/routeboxer/docs/examples.html
PHP服务器端实现在这里- http://luktek.com/Blog/2011-02-03-google-maps-routeboxer-in-php
如果您喜欢冒险,您可以浏览代码并尝试制作一个 Ruby 端口。