I am using Google Maps v2 in my application. When the user pans or zooms on the screen I would like to get the area of the map based on which I want to fetch the POI only in the screen view part.
I went through the documentation but could not find any help.
To see it yourself, go to Google Maps and search for a city name or even a zip code. You will see a pinkish highlight around the border. Based on your zoom level, as you zoom out, Google will highlight the whole area, not just the borders, in the pink color.
Go to the Google Cloud Console. Click the Select a project button, then select the same project you set up for the Maps JavaScript API and click Open. From the list of APIs on the Dashboard, look for Geocoding API. If you see the API in the list, you're all set.
You need to use Projection
and VisibleRegion
classes in order to get visible LatLng region.
So your code would look something like:
LatLngBounds curScreen = googleMap.getProjection() .getVisibleRegion().latLngBounds;
In Android(Kotlin) you can find LatLng this way, in every time zoom or. gesture detect
private var mMap: GoogleMap? = null .......... mMap?.setOnCameraMoveStartedListener { reasonCode -> if (reasonCode == GoogleMap.OnCameraMoveStartedListener.REASON_GESTURE) { val curScreen: LatLngBounds = mMap!!.getProjection().getVisibleRegion().latLngBounds var northeast=curScreen.northeast var southwest=curScreen.southwest var center=curScreen.center Log.v("northeast LatLng","-:"+northeast) Log.v("southwest LatLng","-:"+southwest) Log.v("center LatLng","-:"+center) } }
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