【问题标题】:Google Maps API - Update current location on map based on distance travelledGoogle Maps API - 根据行进距离更新地图上的当前位置
【发布时间】:2016-03-04 11:37:34
【问题描述】:

假设我在谷歌地图 API 上设置了一条从 A 点到 B 点的步行路线。 我从 A 点开始(呃)。给定步行距离,我如何或是否可以更新地图上的当前位置? (我离 Google fit SDK 越来越远了)。

例子:

从A点到B点是1.5Km(谷歌地图上标明的路线)

我已经跑了 450m

如何据此更新地图当前位置?

PS:我无法使用 GPS,因为我正在制作的应用程序没有显示您当前的真实位置。这是一个错误的位置

【问题讨论】:

    标签: android google-maps google-maps-api-3


    【解决方案1】:

    好的,这是可能的,但您需要掌握自己的方向。 为此,您需要三样东西 -

    1. 承载您从源头到目的地的运动。
    2. 来源 latlong。
    3. 行进的距离。

    如果你有这三样东西,那么你就是这样做的-

    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 。

    如果对你有帮助,请告诉我。

    谢谢

    【讨论】:

    • 如果我有机芯轴承就完美了。不幸的是我没有。我唯一拥有的值是行驶距离和谷歌地图 api 为路线制定提供的所有数据(包括源和目的地 latlong)。这个想法是在地图上精确定位一个标记,该标记会随着行驶的距离而相应更新。该标记必须遵循设置的路线。不过感谢您的解决方案。
    • 那么你怎么知道你要去哪个方向??这不仅仅是1.5公里的旅行。西南一定有 1.5 公里之类的地方。
    • 想法是用谷歌地图制作路线。它会从 A 点到 B 点形成一条“线”。我想沿着那条线走
    • 所以告诉我从哪里得到这两个位置 A 和 B。你从哪里得到所有其他数据。并尽可能具体。告诉我函数名称......如果可能的话,告诉我大小写。
    • 我还不能给你任何功能,因为我的问题是要知道是否可以使用 google maps api 来实现,或者我是否必须在其他地方实现大大地。但我会尽量详细一点:该应用程序将生成一条从巴塞罗那到马德里的步行路线(您不需要做任何事情,这一切都是由应用程序生成的)。我正在使用 google fit sdk 来注册距离(使用步数和高度来估计,没有 GPS)。目标是使标记沿路线移动,并根据记录的距离进行相应的移动
    猜你喜欢
    • 1970-01-01
    • 2012-01-14
    • 1970-01-01
    • 2012-11-12
    • 2011-01-28
    • 2015-01-26
    • 2013-06-27
    • 2013-04-13
    • 1970-01-01
    相关资源
    最近更新 更多