如何将json解析到android中,将用户位置与最近的10个位置进行比较?
Im获取存储位置的服务器响应,它基本上是一个带有字典的主数组: [主阵列: {name=main, 纬度=15.948 长=88.853 }, {name=5街, 纬度=15.294 长=88.743 }, {name=戛纳大道, lat=15.235 长=88.765 }, ] 我需要遍历每个商店,获取lat/long,将其与用户位置进行比较,创建一个新阵列,其中只包含前5个最近的位置 到目前为止,我已经做到了: 试一试{ //获取位置的主数组 JSONArray JSONArray=新的JSONArray(Arrays.asList(contentAsString))如何将json解析到android中,将用户位置与最近的10个位置进行比较?,android,arrays,location,Android,Arrays,Location,Im获取存储位置的服务器响应,它基本上是一个带有字典的主数组: [主阵列: {name=main, 纬度=15.948 长=88.853 }, {name=5街, 纬度=15.294 长=88.743 }, {name=戛纳大道, lat=15.235 长=88.765 }, ] 我需要遍历每个商店,获取lat/long,将其与用户位置进行比较,创建一个新阵列,其中只包含前5个最近的位置 到目前为止,我已经做到了: 试一试{ //获取位置的主数组 JSONArray JSONArray=新的JS
任何帮助都将不胜感激。两个位置之间可以有两种距离,直线距离和路径。您想要哪一种?然后是可能的重复
//Loop through each dictionary in array
for (int i = 0; i < jsonArray.length; i++) {
//Get the lat&long for
JSONObject sys = jsonArray.getJSONObject("master");
name = sys.getString("name");
latitude = sys.getString("lat");
longitude = sys.getString("long");
//Create location object
//Send to Location.distanceTo() method
//Create new array with distance field added to the original values
}
//Sort and get nearest 5 locations
//Create cards for top 5 locations only
//better use Mirror API
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//Get distances
public float distanceTo (Location dest) {
//Compare distance passed to user location
//return distance float
return 1;
}