使用Location.distanceTo()获取与当前位置和数据库中所有位置的距离列表。
对结果进行排序,选择与当前位置距离最小的前 5 个。获取地址并将此列表以字符串数组的形式传递给新的列表活动
因为我想做的是我从 distance.To() 获得的 5best 最近的位置
获得这些位置后,您可以将其以格式的字符串发送
字符串 topFive = "lat1,lon1 lat2,lon2 lat3,lon3 ..."
Intent intent = new Intent(getBaseContext(), YourListActivity.class);
intent.putExtra("TOP_FIVE_LOCATIONS", topFive );
startActivity(intent)
在onCreate()
中YourListActivity.java
String topFive = getIntent().getStringExtra("TOP_FIVE_LOCATIONS");
现在使用拆分此字符串String.split(" ")
,您将拥有一个字符串 [] 位置。再次用“,”分割并使用解析纬度,经度Double.parseDouble()
接下来你需要了解ListView
s,我将指导你看一个教程。
一旦您创建了ListView
, 以在适配器中设置纬度、经度数据,ListView
将在此适配器中呈现数据。
如果您单击列表,将以格式正确的方式显示在列表中的方法
使用setOnItemClickListener()
获取项目点击事件 您使用字符串坐标启动下一个活动,就像以前一样。这是一个地图视图。
然后它将显示该选定项目的地图以及从您当前位置到该选定项目的距离以及路径。
请参阅此内容以了解如何在 MapView 上画线。
采取婴儿步骤,因为您对此很陌生。