Necesito que el usuario seleccione la ubicación de un evento.
Ahora, lo que ya funciona es abrir los mapas nativos (al menos en Android): puedo abrir los mapas nativos a través { Linking } from "react-native"; geo:24.669026,24.699024?z=6
Sin embargo, ¿qué no puedo encontrar cómo hacer que los mapas nativos soliciten al usuario que establezca alguna ubicación y después de algún tipo de confirmación?
Me imaginé algo como return_url con algún tipo de vínculo de retroceso a mi aplicación.
¿O esto SÓLO es posible mediante la incorporación de mapas y el uso de la API de Google Maps?
(Estoy tratando de evitar la facturación, ya que todo lo que quiero hacer es ayudar al usuario a encontrar las coordenadas y devolverlas a la aplicación, la aplicación no usa las coordenadas para hacer nada más que enviar al usuario para que las muestre en sus mapas nativos )
entonces, si lo entendí correctamente, desea mostrar la ubicación actual del usuario en el mapa sin pagarle a ningún tercero, si ese es el caso, debe hacer lo siguiente.
1. Obtenga la latitud y longitud del usuario.
Puede seguir el siguiente artículo para obtener la latitud y longitud del usuario.
2. Muestra esas latitudes y longitudes en el mapa usando algún marcador.
Entonces, en este paso, usaremos react-native-maps y OpenStreetMap .
Nota: No cambie urlTemplate en UrlTile
Aquí está la referencia para el mosaico de mapa personalizado de react-native-maps
https://github.com/react-native-maps/react-native-maps#tile-overlay-using-tile-server
import MapView, { UrlTile, Marker } from "react-native-maps"; const { width, height } = props; const ASPECT_RATIO = width / height; const LATITUDE_DELTA = 8; //Very high zoom level const LONGITUDE_DELTA = LATITUDE_DELTA * ASPECT_RATIO; const userCoords={{ latitude: number, longitude: number }}; <MapView initialRegion={{ latitude: 51.1657, longitude: 10.4515, latitudeDelta: LATITUDE_DELTA, longitudeDelta: LONGITUDE_DELTA, }} loadingEnabled minZoomLevel={3} maxZoomLevel={10} showsIndoors={false} showsTraffic={false} showsBuildings={false} showsScale={true} > <UrlTile /** * The url template of the tile server. The patterns {x} {y} {z} will be replaced at runtime * For example, http://c.tile.openstreetmap.org/{z}/{x}/{y}.png */ urlTemplate={"http://c.tile.openstreetmap.org/{z}/{x}/{y}.png"} /** * The maximum zoom level for this tile overlay. Corresponds to the maximumZ setting in * MKTileOverlay. iOS only. */ maximumZ={10} /** * flipY allows tiles with inverted y coordinates (origin at bottom left of map) * to be used. Its default value is false. */ flipY={false} /> <Marker coordinate={userCoords}> /** * Your custom marker here */ </Marker> </MapView>;Actualmente no puede hacer eso con react-native , debe agregar su propio mapa. Puedes usar mapas nativos de reacción