amap.dart 1.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import 'package:amap_flutter_map/amap_flutter_map.dart';
  2. import 'package:amap_flutter_base/amap_flutter_base.dart';
  3. import 'package:flutter/widgets.dart';
  4. import 'const_config.dart';
  5. // https://developer.amap.com/api/flutter/guide/map-flutter-plug-in/map-flutter-info
  6. class AMap extends StatelessWidget {
  7. late AMapController _mapController;
  8. final LatLng? position;
  9. final Map<String, Marker> _markers = Map<String, Marker>();
  10. AMap({Key? key, this.position }): super(key: key);
  11. void onMapCreated(AMapController controller) {
  12. _mapController = controller;
  13. }
  14. void _initMarkers() {
  15. if (null != position) {
  16. Marker marker = Marker(
  17. position: position!,
  18. //使用默认hue的方式设置Marker的图标
  19. icon: BitmapDescriptor.defaultMarkerWithHue(BitmapDescriptor.hueOrange),
  20. );
  21. _markers[marker.id] = marker;
  22. }
  23. }
  24. @override
  25. Widget build(BuildContext context) {
  26. _initMarkers();
  27. return AMapWidget(
  28. privacyStatement: ConstConfig.amapPrivacyStatement,
  29. apiKey: ConstConfig.amapApiKeys,
  30. markers: Set<Marker>.of(_markers.values),
  31. initialCameraPosition: const CameraPosition(target: LatLng(31.230378, 121.473658)),
  32. );
  33. }
  34. }