배열이 3 개인 JSON이 있습니다. 그래서 RetrieveJSON()을 검색 할 때 단순히 속성을 Event 객체로 설정합니다. 다른 액티비티에서 plotEventOnMap()을 호출하면 맵에 3 개의 마커가 표시됩니다.루프 배열에서 플롯 마커
public void retrieveEventJSON() throws JSONException {
String page;
JSONArray jsonArray;
try {
// Code to retrieve data from servlet
try {
JSONObject jsonObject = new JSONObject(page);
jsonArray = jsonObject.getJSONArray("Events");
int length = jsonArray.length();
for (int i = 0; i < length; i++) {
JSONObject attribute = jsonArray.getJSONObject(i);
String eventID = attribute.getString("eventID");
String eventName = attribute.getString("eventName");
String eventDesc = attribute.getString("eventDesc");
String eventDate = attribute.getString("eventDate");
eventModel.setEventID(eventID);
eventModel.setEventName(eventName);
eventModel.setEventDesc(eventDesc);
eventModel.setEventDate(eventDate);
}
} catch (JSONException e) {
e.printStackTrace();
}
} catch (IOException e) {
e.printStackTrace();
}
}
public void plotEventOnMap(Context context) {
graphicIcon = new PictureMarkerSymbol(res);
Point p = new Point(Double.parseDouble(eventModel.getEventX()),
Double.parseDouble(eventModel.getEventY()));
Symbol symbol = graphicIcon;
HashMap<String, Object> attrMap = new HashMap<String, Object>();
attrMap.put("eventName", eventModel.getEventName());
attrMap.put("eventBy", eventModel.getEventBy());
ENeighbourhoodActivity.graphicsLayer.addGraphic(new Graphic(p, symbol,
attrMap));
}
그러나이 코드를 사용하면 루프 대신 각 JSON 레코드의 마지막 행을 표시하고 각각을 플롯 할 수 있습니다. 어떤 가이드?
미리 감사드립니다.
eventModel은 어떻게 정의되어 있습니까? 나는이 객체의 인스턴스가 하나 뿐이므로 json 배열의 마지막 객체가 이기고 그것이 마지막 행을 표시하는 이유라고 생각합니다. – BlueLettuce16