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.
PatientApp-KKUMC/lib/widgets/app_map/google_huawei_map.dart

106 lines
3.2 KiB
Dart

import 'dart:async';
3 years ago
import 'dart:io';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
3 years ago
// import 'package:flutter_hms_gms_availability/flutter_hms_gms_availability.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
// import 'package:huawei_hmsavailability/huawei_hmsavailability.dart';
// import 'package:huawei_map/map.dart' as hmsMap;
4 years ago
class AppMap extends StatefulWidget {
CameraPositionCallback onCameraMove;
Map initialCamera;
AppMapState _state;
4 years ago
Function onMapCreated;
4 years ago
Function onCameraIdle;
4 years ago
AppMap(this.initialCamera, {this.onCameraMove, this.onMapCreated, this.onCameraIdle});
@override
4 years ago
State<StatefulWidget> createState() => _state = AppMapState();
4 years ago
moveTo({@required CameraPosition cameraPostion}) {
// if (_state.isHuawei) {
// final cameraJson = cameraPostion.toMap();
// final camera = hmsMap.CameraPosition.fromMap(cameraJson);
// _state._huaweiMapController.animateCamera(hmsMap.CameraUpdate.newCameraPosition(camera));
// } else {
_state.googleMapController.animateCamera(CameraUpdate.newCameraPosition(cameraPostion));
// }
}
}
4 years ago
class AppMapState extends State<AppMap> {
bool isHuawei = false;
Completer<GoogleMapController> _googleMapControllerComp = Completer();
GoogleMapController googleMapController;
// Completer<hmsMap.HuaweiMapController> _huaweiMapControllerComp = Completer();
// hmsMap.HuaweiMapController _huaweiMapController;
// HmsApiAvailability hmsApiAvailability;
// checkIsHuawei() async {
// await hmsApiAvailability.isHMSAvailable().then((value) {
// isHuawei = value == 0 ? true : false;
// });
// print(isHuawei);
// setState(() {});
// }
4 years ago
@override
void initState() {
// hmsApiAvailability = HmsApiAvailability();
// if (Platform.isAndroid) checkIsHuawei();
3 years ago
super.initState();
}
@override
Widget build(BuildContext context) {
4 years ago
if (isHuawei == null) return CircularProgressIndicator();
return map();
}
Widget map() => googleMap();
4 years ago
Widget googleMap() {
return GoogleMap(
mapType: MapType.normal,
4 years ago
zoomControlsEnabled: true,
4 years ago
myLocationButtonEnabled: true,
myLocationEnabled: true,
initialCameraPosition: CameraPosition.fromMap(widget.initialCamera),
onCameraMove: widget.onCameraMove,
onMapCreated: (GoogleMapController controller) {
googleMapController = controller;
_googleMapControllerComp.complete(controller);
widget.onMapCreated();
},
4 years ago
onCameraIdle: widget.onCameraIdle,
4 years ago
);
}
// Widget huaweiMap() {
// return hmsMap.HuaweiMap(
// mapType: hmsMap.MapType.normal,
// zoomControlsEnabled: false,
// myLocationButtonEnabled: true,
// myLocationEnabled: true,
// initialCameraPosition: hmsMap.CameraPosition.fromMap(widget.initialCamera),
// onCameraMove: (camera) => widget.onCameraMove(CameraPosition.fromMap(camera.toMap())),
// onMapCreated: (controller) {
// _huaweiMapController = controller;
// _huaweiMapControllerComp.complete(controller);
// widget.onMapCreated();
// },
// onCameraIdle: () {
// print("onCameraIdle");
// widget.onCameraIdle();
// },
// );
// }
4 years ago
}