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


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 实现图片预加载(js操作 Image对象属性complete ,事件onload 异步加载图片)
Mar 25 Javascript
浅析jQuery1.8的几个小变化
Dec 10 Javascript
js获取网页可见区域、正文以及屏幕分辨率的高度
May 15 Javascript
JavaScript+html5 canvas制作的百花齐放效果完整实例
Jan 26 Javascript
javascript如何实现360度全景照片问题汇总
Apr 04 Javascript
使用JavaScript实现弹出层效果的简单实例
May 31 Javascript
基于jQuery实现表格的查看修改删除
Aug 01 Javascript
vue2.0开发实践总结之入门篇
Dec 06 Javascript
利用Angular.js编写公共提示模块的方法教程
May 28 Javascript
js字符串处理之绝妙的代码
Apr 05 Javascript
jquery实现垂直无限轮播的方法分析
Jul 16 jQuery
简述vue-cli中chainWebpack的使用方法
Jul 30 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
Drupal 添加模块出现莫名其妙的错误的解决方法(往往出现在模块较多时)
2011/04/18 PHP
怎样使用php与jquery设置和读取cookies
2013/08/08 PHP
PHP观察者模式定义与用法实例分析
2019/03/22 PHP
PHP 图片处理
2020/09/16 PHP
JavaScript 浮点数运算 精度问题
2009/10/06 Javascript
js showModalDialog弹出窗口实例详解
2014/01/07 Javascript
jquery的clone方法应用于textarea和select的bug修复
2014/06/26 Javascript
jQuery中get和post方法传值测试及注意事项
2014/08/08 Javascript
详谈JavaScript内存泄漏
2014/11/14 Javascript
artDialog+plupload实现多文件上传
2016/07/19 Javascript
Bootstrap Table使用整理(五)之分页组合查询
2017/06/09 Javascript
最适应的vue.js的form提交涉及多种插件【推荐】
2018/08/27 Javascript
用jQuery将JavaScript对象转换为querystring查询字符串的方法
2018/11/12 jQuery
javascript移动端 电子书 翻页效果实现代码
2019/09/07 Javascript
微信小程序HTTP请求从0到1封装
2019/09/09 Javascript
vue源码中的检测方法的实现
2019/09/26 Javascript
jQuery实现图片随机切换、抽奖功能(实例代码)
2019/10/23 jQuery
使用原生javascript开发计算器实例代码
2021/02/21 Javascript
[01:03:37]Secret vs VGJ.S Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
Python正则获取、过滤或者替换HTML标签的方法
2016/01/28 Python
python实现实时监控文件的方法
2016/08/26 Python
Python实现可自定义大小的截屏功能
2018/01/20 Python
Django MEDIA的配置及用法详解
2019/07/25 Python
python3实现mysql导出excel的方法
2019/07/31 Python
Python学习笔记之字符串和字符串方法实例详解
2019/08/22 Python
节日快乐! Python画一棵圣诞树送给你
2019/12/24 Python
通过实例学习Python Excel操作
2020/01/06 Python
Tensorflow实现多GPU并行方式
2020/02/03 Python
Schecker荷兰:狗狗用品和配件
2019/06/06 全球购物
英国哈罗德园艺:Harrod Horticultural
2020/03/31 全球购物
介绍一下#error预处理
2015/09/25 面试题
简单叙述一下MYSQL的优化
2016/05/09 面试题
开展党的群众路线教育实践活动方案
2014/02/05 职场文书
给老婆大人的检讨书
2014/02/24 职场文书
新学期标语
2014/06/30 职场文书
优秀团员事迹材料
2014/12/25 职场文书