Android:从标记点获取最近的街道

时间:2017-02-25 12:17:51

标签: android google-maps android-asynctask

我在我的Android应用程序中添加标记,但我需要制作一个功能,如果我不在街道上添加标记,我需要在最近的已知街道上添加标记。就像在这个例子中:Add marker to nearest known street,但我需要使用android。

这是我的标记坐标:

MarkerOptions marker = new MarkerOptions().position(
                        markerLatLng = new LatLng(point.latitude, point.longitude)).title("my marker");

现在我需要执行异步任务来将坐标发送到谷歌并检索最近的道路坐标。我应该使用哪个网址?

然后我计划将坐标添加到arrayList:

locationArray.add(new LatLng(point.latitude, point.longitude));

在我的地图上显示标记:

mGoogleMap.addMarker(marker);

我在我的API管理器中启用了Google Maps Directions APIGoogle Maps Roads API

问题是,我应该使用URL AsynTask来获取最近的街道坐标?

也许我需要使用它:https://maps.googleapis.com/maps/api/directions/output?parameters并将我的标记坐标添加到参数?

2 个答案:

答案 0 :(得分:2)

你知道如何使用json我推荐以下内容:

https://maps.googleapis.com/maps/api/geocode/json?latlng=yourLat,yourLng

在回复中,您将获得有关该LatLng,最近的街道和数字,城市,州,国家等的所有信息。

答案 1 :(得分:0)

如果您的目的是将坐标捕捉到最近的道路,您应该考虑具有最近道路功能的道路API。

查看文档

https://developers.google.com/maps/documentation/roads/nearest

因此,您可以在异步任务中使用的URL类似于https://roads.googleapis.com/v1/nearestRoads?parameters&key=YOUR_API_KEY

如果您的目的是找到最近的可用街道地址,那么反向地理编码就像Henrique所建议的那样好。