2010-11-24 14 views

Antwort

1

Die Antwort ist nicht, den Mittelpunkt zwischen einer Gruppe von Punkten zu finden und dann mapController.zoomToSpan (centrePoint) aufzurufen. Stattdessen gehen Sie wie folgt in Ihrem ItemizedOverlay:

public void calculateMapBounds() 
{  
    int minLat = Integer.MAX_VALUE; 
    int minLon = Integer.MAX_VALUE; 
    int maxLat = Integer.MIN_VALUE; 
    int maxLon = Integer.MIN_VALUE; 

    for (LocatorPosition position : mPositions) 
    { 
     minLat = Math.min(position.getLatitudeE6(), minLat); 
     minLon = Math.min(position.getLongitudeE6(), minLon); 
     maxLat = Math.max(position.getLatitudeE6(), maxLat); 
     maxLon = Math.max(position.getLongitudeE6(), maxLon); 
    } 

    spanLat = maxLat - minLat; 
    spanLon = maxLon - minLon; 

} 

Dann rufen mapController.zoomToSpan (spanLat, spanLon);