使用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.java的onCreate()中
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。
因为您对这方面还很陌生,所以请采取一些小步骤。