如何在Android Native Activity 中通过Java 查询Overpass Turbo 来确定高速公路的分类?

How to query Overpass Turbo through Java within an Android Native Activity to determine classification of highway?

我正在尝试构建一个 android 应用程序,它可以通过纬度和经度坐标确定用户所在的高速公路类型。有没有办法查询立交桥 turbo 以检索高速公路的类型或 class 化?(无论是高速公路、干线、小学、中学、大学还是住宅)我找不到任何相关的教程或文档来这样做。 我可以在 Java class 方法中实现查询,如下所述:

LocationManager lm(LocationManager)getSystemService(Context.LOCATION_SERVICE); Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
@Override public void onLocationChanged(Location location)
{ 
double longitude = location.getLongitude();
double latitude = location.getLatitude(); 

/*query overpass turbo to classify highway*/
/*store retrieved classification type as a string*/

}

而不是获取给定坐标周围所有标记为高速公路的道路,是否可以识别当前位置以确定该道路是哪种高速公路?

您需要查找 ways with a highway tag。您可以使用以下立交桥 API 查询来定位 51.033,13.749(纬度,经度)100 米内标记为高速公路的所有道路:

[out:xml][timeout:25];
way(around:100,51.033,13.749)[highway];
out body;
>;
out skel qt;

您可以看到 result on overpass turbo or download the results directly via Overpass API.

您可以使用最后一个 link 从您的应用程序中构建一个简单的 HTTP 请求。请注意,Overpass API 支持不同的输出格式,例如 XML 和 JSON,具体取决于您的查询。