किंडा इस
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:
रयान एक अच्छा सुझाव दिया की तरह सेट किया किनारों (धन्यवाद रयान!)
double fitFactor = 1.5;
mapController.zoomToSpan((int) (Math.abs(maxLat - minLat) * fitFactor), (int)(Math.abs(maxLon - minLon) * fitFactor));
उत्कृष्ट! केंद्र के लिए एक वर्ग और ज़ूम करें –
धन्यवाद .. काम कर रहा है .. – Shaiful
मैं इसे दो भूगर्भ, मेरे स्थान और रुचि के बिंदु के लिए उपयोग करता हूं, और मैंने देखा कि कभी-कभी ओवरले स्क्रीन के किनारे के बहुत पास होते हैं। इसे ठीक करने के लिए मैंने 'डबल fitFactor = 1.5'' को mapController.zoomToSpan ((int) Math.abs (maxLat - minLat) * fitFactor), (int) (Math.abs (maxLon - minLon) * fitFactor) में जोड़ा; 'जो एक अच्छा पैडिंग जोड़ता है। –