我正在创建一个应用程序,我需要访问OSM数据库中的maxspeed
。我在OSM wiki http://wiki.openstreetmap.org/wiki/Overpass_API中找到了api http://overpass-api.de/api/
,但我无法找到访问它的方法,当我在线搜索api时,它会重新发送Forbidden
错误。
如何编程我的应用程序以访问api,以便我可以查询数据库json以找到我的Android应用程序的maxspeed
。
答案 0 :(得分:2)
OSMBonusPack(osmdroid的插件库)有一个OverpassAPIProvider,可以随时使用,没有“禁止”问题。
如果它不完全符合您的需要,查看源代码应该可以帮助您实现您想要的。
修改
使用OverpassAPI可能不容易获得“当前”maxspeed ...
根据mmd建议,这里是piece of code from velociraptor来构建他们的OverpassAPI请求字符串:
private String getOsmQuery(Location location) {
return "[out:json];" +
"way(around:15,"
+ location.getLatitude() + ","
+ location.getLongitude() +
")" +
"[\"highway\"];out body geom;";
}
这可能会有所帮助......