1

我想在移动时仅在道路上(而不是在路边)显示用户的当前位置。我用过LocationManager来获取当前位置。但有时我会得到路边的位置,这样,地图上的位置点就会显示在路边。实际上,我只需要显示他在路上的位置(如果他在路边)。我为此搜索了很多,但没有任何想法。

示例:我如何在地图上获取当前位置。

    m

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

这里,
A 是起点
B 是终点
n 在道路上(当前位置一段时间)
m 在道路旁边(当前位置)

但我需要 m 也应该在路上。

请帮我解决这个问题..

4

2 回答 2

0

谷歌方向服务将从最近的道路计算,因此计算从当前位置到当前位置的方向 - 返回的起始位置将在道路上。

但是,例如,如果用户真的在购物中心的停车场里越野怎么办?

于 2013-07-18T18:54:30.087 回答
0

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

于 2017-11-12T02:08:41.880 回答