You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			41 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Dart
		
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Dart
		
	
| import 'dart:async';
 | |
| 
 | |
| import 'package:flutter/material.dart';
 | |
| import 'package:huawei_map/huawei_map.dart' ;
 | |
| 
 | |
| class HMSMap extends StatefulWidget{
 | |
|   final CameraPosition currentLocation;
 | |
|   final Function(CameraPosition) onCameraMoved;
 | |
|   final MapType mapType;
 | |
|   final bool compassEnabled;
 | |
|   final bool myLocationEnabled;
 | |
| 
 | |
|   HMSMap({super.key, required this.currentLocation ,required this.onCameraMoved,  this.mapType = MapType.normal,this.compassEnabled = false,  this.myLocationEnabled = true});
 | |
| 
 | |
|   @override
 | |
|   State<HMSMap> createState() => _HMSMapState();
 | |
| }
 | |
| 
 | |
| class _HMSMapState extends State<HMSMap> {
 | |
|   final Completer<HuaweiMapController> _controller = Completer<HuaweiMapController>();
 | |
| 
 | |
|   @override
 | |
|   void initState() {
 | |
|     HuaweiMapInitializer.initializeMap();
 | |
|     super.initState();
 | |
|   }
 | |
|   // @override
 | |
|   @override
 | |
|   Widget build(BuildContext context) =>
 | |
|       HuaweiMap(
 | |
|         mapType: widget.mapType,
 | |
|         zoomControlsEnabled: false,
 | |
|         myLocationEnabled: widget.myLocationEnabled,
 | |
|         compassEnabled: widget.compassEnabled,
 | |
|         initialCameraPosition: widget.currentLocation,
 | |
|         onCameraMove: (value) => widget.onCameraMoved(value),
 | |
|         onMapCreated: (HuaweiMapController controller) {
 | |
|           _controller.complete(controller);
 | |
|         },
 | |
|     );
 | |
| } |