TencentLocation.fromMap constructor
TencentLocation.fromMap( - Map map
)
Implementation
factory TencentLocation.fromMap(Map map) {
final rawPois = map['poiList'];
final poiList = <TencentPoi>[];
if (rawPois is List) {
for (final p in rawPois) {
if (p is Map) poiList.add(TencentPoi.fromMap(p));
}
}
TencentGeoAddress? geoAddress;
final rawGeo = map['geoAddress'];
if (rawGeo is Map) geoAddress = TencentGeoAddress.fromMap(rawGeo);
final rawExtras = map['extras'];
final extras = <String, Object?>{};
if (rawExtras is Map) {
rawExtras.forEach((key, value) {
if (key is String) extras[key] = value;
});
}
return TencentLocation(
latitude: (map['latitude'] as num?)?.toDouble(),
longitude: (map['longitude'] as num?)?.toDouble(),
altitude: (map['altitude'] as num?)?.toDouble(),
accuracy: (map['accuracy'] as num?)?.toDouble(),
bearing: (map['bearing'] as num?)?.toDouble(),
speed: (map['speed'] as num?)?.toDouble(),
directionFromSensor: (map['directionFromSensor'] as num?)?.toDouble(),
time: map['time'] as int?,
source: LocationSourceX.fromWire(map['source'] as String?),
coordinateType:
CoordinateTypeCodec.fromWire(map['coordinateType'] as String?) ??
CoordinateType.gcj02,
geoAddress: geoAddress,
poiList: poiList,
indoorBuildingId: map['indoorBuildingId'] as String?,
indoorBuildingFloor: map['indoorBuildingFloor'] as String?,
elapsedRealtime: map['elapsedRealtime'] as int?,
gpsRssi: map['gpsRssi'] as int?,
verticalAccuracy: (map['verticalAccuracy'] as num?)?.toDouble(),
cacheSource: (map['cacheSource'] as String?) ?? 'none',
extras: extras,
);
}