private MapView map;
private AMap aMap;
private UiSettings uiSettings;
private CameraUpdate mUpdate;
private ArrayList<MapInfo> list,lists,jlist; //途经点集合
private ArrayList<LatLonPoint> list1;
private DriveRouteResult driveRouteResult;// 驾车模式查询结果
private int drivingMode = RouteSearch.DrivingDefault;// 驾车默认模式
private RouteSearch routeSearch;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_map);
map = (MapView)findViewById(R.id.map);
map.onCreate(savedInstanceState);
//(模拟数据)得到途经点集合
list.add(new MapInfo("4", 39.8530620000, 116.3747240000, "鸿运水果烟酒超市", "详细地址详细地址5555"));
list.add(new MapInfo("6", 39.8516080000, 116.3734790000, "世纪华联超市", "详细地址详细地址7777"));
list.add(new MapInfo("10",39.844693, 116.369901, "鲜花婚庆水果", "详细地址详细地址1010"));
list.add(new MapInfo("12",39.84237, 116.381086, "街角蛋糕", "详细地址详细地址66666"));
list.add(new MapInfo("16",39.854152, 116.415689, "北京同仁堂第二中医院", "详细地址详细地址222"));
list.add(new MapInfo("17",39.860975, 116.412025, "北京市益华食品厂", "详细地址详细地址3333"));
initdata();//根据途经点到起点的距离进行排序
//得到途经点坐标
for (int i=0;i<list.size();i++){
list1.add(new LatLonPoint(list.get(i).getLat(),list.get(i).getLng()));
}
//InfoWindow 和 Marker 监听 以及线路规划监听
aMap.setOnMarkerClickListener(this);
routeSearch = new RouteSearch(this);
routeSearch.setRouteSearchListener(this);
final RouteSearch.FromAndTo fromAndTo = new RouteSearch.FromAndTo(new LatLonPoint(39.854648,116.367852), new LatLonPoint(39.833673,116.387424)); //设置起点和终点
routeSearch.calculateDriveRouteAsyn(query);// 异步路径规划驾车模式查询
}
/**
* 根据途经点到起点的距离进行排序
*/
public void initdata(){
jlist=new ArrayList<>();
for (int i=0;i<list.size();i++){
MapInfo mapInfo=new MapInfo();
float[] results=new float[1];Location.distanceBetween(39.854648, 116.367852, list.get(i).getLat(), list.get(i).getLng(), results);
mapInfo.setJuli(results[0]);
mapInfo.setUid(list.get(i).getUid());jlist.add(mapInfo);
}
double temp;String str;
for(int i = jlist.size() - 1; i >= 0; i --) {
for (int j = 0; j < i; j+