사용자 화면 위치에 따라 서버에서 마커를 동적으로로드하는 Google지도가있는 Android지도가 있습니다. 그래서 예를 들어 사용자가 맵을 움직이면 간단히 서버에 요청을하고 스크린 경계를 보내고 마커 데이터 (id와 corrdinates)를 얻습니다.이 마커 데이터는 나중에 구문 분석되어 실제 포인터로 생성됩니다. 문제는 사용자가 동일한 영역 (이전에 만든 마커)으로 돌아갈 때 동일한 요청을하고 동일한 데이터를 가져 오는 것입니다 (그러나 분명히 마커를 다시 만들도록하지 않으므로 루프 마침내 모든 마커를 실행합니다.) 지도하고지도 마커의 ID가 동일한 서버에서 데이터 표식 ID를 전송되어 있는지 확인하고 동일한 경우 나는이 방법이 최고라고 생각하지 않는다 그러나 나는 단지) Android 마커를 동적으로로드하는 것이 가장 좋습니다
try {
Collection<MarkerItemData> mapMarkers = algorithm.getItems();
JSONObject jsonObject = new JSONObject(strings[0]);
JSONArray respondArray = jsonObject.getJSONArray("respond");
list = new ArrayList();
for (int i = 0; i < respondArray.length(); i++) {
JSONObject station = respondArray.getJSONObject(i);
int id = station.getInt("_id");
boolean skip = false;
for (final MarkerItemData m : mapMarkers) {
if (m.getId() == id) {
skip = true;
break;
}
}
}
}
을 루프를 휴식. 또한
- 서버 화면 경계에 보내고 또한 화면에 보이는 모든 마커 아이디의이 (내가하는 식별자 화면 범위에있는 모든 마커를 선택할 수 있습니다 (적어도 내가 생각하는) 작업을해야 다른 아이디어를 가지고
- 때마다 안드로이드 응용 프로그램에서 마커를 삭제하고 기본적으로) 개인적으로 나는이 나쁜 솔루션입니다 생각 (서버에서
을 할 때마다 모든 마커를 다시 그래서 그 아이디어 중 어느 것이 최고입니다) 화면 경계 내에없는 ? 다른 아이디어? (내 영어로는 유감입니다)
지도를 이동할 때마다 마커의 위치를 알아야합니까? 처음부터 모든 것을 다운로드하고 마커를 보여줄 수는 없습니까? –
@WaqasAhmedAnsari가 모든 마커를 선행하게하는 것은 총 마커 수가 서버에서 거대 할 때 비효율적입니다. – BhalchandraSW