当前位置:   article > 正文

uniapp开发微信小程序,经纬度获取城市_小程序 根据经纬度获取省市区

小程序 根据经纬度获取省市区

经纬度获取城市

  1. textinput(item) {
  2. console.log(item, 'item');
  3. if (item.value == '') {
  4. uni.chooseLocation({
  5. success: res => {
  6. const latitude = res.latitude
  7. const longitude = res.longitude
  8. console.log(res, '点击得');
  9. console.log('选择的经度:', longitude, '选择的纬度:', latitude)
  10. item.value = res.name
  11. item.lng = longitude
  12. item.lat = latitude
  13. console.log(item, 'item-item-item调起地图');
  14. const amapApiKey = '2a70d4e201b5a6b792237df017823f78';
  15. uni.request({
  16. url: 'https://restapi.amap.com/v3/geocode/regeo',
  17. data: {
  18. key: amapApiKey,
  19. location: longitude + ',' + latitude,
  20. output: 'json'
  21. },
  22. success: res => {
  23. console.log('逆地理编码服务返回的数据:', res.data);
  24. // 根据返回的数据结构提取城市信息
  25. const addressComponent = res.data.regeocode.addressComponent;
  26. console.log('匹配的城市:', addressComponent.city);
  27. console.log('匹配的省:', addressComponent.province);
  28. if (addressComponent && addressComponent.city) {
  29. if(addressComponent.city.length==0){
  30. this.csname=addressComponent.province
  31. console.log('城市为空赋值省',this.csname);
  32. }else{
  33. this.csname=addressComponent.city
  34. console.log('城市不为空直接赋值',this.csname);
  35. }
  36. } else {
  37. console.log('无法从返回数据中获取城市信息');
  38. }
  39. },
  40. fail: err => {
  41. console.log('获取城市信息失败:', err);
  42. }
  43. });
  44. },
  45. fail: err => {
  46. wx.showToast({
  47. title: '授权失败',
  48. icon: 'none',
  49. duration: 1000
  50. })
  51. }
  52. })
  53. } else {
  54. console.log('不为空,正常编辑');
  55. }
  56. },

城市获取经纬度

  1. bindCity(event) {
  2. console.log(event.name)
  3. const address = `${event.name}`;
  4. const key = 'c480611b1013378bc1145c5394b892c0'; // 替换为您的高德地图API密钥
  5. uni.request({
  6. url: `https://restapi.amap.com/v3/geocode/geo?key=${key}&address=${address}`,
  7. success: (res) => {
  8. console.log(res);
  9. if (res.data.status === '1' && res.data.count !== '0') {
  10. const location = res.data.geocodes[0].location;
  11. const [longitude, latitude] = location.split(',');
  12. console.log('经度:', longitude);
  13. console.log('纬度:', latitude);
  14. uni.setStorageSync('J',longitude)
  15. uni.setStorageSync('W',latitude)
  16. uni.setStorageSync('N',address)
  17. uni.navigateBack()
  18. } else {
  19. uni.showToast({
  20. title: '网络错误:获取经纬度失败',
  21. icon: 'none',
  22. duration: 2000
  23. });
  24. }
  25. },
  26. fail: (error) => {
  27. console.error(error);
  28. },
  29. });
  30. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/514715
推荐阅读
相关标签
  

闽ICP备14008679号