微信小程序使用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读取中文COOKIE的解决办法
Feb 15 Javascript
javascript parseInt与Number函数的区别
Jan 21 Javascript
Js base64 加密解密介绍
Oct 11 Javascript
JavaScript学习笔记之Function对象
Jan 22 Javascript
分享9个最好用的JavaScript开发工具和代码编辑器
Mar 24 Javascript
js获取滚动距离的方法
May 30 Javascript
[原创]Javascript 实现广告后加载 可加载百度谷歌联盟广告
May 11 Javascript
Angular的$http与$location
Dec 26 Javascript
Vue.js表单标签中的单选按钮、复选按钮和下拉列表的取值问题
Nov 22 Javascript
PHP自动加载autoload和命名空间的应用小结
Dec 01 Javascript
JS中的算法与数据结构之列表(List)实例详解
Aug 16 Javascript
ant design中upload组件上传大文件,显示进度条进度的实例
Oct 29 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输入流php://input介绍
2012/09/18 PHP
PHP 下载文件时自动添加bom头的方法实例
2014/01/10 PHP
php中filter函数验证、过滤用户输入的数据
2014/01/13 PHP
php变量与JS变量实现不通过跳转直接交互的方法
2017/08/25 PHP
PHPstorm启用自动换行的方法详解(IDE)
2020/09/17 PHP
jquery 实现上下滚动效果示例代码
2013/08/09 Javascript
jQuery中addClass()方法用法实例
2015/01/05 Javascript
EasyUI,点击开启编辑框,并且编辑框获得焦点的方法
2015/03/01 Javascript
深入解析JavaScript编程中的this关键字使用
2015/11/09 Javascript
喜大普奔!jQuery发布 3.0 最终版
2016/06/12 Javascript
Javascript实现倒计时(防页面刷新)实例
2016/12/13 Javascript
JavaScript操作文件_动力节点Java学院整理
2017/06/30 Javascript
Angularjs添加排序查询功能的实例代码
2017/10/24 Javascript
[原创]js实现保存文本框内容为本地文件兼容IE,chrome,火狐浏览器
2018/02/14 Javascript
vue elementui form表单验证的实现
2018/11/11 Javascript
小程序实现授权登陆的解决方案
2018/12/02 Javascript
使用react render props实现倒计时的示例代码
2018/12/06 Javascript
Vue文本模糊匹配功能如何实现
2020/07/30 Javascript
vue 计算属性和侦听器的使用小结
2021/01/25 Vue.js
[01:05:32]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第一局
2016/03/04 DOTA
详解设计模式中的工厂方法模式在Python程序中的运用
2016/03/02 Python
Django ORM 聚合查询和分组查询实现详解
2019/08/09 Python
Python使用grequests(gevent+requests)并发发送请求过程解析
2019/09/25 Python
深入了解python列表(LIST)
2020/06/08 Python
python字符串拼接+和join的区别详解
2020/12/03 Python
We Fashion荷兰:一家国际时装公司
2018/04/18 全球购物
美国室内和室外装饰花盆购物网站:ePlanters
2019/03/22 全球购物
大学校园生活自我鉴定
2014/01/13 职场文书
群众路线教育实践活动学习心得体会
2014/10/30 职场文书
开幕式邀请函
2015/01/31 职场文书
2015年事业单位工作总结
2015/04/27 职场文书
婚庆司仪开场白
2015/05/29 职场文书
读《教育心理学》心得体会
2016/01/22 职场文书
《兰兰过桥》教学反思
2016/02/20 职场文书
Redis主从配置和底层实现原理解析(实战记录)
2021/06/30 Redis
SQL Server中常用截取字符串函数介绍
2022/03/16 SQL Server