geocoder-php / geocoder-php/Geocoder
Mapbox Provider prevents searching for countries
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- PHP
- Estrellas
- 4k
- Forks
- 525
- Merge medio
- 8 min
- PR fusionados (30 d)
- 1
Descripción
I'm using the Mapbox Provider in my API to fetch coordinates for given entities. These entities can be either:
- Countries
- Cities
- Districts
- Addresses
However, the current implementation of the mapbox provider prevents from returning anything that doesn't contain a context.
When I run this snippet and watch the console, I see that the query to Mapbox is correct and data is returned.
$locations = $mapboxGeocoder->geocodeQuery(
GeocodeQuery::create($country->getName())
->withLocale('nl')
->withData('location_type', 'country')
);
However, the fetchUrl method in Mapbox.php simply breaks when a result without context is returned by Mapbox.
https://github.com/geocoder-php/mapbox-provider/blob/master/Mapbox.php#L283
When I remove that piece of code, and add an additional check here to check if context is available before iterating through it, the code returns the requested items.
https://github.com/geocoder-php/mapbox-provider/blob/master/Mapbox.php#L301
This isn't a clean solution and additional models are required to make it a better implementation. However, the repo is read-only so I cannot help with the required changes
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Revisa Mapbox.php alrededor de las líneas 283 y 301, empezando por fetchUrl y el manejo de resultados de Mapbox sin un campo context. Rastrea los modelos existentes utilizados para los datos de context y verifica que los resultados de países se devuelvan sin causar errores, mientras que las ciudades, los distritos y las direcciones mantienen su comportamiento actual.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- php
- Área
- api, backend
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100