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


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 相关文章推荐
document.all与WEB标准
May 13 Javascript
js+xml生成级联下拉框代码
Jul 24 Javascript
javascript确认框的三种使用方法
Dec 17 Javascript
深入理解Javascript中的自执行匿名函数
Jun 03 Javascript
jquery+ajax+text文本框实现智能提示完整实例
Jul 09 Javascript
如何编写jquery插件
Mar 29 jQuery
vue实现a标签点击高亮方法
Mar 17 Javascript
react router4+redux实现路由权限控制的方法
May 03 Javascript
JS返回页面时自动回滚到历史浏览位置
Sep 26 Javascript
layui实现多图片上传并限制上传的图片数量
Sep 26 Javascript
Vue中rem与postcss-pxtorem的应用详解
Nov 20 Javascript
element表格翻页第2页从1开始编号(后端从0开始分页)
Dec 10 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
使用VisualStudio开发php的图文设置方法
2010/08/21 PHP
PHP中feof()函数实例测试
2014/08/23 PHP
PHP+MYSQL实现用户的增删改查
2015/03/24 PHP
详解php伪造Referer请求反盗链资源
2019/01/24 PHP
对YUI扩展的Gird组件 Part-2
2007/03/10 Javascript
javascript下IE与FF兼容函数收集
2008/09/17 Javascript
IE 上下滚动展示模仿Marquee机制
2009/12/20 Javascript
iframe自适应宽度、高度 ie6 7 8,firefox 3.86下测试通过
2010/07/29 Javascript
JQuery给元素绑定click事件多次执行的解决方法
2014/05/29 Javascript
jquery的attr方法禁用表单元素禁用输入内容
2014/06/23 Javascript
SuperSlide标签切换、焦点图多种组合插件
2015/03/14 Javascript
jquery实现全屏滚动
2015/12/28 Javascript
Node.js实现JS文件合并小工具
2016/02/02 Javascript
javascript创建对象、对象继承的实用方式详解
2016/03/08 Javascript
详解AngularJS过滤器的使用
2016/03/11 Javascript
Javascript 函数的四种调用模式
2016/11/05 Javascript
浅析jsopn跨域请求原理及cors(跨域资源共享)的完美解决方法
2017/02/06 Javascript
原生js实现瀑布流布局
2017/03/08 Javascript
JavaScript实现的原生态兼容IE6可调可控滚动文字功能详解
2017/09/19 Javascript
JS获取今天是本月第几周、本月共几周、本月有多少天、是今年的第几周、是今年的第几天的示例代码
2018/12/05 Javascript
Python中生成Epoch的方法
2017/04/26 Python
使用XML库的方式,实现RPC通信的方法(推荐)
2017/06/14 Python
VSCode下好用的Python插件及配置
2018/04/06 Python
python3实现逐字输出的方法
2019/01/23 Python
python实现微信自动回复机器人功能
2019/07/11 Python
Tensorflow 自定义loss的情况下初始化部分变量方式
2020/01/06 Python
Python使用configparser库读取配置文件
2020/02/22 Python
python smtplib发送多个email联系人的实现
2020/10/09 Python
css3隔行变换色实现示例
2014/02/19 HTML / CSS
澳大利亚在线家具店:Luxo Living
2019/03/24 全球购物
介绍一下gcc特性
2012/01/20 面试题
大学新学期计划书
2014/04/28 职场文书
2014幼儿园班主任工作总结
2014/12/04 职场文书
团代会开幕词
2015/01/28 职场文书
预备党员的思想汇报,你真的会写吗?
2019/06/28 职场文书
nginx请求限制配置方法
2021/07/09 Servers