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


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 相关文章推荐
IE图片缓存document.execCommand(&quot;BackgroundImageCache&quot;,false,true)
Mar 01 Javascript
jQuery 自定义函数写法分享
Mar 30 Javascript
url参数中有+、空格、=、%、&amp;、#等特殊符号的问题解决
May 15 Javascript
点击按钮或链接不跳转只刷新页面的脚本整理
Oct 22 Javascript
js语法学习之判断一个对象是否为数组
May 13 Javascript
JavaScript中的getMilliseconds()方法使用详解
Jun 10 Javascript
javascript封装简单实现方法
Aug 11 Javascript
javascript for-in有序遍历json数据并探讨各个浏览器差异
Nov 30 Javascript
JS对HTML表格进行增删改操作
Aug 22 Javascript
Vue侦测相关api的实现方法
May 22 Javascript
Express结合Webpack的全栈自动刷新
May 23 Javascript
使用layui 的layedit定义自己的toolbar方法
Sep 18 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 resizeimage 部分jpg文件 生成缩略图失败的原因分析及解决办法
2016/03/23 PHP
PHP函数nl2br()与自定义函数nl2p()换行用法分析
2016/04/02 PHP
PHP简单数据库操作类实例【支持增删改查及链式操作】
2016/10/10 PHP
PHP页面静态化――纯静态与伪静态用法详解
2020/06/05 PHP
延时重复执行函数 lLoopRun.js
2007/05/08 Javascript
jQuery中获取Radio元素值的方法
2013/07/02 Javascript
JavaScript 学习笔记之语句
2015/01/14 Javascript
JS根据生日算年龄的方法
2015/05/05 Javascript
3个可以改善用户体验的AngularJS指令介绍
2015/06/18 Javascript
jQuery解决浏览器兼容性问题案例分析
2016/04/15 Javascript
JavaScript 节流函数 Throttle 详解
2016/07/04 Javascript
浅谈JS运算符&amp;&amp;和|| 及其优先级
2016/08/10 Javascript
jQuery弹出层后禁用底部滚动条(移动端关闭回到原位置)
2016/08/29 Javascript
JavaScript常用正则函数用法示例
2017/01/23 Javascript
从零开始学习Node.js系列教程之设置HTTP头的方法示例
2017/04/13 Javascript
JS判断非空至少输入两个字符的简单实现方法
2017/06/23 Javascript
基于Vue.js 2.0实现百度搜索框效果
2020/12/28 Javascript
jquery学习笔记之无new构建详解
2017/12/07 jQuery
JavaScript指定断点操作实例教程
2018/09/18 Javascript
详解React路由传参方法汇总记录
2020/11/29 Javascript
[00:06]Yes,it worked!小卡尔成功穿越时空加入战场!
2019/07/20 DOTA
基于Python实现通过微信搜索功能查看谁把你删除了
2016/01/27 Python
11月编程语言排行榜 Python逆袭C#上升到第4
2017/11/15 Python
TensorFlow实现MLP多层感知机模型
2018/03/09 Python
python素数筛选法浅析
2018/03/19 Python
Python3利用Dlib19.7实现摄像头人脸识别的方法
2018/05/11 Python
python中多个装饰器的调用顺序详解
2019/07/16 Python
pytorch 实现查看网络中的参数
2020/01/06 Python
Python基于stuck实现scoket文件传输
2020/04/02 Python
机修工工作职责
2014/02/21 职场文书
师德师风个人反思
2014/04/28 职场文书
孝敬父母的演讲稿
2014/05/14 职场文书
2014年招商引资工作总结
2014/11/22 职场文书
超搞笑婚前保证书
2015/05/08 职场文书
MySQL5.7并行复制原理及实现
2021/06/03 MySQL
CSS中实现动画效果-附案例
2022/02/28 HTML / CSS