Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.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 如何获得特定半径的经纬度允许的最大速度?_Android_Openstreetmap_Overpass Api - Fatal编程技术网

Android 如何获得特定半径的经纬度允许的最大速度?

Android 如何获得特定半径的经纬度允许的最大速度?,android,openstreetmap,overpass-api,Android,Openstreetmap,Overpass Api,我正在开发一个android应用程序,它有一个显示当前位置允许的最大速度的功能,换句话说就是纬度和经度。 我曾经遇到过这个解决方案,它为使用立交桥涡轮的位置提供了maxspeed值,但它并不适用于所有位置。我已经使用query创建了JSON请求&它返回JSON数据中的max-speed标记,但它不适用于所有位置 下面是我从这些url获得的空白数据示例: 任何帮助都将不胜感激。该应用程序将在美国和欧洲推出,因此,如果解决方案针对这些地区,也欢迎使用。但希望找到通用解决方案。在1米半径范围内,lat

我正在开发一个android应用程序,它有一个显示当前位置允许的最大速度的功能,换句话说就是纬度和经度。 我曾经遇到过这个解决方案,它为使用立交桥涡轮的位置提供了maxspeed值,但它并不适用于所有位置。我已经使用query创建了JSON请求&它返回JSON数据中的max-speed标记,但它不适用于所有位置

下面是我从这些url获得的空白数据示例:


任何帮助都将不胜感激。该应用程序将在美国和欧洲推出,因此,如果解决方案针对这些地区,也欢迎使用。但希望找到通用解决方案。

在1米半径范围内,lat 46.361115、lon 6.13975甚至没有一条单程:

更改坐标或增加搜索半径


正如用户Jendrusk已经指出的,并不是每一条街道都有OSM设置中的maxspeed。您示例中的city Divonne les Bains只有少数几条道路带有maxspeed标记:

对于您的查询,overpass turbo正在为具有maxspeed的行字符串返回标记-可能此缓冲区中没有这样的行?这是OSM数据-maxspeed不必出现在每条高速公路上…旁注:根据OSM wiki,您需要遵守立交桥API使用限制。您的所有应用程序用户每天最多可收到10000个请求。如果您希望超过此限制,请务必安装您自己的实例,否则您的应用程序可能会被阻止,恕不另行通知。另外,请务必在HTTP头中发送一个有意义的用户代理来标识您自己/您的应用程序。@mmd感谢您指出这一因素。@Jendrusk so,我们还有其他方法来实现这一点吗?另一个评论是:已经有相当多的应用程序在做与您描述的完全相同的事情。以GPLv3许可应用程序为例:。在创建另一个maxspeed应用程序之前,也许值得考虑。我已经将半径增加到100米,但仍然返回空白数据。你能为我的应用推荐更好的方法吗?应用程序有一个简单的要求,即说出当前行驶道路的速度限制。请参阅我答案中的立交桥涡轮连杆。您所在区域的maxspeed标签很少。不幸的是OSM没有这个城市的信息。好吧,我看到不幸的是,可用的信息非常少。这不符合我的应用程序驱动程序的目的,因为它无法知道某些区域的速度限制,其他许多位置也会出现这种情况,对吗?是的,maxspeed标签的覆盖范围会因地理区域而异。因此,无法实现此应用程序?