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


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调试logger组件实现代码
Nov 20 Javascript
js 验证密码强弱的小例子
Mar 21 Javascript
基于JavaScript实现继承机制之构造函数方法对象冒充的使用详解
May 07 Javascript
JS判断表单输入是否为空(示例代码)
Dec 23 Javascript
js判断游览器类型及版本号的代码
May 11 Javascript
Flexigrid在IE下不显示数据的有效处理方法
Sep 04 Javascript
jquery实现Slide Out Navigation滑出式菜单效果代码
Sep 07 Javascript
浅谈原型对象的常用开发模式
Jul 22 Javascript
在node中使用jwt签发与验证token的方法
Apr 03 Javascript
Vue.directive 实现元素scroll逻辑复用
Nov 29 Javascript
vue实现前端分页完整代码
Jun 17 Javascript
ES6字符串的扩展实例
Dec 21 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
yii框架源码分析之创建controller代码
2011/06/28 PHP
php读取txt文件组成SQL并插入数据库的代码(原创自Zjmainstay)
2012/07/31 PHP
php实现SAE上使用storage上传与下载文件的方法
2015/06/29 PHP
一个cssQuery对象 javascript脚本实现代码
2009/07/21 Javascript
基于jquery实现后台左侧菜单点击上下滑动显示
2013/04/11 Javascript
JS中for循序中延迟加载动态效果的具体实现
2013/08/18 Javascript
枚举的实现求得1-1000所有出现1的数字并计算出现1的个数
2013/09/10 Javascript
JavaScript调用后台的三种方法实例
2013/10/17 Javascript
jQuery filter函数使用方法
2014/05/19 Javascript
禁用页面部分JavaScript不是全部而是部分
2014/09/03 Javascript
JsRender for object语法简介
2014/10/31 Javascript
jquery实现公告翻滚效果
2015/02/27 Javascript
纯css实现窗户玻璃雨滴逼真效果
2015/08/23 Javascript
canvas实现图像布局填充功能
2017/02/06 Javascript
canvas实现简易的圆环进度条效果
2017/02/28 Javascript
小程序hover-class点击态效果实现
2019/02/26 Javascript
JS实现图片轮播效果实例详解【可自动和手动】
2019/04/04 Javascript
vue-router两种模式区别及使用注意事项详解
2019/08/01 Javascript
jQuery提示框插件SweetAlert用法分析
2019/08/05 jQuery
Node.js web 应用如何封装到Docker容器中
2020/09/01 Javascript
Python的Django框架中的select_related函数对QuerySet 查询的优化
2015/04/01 Python
python sqlite的Row对象操作示例
2019/09/11 Python
Numpy之reshape()使用详解
2019/12/26 Python
利用python3 的pygame模块实现塔防游戏
2019/12/30 Python
使用Python下载抖音各大V视频的思路详解
2021/02/06 Python
css3设置box-pack和box-align让div里面的元素垂直居中
2014/09/01 HTML / CSS
Book Depository澳大利亚:世界领先的专业在线书店之一
2018/12/27 全球购物
python re模块和正则表达式
2021/03/24 Python
电子商务专业个人的自我评价
2013/12/19 职场文书
军训自我鉴定100字
2014/02/13 职场文书
班级标语大全
2014/06/21 职场文书
2014法制宣传日活动总结
2014/07/09 职场文书
员工年终自我评价
2014/09/14 职场文书
行政执法作风整顿剖析材料
2014/10/11 职场文书
十大最强格斗系宝可梦,超梦X仅排第十,第二最重格斗礼仪
2022/03/18 日漫
MySQL使用IF语句及用case语句对条件并结果进行判断 
2022/09/23 MySQL