微信小程序使用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 动态添加标签(新增一行,其实很简单,就是几个函数的应用)
Mar 26 Javascript
js播放wav文件(源码)
Apr 22 Javascript
JavaScript中使用Object.prototype.toString判断是否为数组
Apr 01 Javascript
JQuery选中checkbox方法代码实例(全选、反选、全不选)
Apr 27 Javascript
非常实用的12个jquery代码片段
Nov 02 Javascript
基于jQuery实现顶部导航栏功能
Dec 27 Javascript
Node.js的Mongodb使用实例
Dec 30 Javascript
element ui里dialog关闭后清除验证条件方法
Feb 26 Javascript
详解es6超好用的语法糖Decorator
Aug 01 Javascript
layui table 参数设置方法
Aug 14 Javascript
vue 实现在函数中触发路由跳转的示例
Sep 01 Javascript
Vue.js 十五分钟入门图文教程
Sep 12 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
php7 图形用户界面GUI 开发示例
2020/02/22 PHP
flash 得到自身url参数的代码
2009/11/15 Javascript
JavaScript调用Activex控件的事件的实现方法
2010/04/11 Javascript
jquery实现在页面加载完毕后获取图片高度或宽度
2014/06/16 Javascript
js监听鼠标点击和键盘点击事件并自动跳转页面
2014/09/24 Javascript
深入理解JavaScript系列(26):设计模式之构造函数模式详解
2015/03/03 Javascript
JQuery插件Quicksand实现超炫的动画洗牌效果
2015/05/03 Javascript
JavaScript数组去重的3种方法和代码实例
2015/07/01 Javascript
JS如何实现文本框随文本的长度而增长
2015/07/30 Javascript
JS+CSS实现经典的左侧竖向滑动菜单效果
2015/09/23 Javascript
JavaScript修改作用域外变量的方法
2016/03/25 Javascript
js和jq使用submit方法无法提交表单的快速解决方法
2016/05/17 Javascript
js实现图片懒加载效果
2017/07/17 Javascript
vue 中引用gojs绘制E-R图的方法示例
2018/08/24 Javascript
vue2.0 + ele的循环表单及验证字段方法
2018/09/18 Javascript
vue封装可复用组件confirm,并绑定在vue原型上的示例
2019/10/31 Javascript
JS typeof fn === 'function' &amp;&amp; fn()详解
2020/08/22 Javascript
使用Vant完成DatetimePicker 日期的选择器操作
2020/11/12 Javascript
[48:23]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#1COL VS EG第一局
2016/03/05 DOTA
python命令行参数sys.argv使用示例
2014/01/28 Python
列举Python中吸引人的一些特性
2015/04/09 Python
Python单元测试框架unittest简明使用实例
2015/04/13 Python
python整小时 整天时间戳获取算法示例
2019/02/20 Python
TensorFlow实现checkpoint文件转换为pb文件
2020/02/10 Python
python实现快递价格查询系统
2020/03/03 Python
python3利用Axes3D库画3D模型图
2020/03/25 Python
HTML5 input placeholder 颜色修改示例
2014/05/30 HTML / CSS
小学二年级评语
2014/04/21 职场文书
演讲稿格式
2014/04/30 职场文书
咖啡店创业计划书
2014/08/15 职场文书
社区党员公开承诺书
2014/08/30 职场文书
中国文明网向国旗敬礼寄语大全
2014/09/27 职场文书
学校总务处领导干部个人对照检查材料思想汇报
2014/10/06 职场文书
2014年检验员工作总结
2014/11/19 职场文书
女性健康知识讲座通知
2015/04/23 职场文书
学校捐书活动总结
2015/05/08 职场文书