| | |
| | | } |
| | | return cityInfo; |
| | | }, |
| | | getTrimmedLocationName(formattedAddress, addressComponent = {}) { |
| | | let address = String(formattedAddress || "").trim(); |
| | | const regionParts = [ |
| | | addressComponent.province, |
| | | addressComponent.city, |
| | | addressComponent.district, |
| | | addressComponent.township, |
| | | ]; |
| | | |
| | | // 去掉 formatted_address 前缀中的省、市、区、乡镇,保留更具体的位置描述 |
| | | regionParts.forEach((part) => { |
| | | const regionName = String(part || "").trim(); |
| | | if (regionName && address.startsWith(regionName)) { |
| | | address = address.slice(regionName.length).trim(); |
| | | } |
| | | }); |
| | | |
| | | return address; |
| | | }, |
| | | setSelectedOpenCity(cityInfo) { |
| | | if ( |
| | | !cityInfo || |
| | |
| | | const regeocodeData = item && item.regeocodeData; |
| | | const addressComponent = (regeocodeData && regeocodeData.addressComponent) || {}; |
| | | const pois = (regeocodeData && regeocodeData.pois) || []; |
| | | const landmarkName = (item && item.name) || (pois[0] && pois[0].name) || addressComponent.township || "当前位置"; |
| | | const formattedAddress = (regeocodeData && regeocodeData.formatted_address) || ""; |
| | | const trimmedAddress = this.getTrimmedLocationName(formattedAddress, addressComponent); |
| | | const landmarkName = trimmedAddress || (item && item.name) || (pois[0] && pois[0].name) || addressComponent.township || "当前位置"; |
| | | const city = addressComponent.city || addressComponent.province || ""; |
| | | const district = addressComponent.district || ""; |
| | | const province = addressComponent.province || ""; |
| | | const adcode = addressComponent.adcode || ""; |
| | | const formattedAddress = (regeocodeData && regeocodeData.formatted_address) || ""; |
| | | wx.setStorageSync("userLocation", `${longitude},${latitude}`); |
| | | return { |
| | | latitude, |
| | |
| | | const regeocodeData = item && item.regeocodeData; |
| | | const addressComponent = (regeocodeData && regeocodeData.addressComponent) || {}; |
| | | const pois = (regeocodeData && regeocodeData.pois) || []; |
| | | const landmarkName = (item && item.name) || (pois[0] && pois[0].name) || addressComponent.township || "当前位置"; |
| | | const formattedAddress = (regeocodeData && regeocodeData.formatted_address) || ""; |
| | | const trimmedAddress = this.getTrimmedLocationName(formattedAddress, addressComponent); |
| | | const landmarkName = trimmedAddress || (item && item.name) || (pois[0] && pois[0].name) || addressComponent.township || "当前位置"; |
| | | const city = addressComponent.city || addressComponent.province || ""; |
| | | const district = addressComponent.district || ""; |
| | | const province = addressComponent.province || ""; |