在一个对象中需要坐标

时间:2016-04-14 11:58:15

标签: java android google-maps coordinates

我必须从JSON解析坐标,并希望将两个值(lat,lng)保存在一个“对象”中。之后,我想在地图上的Google Maps Activity中显示前10个对象。

我的主要活动

List<JSONModels> jsonModelsList = new ArrayList<>();

            try {
                JSONObject jsonObject = new JSONObject(buffer.toString());
                JSONArray placemarks = jsonObject.getJSONArray("placemarks");

                for (int i = 0; i < placemarks.length(); i++) {
                    JSONObject jsonPart = placemarks.getJSONObject(i);
                    JSONModels jsonModels = new JSONModels();
                    jsonModels.setName(jsonPart.getString("name"));
                    jsonModels.setAddress(jsonPart.getString("address"));
                    jsonModels.setExterior(jsonPart.getString("exterior"));
                    jsonModels.setInterior(jsonPart.getString("interior"));
                    jsonModels.setFuel(jsonPart.getInt("fuel"));

                    for (int j = 0; j <= 10; j++) {
                        JSONObject marker = placemarks.getJSONObject(j);
                        JSONArray coordinates = marker.optJSONArray("coordinates");

                        double lat = coordinates.optDouble(0);
                        double lng = coordinates.optDouble(1);

                    }

                    jsonModelsList.add(jsonModels);

                }

            } catch (JSONException e) {
                e.printStackTrace();
            }
            return jsonModelsList;

1 个答案:

答案 0 :(得分:1)

Jade,我们有很多方法可以保存lat,但最简单的方法是创建一个标记对象列表,这样我们就可以轻松使用地图上的标记列表。

try {
   List<LatLng> LatlongList = new ArrayList<LatLng>();
        JSONObject jsonObject = new JSONObject(buffer.toString());
        JSONArray placemarks = jsonObject.getJSONArray("placemarks");

        for (int i = 0; i < placemarks.length(); i++) {
            JSONObject jsonPart = placemarks.getJSONObject(i);
            JSONModels jsonModels = new JSONModels();
            jsonModels.setName(jsonPart.getString("name"));
            jsonModels.setAddress(jsonPart.getString("address"));
            jsonModels.setExterior(jsonPart.getString("exterior"));
            jsonModels.setInterior(jsonPart.getString("interior"));
            jsonModels.setFuel(jsonPart.getInt("fuel"));

            for (int j = 0; j <= 10; j++) {
                JSONObject marker = placemarks.getJSONObject(j);
                JSONArray coordinates = marker.optJSONArray("coordinates");
                double lat = coordinates.optDouble(0);
                double lng = coordinates.optDouble(1);
    //add lat long object in list of LatlongList. 
        LatlongList.add(new LatLng(lat,lng));
            }
     } 
`       //LatlongList is the list where the all lat and longs a together.

    LatlongList.size();
    } catch (JSONException e) {
        e.printStackTrace();
    }
    return LatlongList;