微信小程序使用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里使用Dom操作Xml
Jan 22 Javascript
jQuery封装的获取Url中的Get参数示例
Nov 26 Javascript
原生javascript实现简单的datagrid数据表格
Jan 02 Javascript
浅谈Node.js中的定时器
Jun 18 Javascript
分步解析JavaScript实现tab选项卡自动切换功能
Jan 25 Javascript
Web打印解决方案之证件套打的实现思路
Aug 29 Javascript
jQuery EasyUI 获取tabs的实例解析
Dec 06 Javascript
微信小程序多张图片上传功能
Jun 07 Javascript
VUE element-ui 写个复用Table组件的示例代码
Nov 18 Javascript
详解如何在微信小程序开发中正确的使用vant ui组件
Sep 13 Javascript
引入外部js脚本加载慢与页面白屏问题的解决
Dec 10 Javascript
详解微信图片防盗链“此图片来自微信公众平台 未经允许不得引用”的解决方案
Apr 04 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
用定制的PHP应用程序来获取Web服务器的状态信息
2006/10/09 PHP
PHP SQLite类
2009/05/07 PHP
PHP return语句的另一个作用
2014/07/30 PHP
zend framework框架中url大小写问题解决方法
2014/08/19 PHP
PHP中的socket_read和socket_recv区别详解
2015/02/09 PHP
php实现粘贴截图并完成上传功能
2015/05/17 PHP
PHP表单提交后引号前自动加反斜杠的原因及三种办法关闭php魔术引号
2015/09/30 PHP
Yii2 加载css、js 载静态资源的方法
2017/03/10 PHP
Yii2下点击验证码的切换实例代码
2017/03/14 PHP
PHP时间处理类操作示例
2018/09/05 PHP
基于PHP实现用户登录注册功能的详细教程
2020/08/04 PHP
一个基于jQuery的树型插件(OrangeTree)使用介绍
2012/05/03 Javascript
js制作的鼠标悬浮时产生的下拉框效果
2012/10/27 Javascript
JS+CSS制作DIV层可(最小化/拖拽/排序)功能实现代码
2013/02/25 Javascript
Jquery调用iframe父页面中的元素及方法
2016/08/23 Javascript
JS中的phototype详解
2017/02/04 Javascript
js实现input密码框显示/隐藏功能
2020/09/10 Javascript
基于JavaScript实现十五拼图代码实例
2020/04/26 Javascript
JavaScript组合模式---引入案例分析
2020/05/23 Javascript
如何编写一个 Webpack Loader的实现
2020/10/18 Javascript
[40:57]TI4 循环赛第二日 iG vs EG
2014/07/11 DOTA
[02:23]2016国际邀请赛中国区预选赛wings晋级之路
2016/06/29 DOTA
[01:33]完美世界DOTA2联赛PWL S3 集锦第二期
2020/12/21 DOTA
Python中Django发送带图片和附件的邮件
2017/03/31 Python
Python3中bytes类型转换为str类型
2018/09/27 Python
python 采用paramiko 远程执行命令及报错解决
2019/10/21 Python
HTML5 video标签(播放器)学习笔记(二):播放控制
2015/04/24 HTML / CSS
美国著名的女性内衣零售商:Frederick’s of Hollywood
2018/02/24 全球购物
预备党员的自我评价
2014/03/12 职场文书
新法人代表任命书
2014/06/06 职场文书
廉政文化进校园广播稿
2014/10/20 职场文书
计划生育汇报材料
2014/12/26 职场文书
赢在中国观后感
2015/06/02 职场文书
暗恋桃花源观后感
2015/06/12 职场文书
python机器学习创建基于规则聊天机器人过程示例详解
2021/11/02 Python
python数据处理之Pandas类型转换
2022/04/28 Python