微信小程序--获取用户地理位置名称(无须用户授权)的方法


Posted in Javascript onApril 29, 2019

在本文 微信小程序--获取用户地理位置名称(无须用户授权) 之前需要先看看

代码封装是在上文添加的。

准备

1、在http://lbs.qq.com/网站申请key

2、在微信小程序后台把apis.map.qq.com添加进request合法域名

效果

微信小程序--获取用户地理位置名称(无须用户授权)的方法

添加封装

/**
 * 发起网络请求
 * @param {string} url 
 * @param {object} params 
 * @return {Promise} 
 */
 static request(url, params, method = "GET", type = "json") {
 console.log("向后端传递的参数", params);
 return new Promise((resolve, reject) => {
  let opts = {
  url: url,
  data: Object.assign({}, params),
  method: method,
  header: { 'Content-Type': type },
  success: resolve,
  fail: reject
  }
  // console.log("请求的URL", opts.url);
  wx.request(opts);
 });
 };
 /**
 * 获取用户中心位置经纬度
 * @param {ctx} name 
 */
 static getCenterLocation(name) {
 return new Promise((resolve, reject) => name.getCenterLocation({ success: resolve, fail: reject }));
 }

如果已经存在,则不用添加

js

let app = getApp();
let wechat = require("../../utils/wechat");
Page({
 onReady(e) {
 let mapCtx = wx.createMapContext('myMap');
 setTimeout(() => {
  mapCtx.moveToLocation();
 }, 1000);
 setTimeout(() => {
  this.getAddress(mapCtx);
 }, 2000);
 },
 getAddress(mapCtx) {
 wechat.getCenterLocation(mapCtx)
  .then(d => {
  console.log(d);
  let { latitude, longitude } = d;
  console.log("当前位置纬度", latitude, "当前位置经度", longitude);
  let url = `https://apis.map.qq.com/ws/geocoder/v1/`;
  let key = 'XXXXX-D6FAD-RSG4U-HBE6F-NVFNK-XXXXX';
  let params = {
   location: latitude + "," + longitude,
   key
  }
  return wechat.request(url, params);
  })
  .then(d => {
  console.log(d);
  console.log("当前地址", d.data.result.address);
  })
  .catch(e => {
  console.log(e);
  })
 }
 
})

html

<map id="myMap" show-location="true" scale="16" />

css

page{
 height: 100%;
}
#myMap{
 width: 100%;
 height: 100%;
}

参考地址:

https://mp.weixin.qq.com/debug/wxadoc/dev/component/map.html#map
https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-map.html

以上所述是小编给大家介绍的微信小程序-获取用户地理位置名称(无须用户授权)的方法详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
用js实现预览待上传的本地图片
Mar 15 Javascript
javascript 时间比较实现代码
Oct 28 Javascript
jquery实用代码片段集合
Aug 12 Javascript
基于jquery完美拖拽,可返回拖动轨迹
Mar 29 Javascript
浅谈JQuery+ajax+jsonp 跨域访问
Jun 25 Javascript
js图片放大镜实例讲解(必看篇)
Jul 17 Javascript
详解html-webpack-plugin用法全解
Jan 22 Javascript
vue计算属性及使用详解
Apr 02 Javascript
使用JavaScript破解web
Sep 28 Javascript
vue、react等单页面项目部署到服务器的方法及vue和react的区别
Sep 29 Javascript
使用layui定义一个模块并使用的例子
Sep 14 Javascript
关于JSON解析的实现过程解析
Oct 08 Javascript
Vuejs学习笔记之使用指令v-model完成表单的数据双向绑定
Apr 29 #Javascript
微信小程序-form表单提交代码实例
Apr 29 #Javascript
vue在index.html中引入静态文件不生效问题及解决方法
Apr 29 #Javascript
微信小程序传值以及获取值方法的详解
Apr 29 #Javascript
小程序封装wx.request请求并创建接口管理文件的实现
Apr 29 #Javascript
详解JavaScript实现动态的轮播图效果
Apr 29 #Javascript
Node.js如何优雅的封装一个实用函数的npm包的方法
Apr 29 #Javascript
You might like
php数据结构 算法(PHP描述) 简单选择排序 simple selection sort
2011/08/09 PHP
CentOS 安装 PHP5.5+Redis+XDebug+Nginx+MySQL全纪录
2015/03/25 PHP
JSON用法之将PHP数组转JS数组,JS如何接收PHP数组
2015/10/08 PHP
php实现文章置顶功能的方法
2016/10/20 PHP
js压缩工具 yuicompressor 使用教程
2010/03/31 Javascript
jquery select下拉框操作的一些说明
2010/04/02 Javascript
javascript函数中的arguments参数
2010/08/01 Javascript
imgAreaSelect 中文文档帮助说明
2011/10/08 Javascript
JavaScript中对象property的读取和写入方法介绍
2014/12/30 Javascript
基于jquery实现ajax无刷新评论
2020/08/19 Javascript
BootStrap Datepicker 插件修改为默认中文的实现方法
2017/02/10 Javascript
Vue+jquery实现表格指定列的文字收缩的示例代码
2018/01/09 jQuery
浅谈让你的代码更简短,更整洁,更易读的ES6小技巧
2018/10/25 Javascript
JS Math对象与Math方法实例小结
2019/07/05 Javascript
微信提示 在浏览器打开 效果实现过程解析
2019/09/10 Javascript
file-loader打包图片文件时路径错误输出为[object-module]的解决方法
2020/01/03 Javascript
JavaScript链式调用原理与实现方法详解
2020/05/16 Javascript
Vue表单提交点击事件只允许点击一次的实例
2020/10/23 Javascript
[04:55]完美世界副总裁蔡玮:DOTA2的自由、公平与信任
2013/12/18 DOTA
[37:50]VP vs TNC Supermajor小组赛B组 BO3 第一场 6.2
2018/06/03 DOTA
使用Python的Tornado框架实现一个Web端图书展示页面
2016/07/11 Python
Python实现删除列表中满足一定条件的元素示例
2017/06/12 Python
Linux下Python安装完成后使用pip命令的详细教程
2018/11/22 Python
python模块导入的细节详解
2018/12/10 Python
WIn10+Anaconda环境下安装PyTorch(避坑指南)
2019/01/30 Python
Python 使用 attrs 和 cattrs 实现面向对象编程的实践
2019/06/12 Python
Python django框架输入汉字,数字,字符生成二维码实现详解
2019/09/24 Python
python带参数打包exe及调用方式
2019/12/21 Python
Python代码中如何读取键盘录入的值
2020/05/27 Python
自我鉴定三原则
2014/01/13 职场文书
新闻专业毕业生英文求职信
2014/03/19 职场文书
导游词400字
2015/02/13 职场文书
公司催款律师函
2015/05/27 职场文书
2016年小学生清明节广播稿
2015/12/17 职场文书
python opencv人脸识别考勤系统的完整源码
2021/04/26 Python
彻底理解golang中什么是nil
2021/04/29 Golang