Sobre este proyecto
it-programming / mobile-development
Abierto
Necesitamos un desarrollador experto para corregir y mejorar la funcionalidad de búsqueda de direcciones en nuestra aplicación móvil, similar a Uber o InDriver. Actualmente, el buscador basado en OpenStreetMap (Nominatim) no ofrece resultados precisos en Temuco, lo que genera una mala experiencia de usuario. Proponemos una estrategia híbrida para optimizar costos y mejorar la precisión.
El proyecto implica los siguientes pasos:
1. Reemplazar el buscador actual de OpenStreetMap con Google Places API (Autocomplete) exclusivamente para la funcionalidad de búsqueda de origen y destino. Esto asegurará que todas las direcciones y locales se encuentren correctamente utilizando la base de datos de Google.
2. Implementar "Session Tokens" y "Debounce" en la configuración de la API de Google Places. Esta configuración es crucial para agrupar las solicitudes de búsqueda y asegurar que el uso de la api se mantenga dentro del crédito gratuito mensual de $200 usd proporcionado por google, evitando costos adicionales.
3. Extraer únicamente la latitud y longitud de la dirección seleccionada por el usuario a través de la API de Google Places. La interacción con Google Places API finalizará en este punto.
4. Mantener OpenStreetMap para la visualización del mapa y el cálculo de rutas. Las coordenadas obtenidas de Google Places se utilizarán para dibujar los puntos de origen y destino sobre el mapa actual de OpenStreetMap (utilizando librerías como Flutter Map, React Native Maps o Leaflet, según la tecnología de la app). El cálculo de la ruta se realizará de forma gratuita utilizando servicios como OSRM o Valhalla.
El objetivo es lograr un buscador premium con la precisión de Google, operando dentro del límite gratuito, mientras se mantienen los mapas de fondo y las rutas 100% gratuitas con OpenStreetMap.
Categoría Programación y Tecnología
Subcategoría Programación de Apps. Android, iOS y otros
¿Cuál es el alcance del proyecto? Bug o cambio pequeño
Plazo de Entrega: No definido
Habilidades necesarias