基于 OSRMRoadManager 中的 API 键创建 URL
Creating URL based on an API key in OSRMRoadManager
我已经在 openrouteservice.org 上注册了 API。如何将其导入 OSRMRoadManager?我已经在 website 上尝试了示例中的所有组合,但我的每次尝试都会导致 403 错误,并带有以下注释 org.json.JSONException: No value for code
和 link:
{
"error": "Daily quota reached or API key unauthorized"
}
(我之前没有用过那个API,所以我不可能用完配额。密钥是有效的,因为我用link测试过上述网站)
我的 Kotlin 代码(在我最近的尝试中)如下([MY_API_KEY] 显然是在替换我的真实密钥):
val roadManager = OSRMRoadManager(context, context?.packageName)
(roadManager as OSRMRoadManager).setService("https://api.openrouteservice.org/v2/directions/driving-car/geojson?api_key=[MY_API_KEY]")
val waypoints = ArrayList<GeoPoint>()
waypoints.add(GeoPoint(lastLocLat, lastLocLong)) //last known location
val endPoint = GeoPoint(randomOverlay.getItem(0).point.latitude, randomOverlay.getItem(0).point.longitude) //destination
waypoints.add(endPoint)
val road = roadManager.getRoad(waypoints)
我的猜测是 link 中应该包含不同的航路点坐标,但我不知道如何更改它。
openrouteservice 方向格式与 OSRM 不同,因此您不能使用 OSRMRoadManager。
如果你真的 - 真的 - 想使用openrouteservice,你将不得不开发相应的openrouteserviceRoadManager。
备选方案:使用 OBP 可访问的 3 种路由服务中的一种。优缺点 here.
我已经在 openrouteservice.org 上注册了 API。如何将其导入 OSRMRoadManager?我已经在 website 上尝试了示例中的所有组合,但我的每次尝试都会导致 403 错误,并带有以下注释 org.json.JSONException: No value for code
和 link:
{
"error": "Daily quota reached or API key unauthorized"
}
(我之前没有用过那个API,所以我不可能用完配额。密钥是有效的,因为我用link测试过上述网站)
我的 Kotlin 代码(在我最近的尝试中)如下([MY_API_KEY] 显然是在替换我的真实密钥):
val roadManager = OSRMRoadManager(context, context?.packageName)
(roadManager as OSRMRoadManager).setService("https://api.openrouteservice.org/v2/directions/driving-car/geojson?api_key=[MY_API_KEY]")
val waypoints = ArrayList<GeoPoint>()
waypoints.add(GeoPoint(lastLocLat, lastLocLong)) //last known location
val endPoint = GeoPoint(randomOverlay.getItem(0).point.latitude, randomOverlay.getItem(0).point.longitude) //destination
waypoints.add(endPoint)
val road = roadManager.getRoad(waypoints)
我的猜测是 link 中应该包含不同的航路点坐标,但我不知道如何更改它。
openrouteservice 方向格式与 OSRM 不同,因此您不能使用 OSRMRoadManager。 如果你真的 - 真的 - 想使用openrouteservice,你将不得不开发相应的openrouteserviceRoadManager。
备选方案:使用 OBP 可访问的 3 种路由服务中的一种。优缺点 here.