Custom markers with Flutter Google Maps plugin
Algo asi https://www.youtube.com/watch?v=ajuo0HjN3lY&t=905s
BitmapDescriptor icon;
@override
void initState() {
getIcons();
super.initState();
}
// Cargar imagen del Marker
getIcons() async {
var icon = await BitmapDescriptor.fromAssetImage(
ImageConfiguration(devicePixelRatio: 3.2),
"assets/images/markeruser.png");
setState(() {
this.icon = icon;
});
}
// Crear Marker
createMarkers() {
markers.add(
Marker(
markerId: MarkerId("MarkerCurrent"),
position: currentLocation,
icon: icon,
infoWindow: InfoWindow(
title: "Mi Ubicacion",
snippet:
"Lat ${currentLocation.latitude} - Lng ${currentLocation.longitude}"),
draggable: true,
onDragEnd: onDragEnd,
),
);
}
BitmapDescriptor customIcon;
// make sure to initialize before map loading
BitmapDescriptor.fromAssetImage(ImageConfiguration(size: Size(12, 12)),
'assets/images/car-icon.png')
.then((d) {
customIcon = d;
});
final nearbyCarsLocation = [
LatLng(24.9286825, 67.0403249),
LatLng(24.985577, 67.0661056), //24.9294892,67.0391903,18.73z
];
void _getNearByCars() {
for (var i = 0; i < nearbyCarsLocation.length; i++) {
var now = new DateTime.now().millisecondsSinceEpoch;
_markers.add(Marker(
markerId: MarkerId(nearbyCarsLocation[i].toString() + now.toString()),
position: nearbyCarsLocation[i],
// infoWindow: InfoWindow(title: address, snippet: "go here"),
icon: customIcon ));
}
notifyListeners();
}
Hope this will help in getting custom nearby localities
I'm using:
controller.addMarker(MarkerOptions(
icon: BitmapDescriptor.fromAsset("images/restaurant.png"),
position: LatLng(40.017870, -105.278350),
));
It works fine on Android, but it doesn't work on iOS.
BitmapDescriptor.fromAsset
is deprecated
Use BitmapDescriptor.fromAssetImage
instead.
It respects the device DPI when choosing the appropriate asset. See Declaring resolution-aware image assets.