I drew a line between 2 geopoints. How do I set screen zoom by these 2 geopoints. What I want to do is to show start and finish points by default. Is there any algorithm for that?
Asked
Active
Viewed 192 times
1 Answers
1
here what I did :
private void centerMap() {
int minLat = Integer.MAX_VALUE;
int maxLat = Integer.MIN_VALUE;
int minLon = Integer.MAX_VALUE;
int maxLon = Integer.MIN_VALUE;
for (Point point : twoPoints) {
int lat = (int) (point.getLatitude() * 1E6);
int lon = (int) (point.getLongitude() * 1E6);
maxLat = Math.max(lat, maxLat);
minLat = Math.min(lat, minLat);
maxLon = Math.max(lon, maxLon);
minLon = Math.min(lon, minLon);
}
mc.zoomToSpan(Math.abs(maxLat - minLat), Math.abs(maxLon - minLon));
mc.animateTo(new GeoPoint((maxLat + minLat) / 2, (maxLon + minLon) / 2));
}
(Where mc is your MapController)

abecker
- 885
- 1
- 10
- 15
-
Beware that `(maxLat + minLat) / 2` can overflow. Use `maxLat - (maxLat - minLat) / 2` instead. The same applies to the longitude. – scai Jan 05 '17 at 17:22