This package provides easy api calls to MapBox Search API.
Also, it contains an static map image generator ๐.
Maki Icons can be used now in marker icon
Before 2.0 this library depended on Flutter SDK, preventing its usage on other platforms such as a backend, CLI apps, Dart2Javascript, etc...
Now all the Flutter related code, such as the MapBoxSearchWidget
was moved to a separated library: mapbox_search_flutter.
For that reason, 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 class
var mapBoxColor = Color.rgb( myColor.red, myColor.green, myColor.blue);
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
var reverseGeoCoding = ReverseGeoCoding(
apiKey: 'API Key',
limit: 5,
);
Future<List<MapBoxPlace>> getPlaces() =>
reverseGeoCoding.getAddress(
Location(lat: 72.0, lng: 76.00),
);
var placesSearch = PlacesSearch(
apiKey: 'API Key',
limit: 5,
);
Future<List<MapBoxPlace>> getPlaces() =>
placesSearch.getPlaces("New York");
MapBoxStaticImage staticImage = MapBoxStaticImage(
apiKey:
"API Key");
String getStaticImageWithPolyline() => staticImage.getStaticUrlWithPolyline(
point1: Location(lat: 37.77343, lng: -122.46589),
point2: Location(lat: 37.75965, lng: -122.42816),
marker1: MapBoxMarker( markerColor: Colors.black,
markerLetter: MakiIcons.aerialway.value,
markerSize: MarkerSize.LARGE),
marker2: MapBoxMarker(
markerColor: Color.rgb(244, 67, 54),
markerLetter: 'q',
markerSize: MarkerSize.SMALL),
height: 300,
width: 600,
zoomLevel: 16,
style: MapBoxStyle.Mapbox_Dark,
path: MapBoxPath(pathColor: Color.rgb(255, 0, 0), pathOpacity: 0.5, pathWidth: 5),
render2x: true);
String getStaticImageWithMarker() => staticImage.getStaticUrlWithMarker(
center: Location(lat: 37.77343, lng: -122.46589),
marker: MapBoxMarker(
markerColor: Color.rgb(0, 0, 0), markerLetter: 'p', markerSize: MarkerSize.LARGE),
height: 300,
width: 600,
zoomLevel: 16,
style: MapBoxStyle.Mapbox_Streets,
render2x: true,
);
String getStaticImageWithoutMarker() => staticImage.getStaticUrlWithoutMarker(
center: Location(lat: 37.75965, lng: -122.42816),
height: 300,
width: 600,
zoomLevel: 16,
style: MapBoxStyle.Mapbox_Outdoors,
render2x: true,
);