Mapbox Provider prevents searching for countries

Aberta
#1,107 2 comentários 1 reação 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
35/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
php
Domínio
api, backend

Direção de pesquisa

Revise Mapbox.php por volta das linhas 283 e 301, começando por fetchUrl e pelo tratamento de resultados do Mapbox sem um campo context. Rastreie os modelos existentes usados para os dados de context e verifique se os resultados de países são retornados sem causar falhas, enquanto cidades, distritos e endereços mantêm o comportamento existente.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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

Linguagem predominante
PHP
Estrelas
4k
Forks
525
Merge médio
8min
PRs com merge (30d)
1

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de geocoder-php/Geocoder

Todas as issues de geocoder-php/Geocoder

Issues semelhantes

Mais issues de PHP

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.