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


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 相关文章推荐
Extjs学习笔记之四 工具栏和菜单
Jan 07 Javascript
javascript版2048小游戏
Mar 18 Javascript
jquery实现图片预加载
Dec 25 Javascript
jquery dataTable 获取某行数据
May 05 jQuery
元素全屏的设置与监听实例
Nov 28 Javascript
JS组件系列之Gojs组件 前端图形化插件之利器
Nov 29 Javascript
jquery动态添加以及遍历option并获取特定样式名称的option方法
Jan 29 jQuery
vue.js实现格式化时间并每秒更新显示功能示例
Jul 07 Javascript
JS实现十分钟倒计时代码实例
Oct 18 Javascript
Vue实现搜索结果高亮显示关键字
May 28 Javascript
JS/jQuery实现超简单的Table表格添加,删除行功能示例
Jul 31 jQuery
基于node+vue实现简单的WebSocket聊天功能
Feb 01 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极大的增强功能和性能
2006/10/09 PHP
解析PHP中一些可能会被忽略的问题
2013/06/21 PHP
php检索或者复制远程文件的方法
2015/03/13 PHP
Yii2中事务的使用实例代码详解
2016/09/07 PHP
遍历指定目录,并存储目录内所有文件属性信息的php代码
2016/10/28 PHP
jquery.fileEveryWhere.js 一个跨浏览器的file显示插件
2011/10/24 Javascript
A标签中通过href和onclick传递的this对象实现思路
2013/04/19 Javascript
浅谈EasyUI中Treegrid节点的删除
2015/03/01 Javascript
JavaScript控制图片加载完成后调用回调函数的方法
2015/03/20 Javascript
浅析nodejs实现Websocket的数据接收与发送
2015/11/19 NodeJs
JS面向对象编程详解
2016/03/06 Javascript
JavaScript制作简单的日历效果
2016/03/10 Javascript
jQuery数组处理函数整理
2016/08/03 Javascript
学习vue.js条件渲染
2016/12/03 Javascript
jquery实现(textarea)placeholder自动换行
2016/12/22 Javascript
JS点击缩略图整屏居中放大图片效果
2017/07/04 Javascript
浅谈vuex 闲置状态重置方案
2018/01/04 Javascript
关于HTTP传输中gzip压缩的秘密探索分析
2018/01/12 Javascript
深入浅析Vue 中 ref 的使用
2019/04/29 Javascript
Node.js API详解之 console模块用法详解
2020/05/12 Javascript
基于JavaScript实现猜数字游戏代码实例
2020/07/30 Javascript
JavaScript 实现下雪特效的示例代码
2020/09/09 Javascript
详解vue修改elementUI的分页组件视图没更新问题
2020/11/13 Javascript
[01:00:54]TI4正赛第二日开场
2014/07/20 DOTA
[03:27]最受玩家喜爱奖提名:PZH_Element 致玩家寄语
2016/12/20 DOTA
[36:45]TNC vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python ElementTree 基本读操作示例
2009/04/09 Python
Python request操作步骤及代码实例
2020/04/13 Python
爱淘宝:淘宝网购物分享平台
2017/04/28 全球购物
什么是ARP(Address Resolution Protocol)地址解析协议
2013/10/31 面试题
人事专员岗位职责
2013/11/20 职场文书
幼儿园运动会入场词
2014/02/10 职场文书
市政管理求职信范文
2014/05/07 职场文书
安全生产一岗双责责任书
2014/07/28 职场文书
2015年乡镇卫生院工作总结
2015/04/22 职场文书
如何利用pygame实现打飞机小游戏
2021/05/30 Python