2011-12-12 1 views
0

내 질문은, 안드로이드 프로그램의 Google지도에서 많은 마커를 설정하는 가장 좋은 방법은 무엇입니까? 모든 마커에 대한 경도와 위도가있는 sqlite 데이터베이스가 있습니다.Google지도 안드로이드 - 너무 많은 마커 설정

  1. 예를 들어
  2. 는 경도의 범위를 확인하고 그 범위 사이에서지도 표시 마커를 이동에 위도 현재 위치 주변 1km 모든 마커를 추가

내가 경도의 범위를 얻을 수있는 방법과 위도? 당신이 다음을 수행해야합니다 위의 의견을 바탕으로

+0

문제가 무엇인지에 대해 좀 더 명확하게 추가 할 수 있다면. 많은 표식을 그리는 방법과이를위한 가장 효율적인 방법을 묻는 중입니까? 지도의 모든 마커를 플로팅하는 대안을 요구하고 있습니까? –

+0

나는 버스 여행을위한 프로그램을 만들고있다. 나는 버스가 멈추는 위도와 경도가 약 600 포인트 인 데이터베이스를 가지고있다. GoogleMaps에서 모든 포인트를 플롯하려고합니다. 동시에 모든 마커를 플롯하면 애플리케이션이 매우 느려집니다. 가장 효율적인 방법으로 모든 마커를 그릴 방법을 묻습니다. 예를 들어 미국에 현재 위치하는 한 명의 사용자는 유럽의 마커에 대해 흥미롭지 않습니다. 내 첫 번째 아이디어는 현재 사용자 위치에서 약 1km 떨어진 모든 마커를 인쇄하여 사용자가지도에서 볼 수 없거나 유용하지 않은 마커를 그릴 수 없도록하는 것입니다. –

답변

0

:

1) 귀하의 포인트 중 하나가 결정된 지역 내에 있는지지도에서 보이는 영역을 결정하기 위해 Google Api maps reference for Android를 사용합니다.

2)지도에 추가했지만 더 이상 필요없는 점은 조심스럽게 제거하십시오. (IE 사용자가지도를 이동했습니다). 사용자가 포인트를 탭하고 앱을 다운시킬 수 있기 때문에지도가 업데이트되기 전에 포인트를 제거하지 않도록 조심하십시오.

3) 사용자가 마우스 오른쪽 축소하는 경우 다음 중 하나를 수행 할 필요가, 줌 레벨에 대해 무슨 일을하는지 결정합니다

가) 표시 아무것도 포인트에 대한 확대하기 위해 사용자 피드백을 제공을 . b) 알고리즘을 사용하여 점의 평균에 점을 그립니다. c) b와 같이 마커를 표시하지만 해당 영역의 점 개수가있는 영역의 중앙에 표시됩니다.

이전 질문에 대해서는 research on stack으로 많이 알려 드리겠습니다.이 주제는 세부적으로 다룹니다.

c)의 경우 현재 판매용 라이브러리 인 좋은 iOS 구현이 있었지만 라이브러리 이름이 지금 나를 도망칩니다. 구현이 우수하다고 들었습니다.

지도 작업이 비동기식으로 수행되는지, 경계하거나 많은 함정에 빠지게하는지 충분히 표현할 수는 없습니다.

+0

JavaScript 및 WebView를 사용하여 Google Maps API3을 사용하기로 결정했습니다. JavaScript (var bounds = map.getBounds();)를 사용하여 경계를 얻습니다. 나는 (var ne = bounds.getNorthEast();) 및 (var sw = bounds.getSouthWest();)보다 그리고 .lat() 및 .lng() 변수와 나는이 변수를 db 쿼리에 보내지 만, 그것의 작동하지 않습니다. 쿼리가 올바르게 있습니까? 커서 커서 = this.db.rawQuery ("SELECT * 마을에서 어디에서 town_lat> ="+ SwLat + "및 town_lat <="+ NeLat + "및 town_lon> ="+ SwLng + "AND town_lon <="+ NeLng, null); –