9 Mart 2011, ÇARŞAMBA
-Ayar otomatik olarak tüm İtemizedOverlay kadar zoom'un Android MapView görünür
sabit kodlama setZoom() içinde onCreate() hissediyor çok çağdışı istiyorum geliştirmek kullanıcı deneyimi başta olmak MapView set zoom kadar tüm GeoPoints / Overlayİtems görünür haritada.
Nasıl bu otomatik sihirli yapılabilir mi?
CEVAP
9 Mart 2011, ÇARŞAMBA
Bu gibi biraz
int minLat = Integer.MAX_VALUE;
int maxLat = Integer.MIN_VALUE;
int minLon = Integer.MAX_VALUE;
int maxLon = Integer.MIN_VALUE;
for (GeoPoint item : items)
{
int lat = item.getLatitudeE6();
int lon = item.getLongitudeE6();
maxLat = Math.max(lat, maxLat);
minLat = Math.min(lat, minLat);
maxLon = Math.max(lon, maxLon);
minLon = Math.min(lon, minLon);
}
mapController.zoomToSpan(Math.abs(maxLat - minLat), Math.abs(maxLon - minLon));
mapController.animateTo(new GeoPoint( (maxLat minLat)/2,
(maxLon minLon)/2 ));
edit: Ryan güzel bir öneri verdi : nokta bazı kenarlarında (teşekkürler Ryan!) yalan söyleme böylece bir dolgu koymak için
double fitFactor = 1.5;
mapController.zoomToSpan((int) (Math.abs(maxLat - minLat) * fitFactor), (int)(Math.abs(maxLon - minLon) * fitFactor));
Bunu PaylaÅŸ:

Android: odak bir EditText üzerinde yu...
Yükleme dosyaları otomatik olarak Xml ...
Android: TextView otomatik olarak ve D...
Nasıl otomatik olarak Android Studio a...
Softkeyboard görünür olduğunda, Tam Ek...