微信小程序使用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 相关文章推荐
jQuery 中关于CSS操作部分使用说明
Jun 10 Javascript
jQuery中even选择器的定义和用法
Dec 23 Javascript
javascript跨域方法、原理以及出现问题解决方法(详解)
Aug 06 Javascript
Javascript中document.referrer隐藏来源的方法
Jan 16 Javascript
简单实现AngularJS轮播图效果
Apr 10 Javascript
vue-cli项目如何使用vue-resource获取本地的json数据(模拟服务端返回数据)
Aug 04 Javascript
vue获取DOM元素并设置属性的两种实现方法
Sep 30 Javascript
node通过express搭建自己的服务器
Sep 30 Javascript
Vue.js+Layer表格数据绑定与实现更新的实例
Mar 07 Javascript
Vue中使用matomo进行访问流量统计的实现
Nov 05 Javascript
JS实现碰撞检测效果
Mar 12 Javascript
JS实现躲避粒子小游戏
Jun 18 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
简单的页面缓冲技术
2006/10/09 PHP
PHP对字符串的递增运算分析
2010/08/08 PHP
php的array数组和使用实例简明教程(容易理解)
2014/03/20 PHP
php的curl封装类用法实例
2014/11/07 PHP
腾讯微博提示missing parameter errorcode 102 错误的解决方法
2014/12/22 PHP
关于B/S判断浏览器断开的问题讨论
2008/10/29 Javascript
javascript 特殊字符串
2009/02/25 Javascript
jquery.jstree 增加节点的双击事件代码
2010/07/27 Javascript
jquery显示和隐藏div特效实例
2013/02/27 Javascript
javascript数组的使用
2013/03/28 Javascript
获取内联和链接中的样式(js代码)
2013/04/11 Javascript
jQuery制作仿Mac Lion OS滚动条效果
2015/02/10 Javascript
原生JavaScript实现异步多文件上传
2015/12/02 Javascript
JS 面向对象之继承---多种组合继承详解
2016/07/10 Javascript
jquery控制页面的展开和隐藏实现方法(推荐)
2016/10/15 Javascript
简单易懂的天气插件(代码分享)
2017/02/04 Javascript
a标签置灰不可点击的实现方法
2017/02/06 Javascript
jQuery EasyUI 组件加上“清除”功能实例详解
2017/04/11 jQuery
基于JavaScript实现的快速排序算法分析
2017/04/14 Javascript
jQuery+PHP+Mysql实现抽奖程序
2020/04/12 jQuery
python定时执行指定函数的方法
2015/05/27 Python
Python 文件操作的详解及实例
2017/09/18 Python
python3 pandas 读取MySQL数据和插入的实例
2018/04/20 Python
Django 使用easy_thumbnails压缩上传的图片方法
2019/07/26 Python
PyQt5中多线程模块QThread使用方法的实现
2020/01/31 Python
Python视频编辑库MoviePy的使用
2020/04/01 Python
python os模块在系统管理中的应用
2020/06/22 Python
python基于Kivy写一个图形桌面时钟程序
2021/01/28 Python
Python3+SQLAlchemy+Sqlite3实现ORM教程
2021/02/16 Python
英国袜子店:Sock Shop
2017/01/11 全球购物
Pretty Little Thing爱尔兰:时尚女性服饰
2017/03/27 全球购物
英国电动工具购买网站:Anglia Tool Centre
2017/04/25 全球购物
Opodo意大利:欧洲市场上领先的在线旅行社
2019/10/24 全球购物
恒华伟业笔试面试题
2015/02/26 面试题
药品营销专业毕业生自荐信
2014/07/02 职场文书
齐云山导游词
2015/02/06 职场文书