|
@@ -197,28 +197,74 @@
|
|
|
modelForm.value.districtCode = code[2]
|
|
|
modelForm.value.districtInd = index[2]
|
|
|
|
|
|
- }
|
|
|
- function onCityWx(row) {
|
|
|
- console.log('地区选点',row);
|
|
|
+}
|
|
|
+
|
|
|
+function getAdcodeByCoordinates(latitude, longitude) {
|
|
|
+ const key = "XIXBZ-KF2KB-AAXUW-NCF42-UDJBJ-H2FAE"; // 替换为你的腾讯地图 API 密钥
|
|
|
+ const url = `https://apis.map.qq.com/ws/geocoder/v1/?location=${latitude},${longitude}&key=${key}`;
|
|
|
+
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ uni.request({
|
|
|
+ url: url,
|
|
|
+ success: (res) => {
|
|
|
+ if (res.data.status === 0) {
|
|
|
+ const adInfo = res.data.result.ad_info;
|
|
|
+ resolve({
|
|
|
+ provinceName: adInfo.province,
|
|
|
+ cityName: adInfo.city,
|
|
|
+ districtName: adInfo.district,
|
|
|
+ provinceCode: adInfo.adcode.slice(0, 2) + "0000", // 省编码
|
|
|
+ cityCode: adInfo.adcode.slice(0, 4) + "00", // 市编码
|
|
|
+ districtCode: adInfo.adcode, // 区编码
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ reject("Error fetching adcode: " + res.data.message);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ fail: (err) => {
|
|
|
+ reject(err);
|
|
|
+ },
|
|
|
+ });
|
|
|
+ });
|
|
|
+}
|
|
|
+
|
|
|
+function onCityWx(row) {
|
|
|
+ console.log('地区选点', row);
|
|
|
wx.chooseLocation({
|
|
|
- success: function (res) {
|
|
|
- const result = splitAddress(res.address);
|
|
|
- console.log(res,result);
|
|
|
- modelForm.value.provinceName = result.province
|
|
|
- modelForm.value.cityName = result.city
|
|
|
- modelForm.value.districtName = result.district
|
|
|
- modelForm.value.address = result.detail
|
|
|
- modelForm.value.longitude =res.longitude
|
|
|
- modelForm.value.latitude = res.latitude
|
|
|
+ success: async function (res) {
|
|
|
+ try {
|
|
|
+ const result = splitAddress(res.address); // 解析地址信息
|
|
|
+ console.log(result, 'result>>>>>>>>');
|
|
|
+ console.log(res, result);
|
|
|
+
|
|
|
+ // 使用腾讯地图 API 获取编码
|
|
|
+ const adcodeData = await getAdcodeByCoordinates(res.latitude, res.longitude);
|
|
|
+
|
|
|
+ modelForm.value.provinceName = adcodeData.provinceName;
|
|
|
+ modelForm.value.cityName = adcodeData.cityName;
|
|
|
+ modelForm.value.districtName = adcodeData.districtName;
|
|
|
+ modelForm.value.provinceCode = adcodeData.provinceCode; // 设置省编码
|
|
|
+ modelForm.value.cityCode = adcodeData.cityCode; // 设置市编码
|
|
|
+ modelForm.value.districtCode = adcodeData.districtCode; // 设置区编码
|
|
|
+ modelForm.value.address = result.detail;
|
|
|
+ modelForm.value.longitude = res.longitude;
|
|
|
+ modelForm.value.latitude = res.latitude;
|
|
|
+ } catch (err) {
|
|
|
+ console.error(err);
|
|
|
+ uni.showToast({
|
|
|
+ title: '获取地址编码失败',
|
|
|
+ icon: 'error',
|
|
|
+ });
|
|
|
+ }
|
|
|
},
|
|
|
fail: function (err) {
|
|
|
console.log(err);
|
|
|
uni.showToast({
|
|
|
- title:'获取地址失败',
|
|
|
- icon: 'error',
|
|
|
- });
|
|
|
+ title: '获取地址失败',
|
|
|
+ icon: 'error',
|
|
|
+ });
|
|
|
},
|
|
|
- })
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
// 预留校验函数
|