Flutter中使用get请求通过经纬度在天地图服务中换取详细地址的方法

4 篇文章 4 订阅
2 篇文章 0 订阅

通过手机端定位服务获取经纬度后可通过此函数获取该经纬度的详细地址

// 传入经纬度
getAddress(lat, lon) async {
    BaseOptions options = BaseOptions(
      //请求基地址,可以包含子路径
      baseUrl: '',
      //连接服务器超时时间,单位是毫秒.
      connectTimeout: 100000,
      //响应流上前后两次接受到数据的间隔,单位为毫秒。
      receiveTimeout: 10000,
      contentType: Headers.formUrlEncodedContentType,
    );
    Dio dio = Dio(options);
    var url =
        'http://api.tianditu.gov.cn/apiserver/ajaxproxy?proxyReqUrl=http%253A%252F%252Fapi.tianditu.gov.cn%252Fgeocoder%253FpostStr%253D%257B%2522lon%2522%253A%2522$lon%2522%252C%2522lat%2522%253A%2522$lat%2522%252C%2522appkey%2522%253A%25228a7b9aac0db21f9dd995e61a14685f05%2522%252C%2522ver%2522%253A%25221%2522%257D%2526type%253Dgeocode%2526tk%253D$您的天地图密钥';
    await dio.get(url).then((res) {
      var y = res.toString().trim();
      if (y.startsWith('var tdt_loadResult=')) {
        var c = json.decode(y.substring(19, y.length - 1));
        var address =
            (c['result']['addressComponent']['road'] ?? '') +
                (c['result']['addressComponent']['poi'] ?? '');
      }
    });
  }
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值