有没有办法使用核心位置或谷歌或其他api在地图上提供两个点并获得路由的结果纬度/经度对?
我在本教程中看到Drawing polyines or routes on a MKMapView如何使用核心图形绘制驾驶方向......但在示例代码中它有route.csv,它具有预定义的经度和纬度......如何我可以制作一对经度和纬度,以便我可以画出行车路线。
答案 0 :(得分:0)
公司投入数百万美元用于开发路由算法,所以我非常怀疑你能够在任何地方免费获得它(尽管我很高兴错了)。例如,谷歌地图JavaScript API支持路由,所以我猜你可以破解它。请注意,结果不会很快或。
答案 1 :(得分:0)
如果您对路线请求的使用受到限制(每天少于一定金额)且始终在Google地图上显示结果,则您有资格获得免费的Google Directions API。
https://developers.google.com/maps/documentation/directions/
彻底阅读许可证部分以了解限制。您应该可以轻松地请求一个比xml响应更容易解析的json响应(加上Apple在iOS中添加了json解析器)。
例如
如果超出限额,您应该查看他们的营业执照。
答案 2 :(得分:0)
旧问题,但MTDirectionsKit最近是开源的,效果很好:
答案 3 :(得分:0)
使用 Google API ,您可以从两点获取路线,唯一的问题是,如果不付款,您每天只能使用一次。
搜索如何从Google获取关键API,YouTube上有很多关于它的视频。
此外,我有一个图书馆,可帮助您在点之间此点 https://github.com/jd-alexander/Google-Directions-Android
之间画一条线在build.gradle(Module:app)
中实现它之后,在
library
public class LocationMapActivity extends AppCompatActivity implements RoutingListener
在实现这些方法时会出现错误(必须来实现它们,但不必使用它们)。
我只是这样做:
public void route(){
Routing routing = new Routing.Builder()
.travelMode(/* Travel Mode */)
.withListener(/* Listener that delivers routing results.*/)
.waypoints(/*waypoints*/)
.key(/*api key for quota management*/)
.build();
routing.execute();
}
链接中的更多信息。