Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

get boundaries longitude and latitude from current zoom google maps

i need to know long and lat of my four corners of current area as in this image

enter image description here

i have tried this but with no luck :

map.getBounds(); 

any help ?

like image 990
Samy Massoud Avatar asked Aug 02 '11 10:08

Samy Massoud


People also ask

How do you get bounds on Google Maps?

getBounds() in Google Maps API v3 But in API v3 you will get “bounds is undefined” error. So to get our latitude and longitude we need to move getBounds(), to some event listener. Description of bounds_changed in documentation is: “This event is fired when the viewport bounds have changed.”

Can Google Maps show lines of latitude and longitude?

To find a location on Google Maps by latitude and longitude, just enter the coordinates in the search box. You can find a location's latitude and longitude on a computer using a right-click; on a mobile device, tap and hold to drop a pin.


2 Answers

You are half way there. All you need to do is to get the map bounds and then extract (and properly use) the coordinates of the corners.

var bounds = map.getBounds(); var ne = bounds.getNorthEast(); // LatLng of the north-east corner var sw = bounds.getSouthWest(); // LatLng of the south-west corder 

You get north-west and south-east corners from the two above:

var nw = new google.maps.LatLng(ne.lat(), sw.lng()); var se = new google.maps.LatLng(sw.lat(), ne.lng()); 

Just keep in mind that the map has to be already initialized, otherwise the map bounds are null or undefined.

If you want to be updated about every change of the viewport, use idle event listener:

google.maps.event.addListener(map, 'idle', function(ev){     // update the coordinates here }); 
like image 112
Tomik Avatar answered Sep 22 '22 23:09

Tomik


In Android, you can find out corner LatLng (northeast, southwest) by this way, in the map, every time the camera listen(means gesture detect) they are called,

private var mapView: GoogleMap? = null 

............

    mapView?.setOnCameraMoveStartedListener { reasonCode ->         if (reasonCode == GoogleMap.OnCameraMoveStartedListener.REASON_GESTURE) {             val screenView: LatLngBounds =  mapView.getProjection().getVisibleRegion().latLngBounds             var northeast=screenView.northeast             var southwest=screenView.southwest             var center=screenView.center                                       Log.v("northeast LatLng","-:"+northeast)// LatLng of the north-east Screen             Log.v("southwest LatLng","-:"+southwest)// LatLng of the south-west Screen             Log.v("center LatLng","-:"+center)// LatLng of the center Screen         }     } 
like image 22
shirsh shukla Avatar answered Sep 25 '22 23:09

shirsh shukla