Orientação gerada a partir de informações públicas. Apenas para referência.
Um pacote Flutter que habilita a funcionalidade de pesquisa de local usando a API do MapBox e gera imagens de mapas estáticos. Simplifica a integração de recursos de geolocalização em aplicativos Flutter, fornecendo uma interface simples para pesquisar locais, recuperar coordenadas e exibir mapas estáticos. Ideal para aplicações que exigem busca por endereços, seleção de localização ou visualizações de mapa. O pacote suporta múltiplas plataformas, incluindo Android, iOS, Web, macOS, Windows e Linux, garantindo ampla compatibilidade. Desenvolvedores podem implementar facilmente serviços baseados em localização com configuração mínima.
Casos de uso
Pesquisa de localização em aplicativos móveis
Seletor de endereço para formulários
Pré-visualizações de mapas estáticos
Integração de geocodificação
Componentes de interface do usuário baseados em mapa
Aplicativos de viagem e entrega
Principais recursos
Integração da API do MapBox
Geração de imagem estática do mapa
Suporte multiplataforma
Interface de busca simples
Recuperação de coordenadas
design responsivo
Indicado para
Desenvolvedores de aplicativos com localização
Aplicativos que precisam de pesquisa de endereço
Projetos que exigem mapas estáticos
Aplicativos móveis e web multiplataforma
Ferramentas de viagem, logística e mapeamento
Considerações
Requer chave da API do MapBox
Conectividade de rede necessária
Limites de taxa potenciais na camada gratuita
Personalização limitada da interface de busca
Dependente da estabilidade da API externa
Configuração adicional para cada plataforma
README original
Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.
About
Note: Breaking Changes in 4.x.x
PlaceSearch and ReverseGeoCoding classes are now merged into one class called GeoCoding with two methods getPlaces and getAddress since both of them are using the same API.
Instead of throwing exceptions, the package now returns ApiResponse Record which can be either Success or Failure and can be handled using fold method.
Location class is now converted to a record.
List of coordinates are now converted to a record (lat: double, long: doube) whereever possible.
This package provides easy api calls to MapBox Search API.
As this package doesn't depend on Flutter SDK you cannot use the Colors class anymore on you Flutter project.
Instead use map_box_search's Color.rgb constructor, passing the values as parameters:
var myColor = Colors.redAccent; //Flutter's Color classvar mapBoxColor = Color.rgb( myColor.red, myColor.green, myColor.blue);
Installing
First of all you must acquire an API key on the MapBox website https://www.mapbox.com/
Then, add the following to your pubspec.yaml file:
dependencies:
mapbox_search: any
Setup
Now you can setup the API key for whole app by calling MapBoxSearch.init('API KEY') in your main() function, this way you don't have to pass the API key to every class that uses the package.
Usage of ApiResponse
finalApiResponse<List<MapBoxPlace>> addresses = awaitgetAddress();
addresses.fold(
(success) => // Do something with success data,
(failure) => // Do something with failure data,
);
Examples
SearchBox API
SearchBoxAPI search = SearchBoxAPI(
apiKey: 'API Key', // dont pass if you have set it in MapBoxSearch.init('API KEY')
limit: 6,
);
var reverseGeoCoding = GeoCoding(
apiKey: 'API Key', // dont pass if you have set it in MapBoxSearch.init('API KEY')
limit: 5,
);
Future<ApiResponse<List<MapBoxPlace>>> getAddress() =>
reverseGeoCoding.getAddress(
Location(lat: 72.0, lng: 76.00),
);
Forward GeoCoding Seach
var geocoding = GeoCoding(
apiKey: 'API Key', // dont pass if you have set it in MapBoxSearch.init('API KEY')
country: "BR",
limit: 5,
types: [PlaceType.address, PlaceType.place],
);
Future<ApiResponse<List<MapBoxPlace>>> getPlaces() =>
geocoding.getPlaces(
"central park",
proximity: Location(
lat: -19.984634,
lng: -43.9502958,
),
);
Batch Geocoding (v6)
Perform multiple geocoding queries (forward, reverse, or structured) in a single request.