我有以下字符串,我从hashmap获得但是如何从下面获取lat和lng:
[lat/lng: (70.0187, -141.0205), lat/lng: (70.4515,-144.8163), lat/lng: (70.4515,-144.8163), lat/lng: (70.4515,-144.8163), lat/lng: (70.4515,-144.8163), lat/lng: (70.4515,-144.8163), lat/lng: (70.4515,-144.8163), lat/lng: (70.4515,-144.8163), lat/lng: (70.4515,-144.8163)]
我到达这里的整个代码和流程:
LatLng allLatLng= new LatLng((lat1),(long1));
all.add(allLatLng);
map.put("latlng" , all.toString());
第二个树形图:
Collections.sort(list, new Comparator<Map<String, String>>() {
@Override
public int compare(Map<String, String> o1, Map<String, String> o2) {
String value1 = o1.get("amount");
String value2 = o2.get("amount");
return Integer.parseInt(value1)-Integer.parseInt(value2);
}
});
for (Map<String, String> map1 : list) {
String id = map1.get("id");
String amount = map1.get("amount");
System.out.println("amount= "+amount + " , " +"id = "+id);
String idlatlng = map1.get("latlng");
}
在上面的代码中,我得到了latlng的值。
String idlatlng = map1.get("latlng");
答案 0 :(得分:1)
您要将所有lat lang值添加到单个键中,您可能希望更改将值添加到hashmap的方式..
我只举一个简单的例子
LatLng LatLng1= new LatLng((lat1),(long1));
l1.add(LatLng2);
map.put("latlng1" , l1.toString());
LatLng LatLng2= new LatLng((lat2),(long2));
l2.add(LatLng2);
map.put("latlng2" , l2.toString());
// then map.get("latlang1") will give you lat/lng: (70.0187, -141.0205)
String result = map.get("latlang1")//so result will have lat/lng: (70.0187, -141.0205)
String latlang[]=result.split(":");//will split by the :
//so latlang[1] will be (70.0187, -141.0205)
latlang[1].replaceAll("(", "");
latlang[1].replaceAll("", ")");
//above lines remove brackets
//finally split again by "," to get you lat and long
答案 1 :(得分:1)
您可以使用:
Map<String, Object> map = new HashMap<String, Object>();
map.put("latlng" , all);
然后:
Collections.sort(list, new Comparator<Map<String, Object>>() {
@Override
public int compare(Map<String, Object> o1, Map<String, Object> o2) {
String value1 = (String) o1.get("amount");
String value2 = (String) o2.get("amount");
return Integer.parseInt(value1)-Integer.parseInt(value2);
}
});
for (Map<String, Object> map1 : list) {
String id = (String) map1.get("id");
String amount = (String) map1.get("amount");
System.out.println("amount= "+amount + " , " +"id = "+id);
List<LatLng> idlatlng = (List<LatLng>) map1.get("latlng");
}
答案 2 :(得分:0)
现在你在地图上放了两个字符串。您需要做的是将LatLng放在地图中,如下所示:
Map<String, LatLng>;
然后从LatLng类中获取纬度和经度的值。