Flutter高德地图逆地理编码网络请求


  /// 逆地理编码(根据经纬度获取省市区和详细地址)
  Future<Map<String, String>> getAddressFromLocation(double latitude, double longitude) async {
    const String apiKey = '';
    final String url =
        'https://restapi.amap.com/v3/geocode/regeo?location=${longitude},${latitude}&key=$apiKey&radius=1000&extensions=base';

    final response = await http.get(Uri.parse(url));

    if (response.statusCode == 200) {
      final Map<String, dynamic> data = json.decode(response.body);
      if (data['status'] == '1') {
        final regeo = data['regeocode'];
        final addressComponent = regeo['addressComponent'];
        final formattedAddress = regeo['formatted_address'];

        return {
          'province': addressComponent['province'] ?? '',
          'city': addressComponent['city'] ?? '',
          'district': addressComponent['district'] ?? '',
          'address': formattedAddress ?? '',
        };
      } else {
        throw Exception('逆地理编码失败:${data['info']}');
      }
    } else {
      throw Exception('网络请求失败,状态码: ${response.statusCode}');
    }
  }

把key改成你的。 

注意申请key的时候,选择 Web服务;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值