【问题标题】:how to create list of location objects from Latlang array list in android?如何从 android 中的 Latlang 数组列表创建位置对象列表?
【发布时间】:2018-02-08 13:08:56
【问题描述】:
Location closestLocation; 
int smallestDistance = -1;

假设位置是一个 ArrayList()

   for(Location location : locations){
       int distance = Location.distanceBetween(closestLocation.getLatitude(),
                              closestLocation.getLongitude(),
                              location.getLatitude(),
                              location.getLongitude());
       if(smallestDistance == -1 || distance < smallestDistance){
           closestLocation = location;
           smallestDistance = distance;
       } }

但是如何从 latlng 列表中创建位置列表

【问题讨论】:

  • 创建具有两个属性的类。添加 getter、setter 和构造方法。然后从这个类创建一个List

标签: android google-maps location-services


【解决方案1】:

您需要创建一个LatLngs 的arrayList。然后在 forloop 中创建一个新的LatLng oject 并添加到 arrayList。以下是您的代码的外观:

ArrayList<LatLng> latLngArrayList = new ArrayList<>();

    for(Location location : locations){
        //create new latlng object
        LatLng newLatLng = new LatLng(location.getLatitude(), location.getLongitude());

        int distance = Location.distanceBetween(closestLocation.getLatitude(),
                closestLocation.getLongitude(),
                location.getLatitude(),
                location.getLongitude());
        if(smallestDistance == -1 || distance < smallestDistance){
            closestLocation = location;
            smallestDistance = distance;
        }

        //add new latlng to arraylist
        latLngArrayList.add(newLatLng);

【讨论】:

  • 感谢您回答 Ememobong AkpanEkpo....但我的实际问题是如何从 Arraylist 列表中创建 Arraylist(我已经有 latlng arraylist)..... .我的任务是从我当前位置的位置列表中确定最近的位置(大约 1 公里).....
猜你喜欢
  • 2013-05-28
  • 1970-01-01
  • 2021-11-05
  • 1970-01-01
  • 2017-06-26
  • 2021-03-02
  • 1970-01-01
  • 2016-09-30
  • 2019-05-16
相关资源
最近更新 更多