Trace the location only on Road in Google maps V2 android

末鹿安然 提交于 2019-12-24 10:48:07

问题


I want to show the current location of the user only on road(not beside of the road) while moving. I have used the LocationManager to get the current location. But sometimes I am getting the location beside the road, with this, the location point on map is showing beside the road. Actually, I have to show his location on Road(if he is beside the road) only. I searched lot for this but didn't get any idea.

Example: How I am getting the current locations on map.

    m

A---n-------B

here,
A is start point
B is end point
n is on road(current location for sometime)
m is beside road(current location)

But I would need the m also should be on road.

Please help me on this..


回答1:


The google directions service will calculate from nearest road so calculate directions from current location to current location - returned starting location will be on a road.

But what if user genuinely is off-road in a shopping mall carpark for instance?




回答2:


For that you need to use road API which will give you the path upon the road otherwise you will not get the accurate path.

Snap to Roads

The Google Maps Roads API takes up to 100 GPS points collected along a route, and returns a similar set of data, with the points snapped to the most likely roads the vehicle was traveling along. Optionally, you can request that the points be interpolated, resulting in a path that smoothly follows the geometry of the road.

Check Details Here

You need to call like this

https://roads.googleapis.com/v1/snapToRoads?path=-35.27801,149.12958|-35.28032,149.12907|-35.28099,149.12929|-35.28144,149.12984|-35.28194,149.13003|-35.28282,149.12956|-35.28302,149.12881|-35.28473,149.12836&interpolate=true&key=YOUR_API_KEY



来源:https://stackoverflow.com/questions/17724649/trace-the-location-only-on-road-in-google-maps-v2-android

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!