微信小程序使用map组件实现解析经纬度功能示例


Posted in Javascript onJanuary 22, 2019

本文实例讲述了微信小程序使用map组件实现解析经纬度功能。分享给大家供大家参考,具体如下:

声明

bug: 页脚的详细地址在真机测试是会出现不显示问题?

造成原因:在小程序map组件的同一区域,map组件的视图层比普通的文本视图层要高,所以在真机会遮挡!

解决办法:将该文本视图采用cover-view,放在map中。

感谢: 感谢Lrj_estranged指出问题!

效果图

微信小程序使用map组件实现解析经纬度功能示例

实现原理

1. map组件实现定位标记或者指定定位标记,并保存location。

2. 采用高德地图微信小程序开发API(getRegeo)获取当前位置或者指定位置的详细描述。

WXML

<view class="map_container">
 <map class="map" longitude="{{longitude}}" latitude="{{latitude}}" include-points="{{points}}" markers='{{markers}}'></map>
 <view class="map-tab-bar map-foot {{isShow ? '' : 'map-hide'}}">
  <view class="map-name">{{name}}</view>
  <view class="map-address">{{address}}</view>
 </view>
</view>

JS

获取当前位置的经纬度解析详情

const app = getApp();
const amap = app.data.amap;
const key = app.data.key;
Page({
 data:{
  isShow: true,
  longitude:null,
  latitude:null,
  markers:[],
  points:[],
  name:'',
  address:'',
  location:''
 },
 onLoad(){
  var _this = this;
  var myAmap = new amap.AMapWX({ key: key });
  // 获取定位地址的描述数据
  _this.getRegeo(myAmap);
 },
 getRegeo(myAmap){
  var _this = this;
  myAmap.getRegeo({
   iconPath: '../../src/images/ding.png',
   width: 32,
   height: 32,
   location: _this.data.location,
   success(res) {
    var obj = res[0];
    if (obj) {
     _this.setData({
      longitude: obj.longitude,
      latitude: obj.latitude,
      name: obj.name,
      address: obj.desc,
      points: [{
       longitude: obj.longitude,
       latitude: obj.latitude
      }],
      markers: [{
       id: obj.id,
       latitude: obj.latitude,
       longitude: obj.longitude,
       iconPath: obj.iconPath,
       width: obj.width,
       height: obj.height
      }]
     })
    }
   },
   fail(res) {
    wx.showToast({ title: '失败!' })
   }
  })
 }
})

获取指定位置的经纬度解析详情

// 获取输入地址的location
// 假如输入的是:成都 欧尚庭院
myAmap.getInputtips({
 keywords: '欧尚庭院',
 city:'成都',
 success(res){
  _this.setData({
   location: res.tips[0].location
  })
  /************************************************/
  // 获取输入地址描述数据
  _this.getRegeo(myAmap);
  /************************************************/
 }
})

总结

1. 获取当前定位坐标的经纬度解析详情,直接调用高德地图API(getRegeo ),返回默认当前坐标的详情。

2. 获取指定定位坐标的经纬度解析详情,通过高德地图API(getInputtips)或者微信小程序的API(wx.chooseLocation)获取指定位置的 location ,通过高德地图API(getRegeo )获取坐标解析详情。

希望本文所述对大家微信小程序开发有所帮助。

Javascript 相关文章推荐
javascript学习网址备忘
May 29 Javascript
JS删除数组元素的函数介绍
Mar 27 Javascript
JS如何将UTC格式时间转本地格式
Sep 04 Javascript
基于jquery步骤进度条源码分享
Nov 12 Javascript
node.js缺少mysql模块运行报错的解决方法
Nov 13 Javascript
vue.js实现刷新当前页面的方法教程
Jul 05 Javascript
详解vantUI框架在vue项目中的应用踩坑
Dec 06 Javascript
ES6基础之数组和对象的拓展实例详解
Aug 22 Javascript
继承行为在 ES5 与 ES6 中的区别详解
Dec 24 Javascript
Openlayers实现点闪烁扩散效果
Sep 24 Javascript
原生JavaScript实现拖动校验功能
Sep 29 Javascript
vue 数据遍历筛选 过滤 排序的应用操作
Nov 17 Javascript
微信小程序全局变量功能与用法详解
Jan 22 #Javascript
微信小程序使用map组件实现路线规划功能示例
Jan 22 #Javascript
JavaScript JMap类定义与使用方法示例
Jan 22 #Javascript
vue2.0 如何在hash模式下实现微信分享
Jan 22 #Javascript
JavaScript继承与聚合实例详解
Jan 22 #Javascript
JavaScript格式化json和xml的方法示例
Jan 22 #Javascript
基于vue的验证码组件的示例代码
Jan 22 #Javascript
You might like
PHPwind整合最土系统用户同步登录实现方法
2010/12/08 PHP
防止本地用户用fsockopen DDOS攻击对策
2011/11/02 PHP
PHP中strtotime函数使用方法详解
2011/11/27 PHP
php中常用的预定义变量小结
2012/05/09 PHP
浅析php插件 Simple HTML DOM 用DOM方式处理HTML
2013/07/01 PHP
利用Fix Rss Feeds插件修复WordPress的Feed显示错误
2015/12/19 PHP
PHP时间函数使用详解
2019/03/21 PHP
JQuery显示隐藏DIV的方法及代码实例
2015/04/16 Javascript
详解Jquery 遍历数组之$().each方法与$.each()方法介绍
2017/01/09 Javascript
jQuery操作复选框(CheckBox)的取值赋值实现代码
2017/01/10 Javascript
基于vue2的table分页组件实现方法
2017/03/20 Javascript
Javascript中类式继承和原型式继承的实现方法和区别之处
2017/04/25 Javascript
详解Angular系列之变化检测(Change Detection)
2018/02/26 Javascript
jquery引入外部CDN 加载失败则引入本地jq库
2018/05/23 jQuery
PHPStorm中如何对nodejs项目进行单元测试详解
2019/02/28 NodeJs
Mpvue中使用Vant Weapp组件库的方法步骤
2019/05/16 Javascript
element-ui中dialog弹窗关闭按钮失效的解决
2020/09/22 Javascript
pycharm安装图文教程
2017/05/02 Python
python3 爬取图片的实例代码
2018/11/06 Python
python实现将汉字保存成文本的方法
2018/11/16 Python
Python爬虫beautifulsoup4常用的解析方法总结
2019/02/25 Python
使用Python和Prometheus跟踪天气的使用方法
2019/05/06 Python
Python实现平行坐标图的两种方法小结
2019/07/04 Python
Python读取YAML文件过程详解
2019/12/30 Python
python 中不同包 类 方法 之间的调用详解
2020/03/09 Python
python中wx模块的具体使用方法
2020/05/15 Python
python+opencv3.4.0 实现HOG+SVM行人检测的示例代码
2021/01/28 Python
澳大利亚在线性感内衣商店:Fantasy Lingerie
2021/02/07 全球购物
司机岗位职责
2013/11/15 职场文书
高三英语教学反思
2014/01/13 职场文书
爱心捐助倡议书
2014/05/19 职场文书
文明班级申报材料
2014/12/24 职场文书
婚礼长辈答谢词
2015/09/29 职场文书
护士爱岗敬业心得体会
2016/01/25 职场文书
MySQL中几种插入和批量语句实例详解
2021/09/14 MySQL
vue如何在data中引入图片的正确路径
2022/06/05 Vue.js