reGeocode method
逆地理编码 location: 必填,经纬度坐标 radius: 搜索半径,取值范围在0~3000,默认是1000,单位:米 output: 返回数据格式类型,默认为JSON extensions:返回结果控制,取值为base只返回基本地址信息,取值为all时会返回基本地址信息、附近POI内容、道路信息以及道路交叉口信息 poiType: 返回附近POI类型,extensions参数为all时生效 roadLevel: 道路等级,extensions参数为all时生效 homeOrCorp: 是否优化POI返回顺序,extensions参数为all时生效
Implementation
Future<ReGeocodeResponse> reGeocode(
LatLng location, {
int? radius,
String? output,
String? extensions,
String? poiType,
String? roadLevel,
String? homeOrCorp,
}) async {
Uri uri = appendApiPath(this.uri, "/v3/geocode/regeo");
final params = <String, dynamic>{};
params['key'] = apiKey;
params["location"] = "${location.longitude.toStringAsFixed(6)},"
"${location.latitude.toStringAsFixed(6)}";
if (radius != null) params["radius"] = min(max(0, radius), 3000).toString();
if (output != null && output.isNotEmpty) params["output"] = output;
if (extensions != null && extensions.isNotEmpty) params["extensions"] = extensions;
if (poiType != null && poiType.isNotEmpty) params["poitype"] = poiType;
if (roadLevel != null && roadLevel.isNotEmpty) params["roadlevel"] = roadLevel;
if (homeOrCorp != null && homeOrCorp.isNotEmpty) params["homeorcorp"] = homeOrCorp;
if (secretKey != null) params["sig"] = generateSignature(params);
final url = appendParameters(uri, params).toString();
final response = await doGet(url, headers: apiHeaders);
return ReGeocodeResponse.fromJson(jsonDecode(response.body));
}