init method

  1. @override
Future<bool> init({
  1. required String key,
  2. int? coordinateType,
  3. bool? mockEnable,
  4. int? requestLevel,
  5. int? locMode,
  6. bool? isAllowGPS,
  7. bool? isIndoorLocationMode,
  8. bool? isGpsFirst,
  9. int? gpsFirstTimeOut,
})
override

Implementation

@override
Future<bool> init({
  required String key,
  int? coordinateType,
  bool? mockEnable,
  int? requestLevel,
  int? locMode,
  bool? isAllowGPS,
  bool? isIndoorLocationMode,
  bool? isGpsFirst,
  int? gpsFirstTimeOut,
}) async {
  methodChannel.setMethodCallHandler((methodCall) async {
    switch (methodCall.method) {
      case "receiveLocation":
        {
          Location location = Location();
          location.code = methodCall.arguments['code'];
          if (location.code == LocationCode.ERROR_OK) {
            location.name = await methodCall.arguments['name'];
            location.latitude = await methodCall.arguments['latitude'];
            location.longitude = await methodCall.arguments['longitude'];
            location.address = await methodCall.arguments['address'];
            location.city = await methodCall.arguments['city'];
            location.province = await methodCall.arguments['province'];
            location.area = await methodCall.arguments['area'];
            location.cityCode = await methodCall.arguments['cityCode'];
            for (var listener in state.listener) {
              listener(location);
            }
          } else {
            for (var listener in state.failListener) {
              listener(location);
            }
          }
          break;
        }
      case "receiveStatus":
        {
          final name = methodCall.arguments['name'];
          final status = methodCall.arguments['status'];
          LocationStatus? res;
          if (status is int && name is String) {
            res = LocationStatus(name: name, status: status);
          }
          for (var listener in state.statusListener) {
            listener(res);
          }
          break;
        }
    }
  });
  return await methodChannel.invokeMethod("init", {
    "key": key,
    "coordinateType": coordinateType,
    "mockEnable": mockEnable,
    "requestLevel": requestLevel,
    "locMode": locMode,
    "isAllowGPS": isAllowGPS,
    "isIndoorLocationMode": isIndoorLocationMode,
    "isGpsFirst": isGpsFirst,
    "gpsFirstTimeOut": gpsFirstTimeOut,
  });
}