Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何访问OSMAPI_Android_Osmdroid_Overpass Api - Fatal编程技术网

Android 如何访问OSMAPI

Android 如何访问OSMAPI,android,osmdroid,overpass-api,Android,Osmdroid,Overpass Api,我正在制作一个应用程序,需要访问OSM数据库中的maxspeed。我找到了apihttp://overpass-api.de/api/在OSM wiki中,但我找不到访问它的方法,当我在线搜索api时,它会重新返回禁止的错误 如何编程我的应用程序以访问api,以便查询数据库json以查找我的android应用程序的maxspeed。OSMBonusPack(osmdroid的附加库)有一个随时可用的,没有您的“禁止”问题 如果它不完全符合您的需要,那么查看源代码可以帮助您实现所需的功能 编辑 使

我正在制作一个应用程序,需要访问OSM数据库中的
maxspeed
。我找到了api
http://overpass-api.de/api/
在OSM wiki中,但我找不到访问它的方法,当我在线搜索api时,它会重新返回
禁止的
错误

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

OSMBonusPack(osmdroid的附加库)有一个随时可用的,没有您的“禁止”问题

如果它不完全符合您的需要,那么查看源代码可以帮助您实现所需的功能

编辑

使用Overpasspi可能无法直接获得“当前”最大速度

根据mmd的建议,以下是构建他们的overpasspi请求字符串的方法:

private String getOsmQuery(Location location) {
    return "[out:json];" +
            "way(around:15,"
            + location.getLatitude() + ","
            + location.getLongitude() +
            ")" +
            "[\"highway\"];out body geom;";
}
这可能有助于

OSMBonusPack(osmdroid的一个附加库)有一个可随时使用的,没有您的“禁止”问题

如果它不完全符合您的需要,那么查看源代码可以帮助您实现所需的功能

编辑

使用Overpasspi可能无法直接获得“当前”最大速度

根据mmd的建议,以下是构建他们的overpasspi请求字符串的方法:

private String getOsmQuery(Location location) {
    return "[out:json];" +
            "way(around:15,"
            + location.getLatitude() + ","
            + location.getLongitude() +
            ")" +
            "[\"highway\"];out body geom;";
}

这可能有助于

@AnixPasBesoin,我已经有了库并将其导入我的应用程序。我需要访问他们的数据库。根据wikipedia页面,http地址是api,但当我单击它时,它会给我拒绝访问的消息。我不明白为什么如果它应该是开源的,那么现有的几个安卓应用程序就有着完全相同的用途,比如:-我建议研究源代码,并提出更具体的问题。要点:OverpassAPI有一个您必须遵守的使用策略。另外,OSM API和Overpass API是两个完全不同的API。当然,为了测试您的查询,我总是推荐优秀的Overpass turbo:要使用的端点应该是Overpass-API.de/API/interpreter@AnixPasBesoin,我已经有了库并将其导入到我的应用程序中。我需要访问他们的数据库。根据wikipedia页面,http地址是api,但当我单击它时,它会给我拒绝访问的消息。我不明白为什么如果它应该是开源的,那么现有的几个安卓应用程序就有着完全相同的用途,比如:-我建议研究源代码,并提出更具体的问题。要点:OverpassAPI有一个您必须遵守的使用策略。另外,OSM API和Overpass API是两个完全不同的API。当然,为了测试您的查询,我总是推荐优秀的Overpass turbo:要使用的端点应该是Overpass-API.de/API/translator谢谢您的更新。事实上,我在构建应用程序的过程中浏览了Velociraptor中的大部分代码,我使用了这段代码,并进行了查询和HTTP get函数,但api从未提供我需要的信息。尝试从头到尾获取正确的查询。感谢您的更新。事实上,我在构建应用程序的过程中浏览了Velociraptor中的大部分代码,我使用了这段代码,并进行了查询和HTTP get函数,但api从未提供我需要的信息。尝试从头到尾获取正确的查询。