I am trying to set zoom level for Maps in android such that it includes all the points in my list. I am using following code.
int minLatitude = Integer.MAX_VALUE;
int maxLatitude = Integer.MIN_VALUE;
int minLongitude = Integer.MAX_VALUE;
int maxLongitude = Integer.MIN_VALUE;
// Find the boundaries of the item set
// item contains a list of GeoPoints
for (GeoPoint item : items) {
int lat = item.getLatitudeE6();
int lon = item.getLongitudeE6();
maxLatitude = Math.max(lat, maxLatitude);
minLatitude = Math.min(lat, minLatitude);
maxLongitude = Math.max(lon, maxLongitude);
minLongitude = Math.min(lon, minLongitude);
}
objMapController.zoomToSpan(
Math.abs(maxLatitude - minLatitude),
Math.abs(maxLongitude - minLongitude));
this works sometimes. However sometimes some points are not shown and I need to then Zoom Out to view those points. Is there any way to solve this problem?
Zoom in the map Double tap a spot on the map, and then: Drag down to zoom in. Drag up to zoom out.
Setting up the minimum or maximum Zoom value for Google Maps can be done by adding the shortcode attribute with Store Locator Shortcode. Furthermore, the maximum value of Google Maps Zoom level is 22. Therefore, the defined maximum value must be below or equal to 22, which is the default.
The transition() and moveMarker() are used to move marker smoothly on click on the Google map.
Yet another approach with Android Map API v2:
private void fixZoom() {
List<LatLng> points = route.getPoints(); // route is instance of PolylineOptions
LatLngBounds.Builder bc = new LatLngBounds.Builder();
for (LatLng item : points) {
bc.include(item);
}
map.moveCamera(CameraUpdateFactory.newLatLngBounds(bc.build(), 50));
}
I found out the answer myself, the Zoom level was correct. I need to add following code to display all points on screen.
objMapController.animateTo(new GeoPoint(
(maxLatitude + minLatitude)/2,
(maxLongitude + minLongitude)/2 ));
The center point was not propery aligned creating problem for me. This works.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With