I'm trying to know if a given marker is inside a circle radius.
In javascript, i can do something like:
google.maps.geometry.spherical.computeDistanceBetween(latLngCircleCenter, latLngPoint);
But in android, using maps-v2, i'm stucked.
I'm trying to know if a given marker is inside a circle radius.
In javascript, i can do something like:
google.maps.geometry.spherical.computeDistanceBetween(latLngCircleCenter, latLngPoint);
But in android, using maps-v2, i'm stucked.
After a lot of research, i found a very simple solution:
float[] distance = new float[2];
Location.distanceBetween( marker.getPosition().latitude, marker.getPosition().longitude,
circle.getCenter().latitude, circle.getCenter().longitude, distance);
if( distance[0] > circle.getRadius() ){
Toast.makeText(getBaseContext(), "Outside", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(getBaseContext(), "Inside", Toast.LENGTH_LONG).show();
}
I'm testing this and it's working. Can someone test too and give the feedback here?
The same APIs you'd use in Javascript are available for Android here: https://github.com/googlemaps/android-maps-utils/blob/master/library/src/com/google/maps/android/SphericalUtil.java
I think its possible to find the Centre of the circle, you are defining the circle in your code with repect to a given geopoint. You can save it and use later. Then try Location.distanceBetween(..)
© 2022 - 2024 — McMap. All rights reserved.