【问题标题】:How to calculate distance between Current Location and Multiple Markers and return the nearest markers如何计算当前位置和多个标记之间的距离并返回最近的标记
【发布时间】:2013-10-01 12:05:18
【问题描述】:

我想知道如何计算放置在地图上的许多标记之间的距离,然后将最近的标记位置作为文本返回。现在假设我在地图上标记了 15 个位置。如果用户检查,应用程序应该检查每个标记的距离,然后它应该返回最近的标记。

【问题讨论】:

    标签: android gps location


    【解决方案1】:

    你可以通过这种方式找到坐标之间的距离

        Location locationA = new Location("point A");  
    
        locationA.setLatitude(location.getLatitude());  
        locationA.setLongitude(location.getLongitude());  
    
        Location locationB = new Location("point B");  
    
        locationB.setLatitude(lat2);  
        locationB.setLongitude(lng2);  
    
        distance = locationA.distanceTo(locationB);
    
        Log.v("log", "distance "+distance);
    

    然后检查哪个点的距离最短。

    编辑

    因此计算当前位置和每个标记之间的距离并将该距离保存在数组中,然后检查哪个索引具有短值,以便您可以识别哪个标记最接近当前位置

    【讨论】:

    • 这会让我知道 2 个位置之间的距离,但我想知道多个(比如 15 个)位置与我当前位置之间的距离并自动返回最近的位置。
    • 我认为您必须检查所有内容。你可以找到最短的线。
    • 但是我将如何检查每次有人使用我的应用程序。?
    • 实际上我的应用程序告诉用户哪个是最近的地铁站。对于地点,我有地铁站。我会在他们身上做标记。现在当用户检查时,它应该得到每个标记的距离和用户当前位置,从而告诉用户哪个是他最近的地铁站(距离最短的那个)。
    • 所以计算当前位置和每个标记之间的距离并将该距离保存在数组中,然后检查哪个索引具有短值,以便您可以识别哪个标记最接近当前位置..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-18
    • 2017-02-22
    • 2014-11-14
    • 1970-01-01
    • 2016-03-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多