Чтобы создать собственные маркеры в Картах Google с помощью Flutter, вы можете использовать несколько методов. Вот несколько примеров с фрагментами кода:
Метод 1. Использование значка маркера по умолчанию с собственным изображением
import 'package:google_maps_flutter/google_maps_flutter.dart';
// Create a BitmapDescriptor from an image file
BitmapDescriptor customIcon = BitmapDescriptor.fromAsset('assets/custom_marker.png');
// Create a Marker instance with the custom icon
Marker customMarker = Marker(
markerId: MarkerId('customMarker'),
position: LatLng(37.4219999, -122.0840575),
icon: customIcon,
);
Метод 2. Использование пользовательского виджета в качестве маркера
import 'package:flutter/material.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
class CustomMarkerWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Container(
decoration: BoxDecoration(
shape: BoxShape.circle,
color: Colors.blue,
),
child: Icon(
Icons.location_on,
color: Colors.white,
size: 30.0,
),
);
}
}
// Create a widget marker
WidgetMarker customWidgetMarker = WidgetMarker(
markerId: MarkerId('customWidgetMarker'),
position: LatLng(37.4219999, -122.0840575),
widget: CustomMarkerWidget(),
);
Метод 3. Использование пользовательского маркера с собственным значком и точкой привязки
import 'package:google_maps_flutter/google_maps_flutter.dart';
// Create a BitmapDescriptor from an image file
BitmapDescriptor customIcon = BitmapDescriptor.fromAsset('assets/custom_marker.png');
// Create a custom marker with a custom icon and anchor point
Marker customMarker = Marker(
markerId: MarkerId('customMarker'),
position: LatLng(37.4219999, -122.0840575),
icon: customIcon,
anchor: Offset(0.5, 0.5), // Set the anchor point to the center of the icon
);
Это всего лишь несколько примеров создания пользовательских маркеров на Картах Google с помощью Flutter. Вы можете дополнительно настроить маркеры, изменив их положение, поворот и другие свойства в соответствии со своими потребностями.