通过手机端定位服务获取经纬度后可通过此函数获取该经纬度的详细地址
// 传入经纬度
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'] ?? '');
}
});
}