假设我已经在谷歌地图API上设置了从A点到B点的步行路线。 我从A点(duh)开始。考虑到步行距离,我怎么能或者有可能更新地图上的当前位置? (我从Google fit SDK走了一段距离)。
示例:
从A点到B点是1.5公里(谷歌地图上标记的路线)
我跑了450米
如何基于此更新地图当前位置?
PS:我不能使用GPS作为我正在制作的应用程序没有显示您当前的真实位置。这是一个错误的位置
答案 0 :(得分:0)
好的,但是你需要掌握你的方向。 为此你需要三件事 -
如果你有这三件事,那你就是这样做的 -
private LatLng getDestinationPoint (LatLng source,double brng, double dist){
dist = dist / 6371;
brng = Math.toRadians(brng);
double lat1 = Math.toRadians(source.latitude), lon1 = Math.toRadians(source.longitude);
double lat2 = Math.asin(Math.sin(lat1) * Math.cos(dist) +
Math.cos(lat1) * Math.sin(dist) * Math.cos(brng));
double lon2 = lon1 + Math.atan2(Math.sin(brng) * Math.sin(dist) *
Math.cos(lat1),
Math.cos(dist) - Math.sin(lat1) *
Math.sin(lat2));
if (Double.isNaN(lat2) || Double.isNaN(lon2)) {
return null;
}
return new LatLng(Math.toDegrees(lat2), Math.toDegrees(lon2));
}
使用上面函数中的代码并将参数放到函数中,作为回报,您将获得目标latlng。
请告诉我这是否对您有所帮助。
谢谢