2010-08-08 6 views

답변

1

itemized overlay을 사용하십시오.

참고 : 일반적으로 많은 포인트 (수백 개 이상)의 경우 매우 느립니다. 큰 목록은지도의 현재 표시된 부분 안에 점만 표시하는 등의 다른 최적화가 필요합니다. 그러나 짧은 목록의 경우 잘 작동합니다.

+0

이것은 말하기가 약간 어렵지만 이것은 아마도 파일 팬이 찾고 있었던 것입니다. – SilithCrowe

3
private void fitPoints(List<GeoPoint> points) { 
    // set min and max for two points 
    int nwLat = -90 * 1000000; 
    int nwLng = 180 * 1000000; 
    int seLat = 90 * 1000000; 
    int seLng = -180 * 1000000; 
    // find bounding lats and lngs 
    for (GeoPoint point : points) { 
     nwLat = Math.max(nwLat, point.getLatitudeE6()); 
     nwLng = Math.min(nwLng, point.getLongitudeE6()); 
     seLat = Math.min(seLat, point.getLatitudeE6()); 
     seLng = Math.max(seLng, point.getLongitudeE6()); 
    } 
    GeoPoint center = new GeoPoint((nwLat + seLat)/2, (nwLng + seLng)/2); 
    // add padding in each direction 
    int spanLatDelta = (int) (Math.abs(nwLat - seLat) * 1.1); 
    int spanLngDelta = (int) (Math.abs(seLng - nwLng) * 1.1); 

    // fit map to points 
    mapController.animateTo(center); 
    mapController.zoomToSpan(spanLatDelta, spanLngDelta); 
} 
관련 문제