Search code examples
androidgoogle-mapszoomingmapactivity

How to set screen zoom by geopoints?


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?


Solution

  • 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)