【问题标题】:Find Nearest location from your current location & display that locations in list view & then on Maps从您当前的位置查找最近的位置并在列表视图中显示该位置,然后在地图上
【发布时间】:2011-11-04 04:44:41
【问题描述】:

我正在开发一个应用程序,其中我有地点数据库作为字符串形式的地址。使用地理编码器我得到相同的纬度/经度。我也完成了我当前的位置。现在,我希望从当前位置靠近我的数据库中的 4-5 个位置。关于这一点的另一件事是,首先我希望在 ListView 中显示最近的 4-5 个位置的地址,如果您单击其中任何一个,它将显示您当前位置到目的地的距离及其路径的地图。

我从已经开发的应用程序中得到了这个应用程序的想法,该应用程序在 android 市场上被称为“Places”。

请帮我解决这个问题,我非常接近我的应用程序,但遇到了一些小问题。

谢谢你 可乐

【问题讨论】:

    标签: android google-maps location-based-service


    【解决方案1】:

    使用Location.distanceTo() 获取与当前位置和数据库中所有位置的距离列表。

    对结果进行排序,选择与当前位置距离最小的前 5 个。获取地址并将此列表以字符串数组的形式传递给新的列表活动

    因为我想做的是我从 distance.To() 获得的 5best 最近的位置

    获得这些位置后,您可以将其以格式的字符串发送

    String topFive = "lat1,lon1 lat2,lon2 lat3,lon3 ..."

    Intent intent = new Intent(getBaseContext(), YourListActivity.class);
    intent.putExtra("TOP_FIVE_LOCATIONS", topFive );
    startActivity(intent)
    

    YourListActivity.javaonCreate()

    String topFive = getIntent().getStringExtra("TOP_FIVE_LOCATIONS");
    

    现在使用String.split(" ") 拆分此字符串,您将拥有一个字符串 [] 位置。再次用 "," 拆分,并使用 Double.parseDouble() 解析经纬度

    你接下来要了解ListViews,我会direct you to a tutorial for this.

    一旦您创建了ListView,以在适配器中设置纬度、经度数据,ListView 将呈现此适配器中的数据。

    将在列表中以格式正确显示的方法,如果您单击列表

    使用setOnItemClickListener() 获取项目点击事件 您像以前一样使用字符串坐标启动下一个活动。这是一个地图视图。

    然后它将显示所选项目的地图以及从您当前位置到所选项目的距离以及路径。

    在 MapView 上查看 this to learn how to draw a line

    因为您对这方面还很陌生,所以请采取一些小步骤。

    【讨论】:

    • 非常感谢您的快速回复。但是你对 Android 中的 ListView 有什么想法吗?因为我想做的是我从 distance.To() 方法中获得的 5best 最近位置,它将以格式正确的方式显示在列表中,如果您单击列表,那么它将显示该选定项目的地图和距离您当前的位置到所选的加上路径。如果您对此有任何想法,请帮助我。
    • 哦……非常感谢你的朋友。你给了我一切.. 是的,我一次只做一件事,然后以最佳优化的方式整合所有这些。顺便感谢您宝贵的时间和知识分享。
    • 没问题,在 StackOverflow 上,我们通过投票或接受答案来表示感谢。
    • 嗨,蝎子,你解决了吗?基本上我也在尝试这样做。
    • 雷诺,我们可以发邮件或聊天吗?我正在为一个玻璃应用程序做这个。我需要排序并获得前 5 个位置,然后在地图上画线并为玻璃时间线制作 5 张卡片。
    猜你喜欢
    • 2022-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-09
    • 2015-12-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多