如何访问OSM API

时间:2017-01-28 23:30:08

标签: android osmdroid overpass-api

我正在创建一个应用程序,我需要访问OSM数据库中的maxspeed。我在OSM wiki http://wiki.openstreetmap.org/wiki/Overpass_API中找到了api http://overpass-api.de/api/,但我无法找到访问它的方法,当我在线搜索api时,它会重新发送Forbidden错误。

如何编程我的应用程序以访问api,以便我可以查询数据库json以找到我的Android应用程序的maxspeed

1 个答案:

答案 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;";
}

这可能会有所帮助......