找到路径上的特定城市

时间:2012-11-19 10:59:26

标签: google-maps google-maps-api-3

我需要你的建议。我正在创建一个Web应用程序,我需要找到特定城市是否存在于我的路径中。我正在使用谷歌API来获取路径方向,但它不会返回两者之间的城市。

例如,如果我从A旅行 - > D,我想知道沿着我的路径A是否存在C - > D - > D.如果我知道A - >之间的城市。 D,我可以很容易地做到这一点。但谷歌API并没有透露这一点。有没有人有任何其他更好的建议。谢谢

1 个答案:

答案 0 :(得分:2)

城市的名称不是很准确,你需要一个城市的LatLng。

基于LatLng,几何库的方法isLocationOnEdge()允许您确定LatLng(城市)是否位于为路线定义的折线上(或接近):

google.maps.geometry.poly
  .isLocationOnEdge(LatLngOfCity,
                    new google.maps.Polyline({path:google.maps.geometry.encoding.decodePath(response.routes[0].overview_polyline.points)}),
                    0000000001));

response必须是directionsResult,最后一个参数是容差

http://jsfiddle.net/doktormolle/DXCH8/