微信小程序使用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 相关文章推荐
js中匿名函数的N种写法
Sep 08 Javascript
Underscore.js 的模板功能介绍与应用
Dec 24 Javascript
jQuery动画animate方法使用介绍
May 06 Javascript
js左侧三级菜单导航实例代码
Sep 13 Javascript
JS、jQuery中select的用法详解
Apr 21 Javascript
jQuery在ie6下无法设置select选中的解决方法详解
Sep 20 Javascript
原生JS实现简单放大镜效果
Feb 08 Javascript
webpack公共组件引用路径简化小技巧
Jun 15 Javascript
layui中table表头样式修改方法
Aug 15 Javascript
vue 集成 vis-network 实现网络拓扑图的方法
Aug 07 Javascript
Node.js API详解之 querystring用法实例分析
Apr 29 Javascript
Vue监视数据的原理详解
Feb 24 Vue.js
微信小程序全局变量功能与用法详解
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
header()函数使用说明
2006/11/23 PHP
PHP中的日期加减方法示例
2014/08/21 PHP
PHP+jQuery 注册模块的改进(一):验证码存入SESSION
2014/10/14 PHP
php实现监控varnish缓存服务器的状态
2014/12/30 PHP
Thinkphp自定义代码生成工具及用法说明(附下载地址)
2016/05/27 PHP
php实现的中文分词类完整实例
2017/02/06 PHP
php实现的错误处理封装类实例
2017/06/20 PHP
php代码调试利器firephp安装与使用方法分析
2018/08/21 PHP
ExtJS 工具栏 分页事件参数
2010/03/05 Javascript
js获取url中的参数且参数为中文时通过js解码
2014/03/19 Javascript
JavaScript制作windows经典扫雷小游戏
2015/03/31 Javascript
简单介绍JavaScript的变量和数据类型
2015/06/03 Javascript
jfinal与bootstrap的登录跳转实战演习
2015/09/22 Javascript
JS显示日历和天气的方法
2016/03/01 Javascript
js生成随机数(指定范围)的实例代码
2016/07/10 Javascript
DOM操作原生js 的bug,使用jQuery 可以消除的解决方法
2016/09/04 Javascript
js实现刷新页面后回到记录时滚动条的位置【两种方案可选】
2016/12/12 Javascript
基于Javascript实现的不重复ID的生成器
2016/12/25 Javascript
jQuery正则验证注册页面经典实例
2017/06/10 jQuery
Vue中 v-if 和v-else-if页面加载出现闪现的问题及解决方法
2018/10/12 Javascript
微信小程序实现左滑动删除效果
2020/03/30 Javascript
解决layui页面按钮点击无反应,也不报错的问题
2019/09/29 Javascript
[04:45]DOTA2-DPC中国联赛正赛 iG vs LBZS 赛后选手采访
2021/03/11 DOTA
使用Python的Tornado框架实现一个一对一聊天的程序
2015/04/25 Python
Python数据结构之翻转链表
2017/02/25 Python
Python切片操作实例分析
2018/03/16 Python
django的model操作汇整详解
2019/07/26 Python
Python爬虫 scrapy框架爬取某招聘网存入mongodb解析
2019/07/31 Python
关于python字符串方法分类详解
2019/08/20 Python
wxPython修改文本框颜色过程解析
2020/02/14 Python
解决django migrate报错ORA-02000: missing ALWAYS keyword
2020/07/02 Python
Python paramiko使用方法代码汇总
2020/11/20 Python
德国拖鞋网站:German Slippers
2019/11/08 全球购物
我的大学生活演讲稿
2014/04/25 职场文书
职场新人刚入职工作总结该怎么写?
2019/05/15 职场文书
500字作文之难忘的同学
2019/12/20 职场文书