微信小程序使用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 相关文章推荐
mouse_on_title.js
Aug 25 Javascript
地址栏上的一段语句,改变页面的风格。(教程)
Apr 02 Javascript
extjs 学习笔记(一) 一些基础知识
Oct 13 Javascript
JavaScript Distilled 基础知识与函数
Apr 07 Javascript
用JavaScript仿PS里的羽化效果代码
Dec 20 Javascript
js iframe跨域访问(同主域/非同主域)分别深入介绍
Jan 24 Javascript
jquery获取特定name所有选中的checkbox,支持IE9标准模式
Mar 18 Javascript
用javascript删除当前行,添加行(示例代码)
Nov 25 Javascript
JS中使用变量保存arguments对象的方法
Jun 03 Javascript
BootStrap Fileinput初始化时的一些参数
Dec 30 Javascript
js装饰设计模式学习心得
Feb 17 Javascript
详解基于Vue的支持数据双向绑定的select组件
Sep 02 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文件操作的详解
2013/06/05 PHP
解析thinkphp import 文件内容变量失效的问题
2013/06/20 PHP
PHP5.5.15+Apache2.4.10+MySQL5.6.20配置方法分享
2016/05/06 PHP
PHP+Ajax实现验证码的实时验证
2016/07/20 PHP
PHP基于mcript扩展实现对称加密功能示例
2019/02/21 PHP
php实现的支付宝网页支付功能示例【基于TP5框架】
2019/09/16 PHP
JavaScript的类型转换(字符转数字 数字转字符)
2010/08/30 Javascript
基于jQuery的实现简单的分页控件
2010/10/10 Javascript
js改变文章字体大小的实例代码
2013/11/27 Javascript
使用JavaScript判断图片是否加载完成的三种实现方式
2014/05/04 Javascript
jquery动态改变div宽度和高度
2015/02/09 Javascript
jquery读取xml文件实现省市县三级联动的方法
2015/05/29 Javascript
javascript实现列表切换效果
2016/05/02 Javascript
详解React Native顶|底部导航使用小技巧
2017/09/14 Javascript
Vue的H5页面唤起支付宝支付功能
2019/04/18 Javascript
JS匿名函数内部this指向问题详析
2019/05/10 Javascript
详解mpvue中使用vant时需要注意的onChange事件的坑
2019/05/16 Javascript
微信小程序如何自定义table组件
2019/06/29 Javascript
uploadify插件实现多个图片上传并预览
2019/09/30 Javascript
JavaScript中的全局属性与方法深入解析
2020/06/14 Javascript
vue+element_ui上传文件,并传递额外参数操作
2020/12/05 Vue.js
python中list常用操作实例详解
2015/06/03 Python
python内置函数sorted()用法深入分析
2019/10/08 Python
python迭代器常见用法实例分析
2019/11/22 Python
python中sympy库求常微分方程的用法
2020/04/28 Python
30行Python代码实现高分辨率图像导航的方法
2020/05/22 Python
python判断元素是否存在的实例方法
2020/09/24 Python
"9.18"国耻日演讲稿范文
2014/09/14 职场文书
领导干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
2014年检验员工作总结
2014/11/19 职场文书
2015年售后服务工作总结
2015/04/25 职场文书
呼啸山庄读书笔记
2015/06/29 职场文书
2016年综治和平安建设宣传月活动总结
2016/04/01 职场文书
Pyhton模块和包相关知识总结
2021/05/12 Python
Python中的np.argmin()和np.argmax()函数用法
2021/06/02 Python
通过shell脚本对mysql的增删改查及my.cnf的配置
2021/07/07 MySQL