我需要你的建议。我正在创建一个Web应用程序,我需要找到特定城市是否存在于我的路径中。我正在使用谷歌API来获取路径方向,但它不会返回两者之间的城市。
例如,如果我从A旅行 - > D,我想知道沿着我的路径A是否存在C - > D - > D.如果我知道A - >之间的城市。 D,我可以很容易地做到这一点。但谷歌API并没有透露这一点。有没有人有任何其他更好的建议。谢谢
答案 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,最后一个参数是容差