¿Cómo calcular un radio alrededor de un punto en un MapView de Android?
Tengo un MapView que estoy mostrando un "radio útil" (piense la exactitud de la coordenada) MapView
. Usando la proyección de MapView 's metrosToEquatorPixels , que es reconocido sólo por la distancia ecuatorial) no me está dando una distancia suficientemente precisa (en Píxeles). ¿Cómo calcularías esto si quisieras mostrar un círculo alrededor de tu coordenada, dado el radio?
- ¿Cómo obtener datos GPS desde un teléfono Android?
- ¿Cuándo se usa la triangulación de torre celular?
- Cómo obtener la ubicación de gps android
- Android Location Manager, Obtener ubicación GPS, si no hay GPS, luego llegar a la ubicación del proveedor de red
- Reemplazar proveedor de señales GPS predeterminado en dispositivos Android
- ¿Cómo eliminar las actualizaciones de ubicación en la clase de servicio en android?
- Obtener la ubicación actual rápida y una vez en android
- Algoritmo / teoría para la eliminación de la fluctuación de posición GPS
- Cómo crear mapas que detectan la ubicación automática en React-Native
- ¿Cómo encontrar si un punto GPS se encuentra en un conjunto determinado de inicio y fin ubicación GPS?
- ¿Cómo activar / desactivar los gps y los datos móviles en android mediante programación?
- Comprobación de si el GPS está habilitado en android
- Compruebe si una ubicación GPS está dentro de un cierto radio de otra ubicación GPS en android
Por lo tanto, Google Maps utiliza una proyección de Mercator . Esto significa que cuanto más se obtiene del ecuador, más distorsionadas se hacen las distancias. Según esta discusión , la manera apropiada de convertir para las distancias es algo como:
public static int metersToRadius(float meters, MapView map, double latitude) { return (int) (map.getProjection().metersToEquatorPixels(meters) * (1/ Math.cos(Math.toRadians(latitude)))); }
mMap.addCircle( new CircleOptions().center( new LatLng( bounds.getCenter().latitude, bounds.getCenter().longitude ) ) .radius(50000) .strokeWidth(0f) .fillColor(0x550000FF) );
projection.toPixels(GeoP, pt); float radius = projection.metersToEquatorPixels(50);
Prueba esto y ver … lo usé en mi MapRadius y parece estar funcionando
- Deslice la actividad
- Android – Carousel como widget que muestra una parte de los elementos izquierdo y derecho