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

 更新时间:2019年04月29日 11:13:50   转载 作者:意外金喜  
这篇文章主要介绍了微信小程序-获取用户地理位置名称(无须用户授权)的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

在本文 微信小程序--获取用户地理位置名称(无须用户授权) 之前需要先看看

微信小程序-获取用户session_key,openid,unionid - 后端为nodejs

代码封装是在上文添加的。

准备

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中的prototype与继承

    Javascript中的prototype与继承

    本文主要介绍了Javascript中的prototype与继承,具有一定的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • 5分钟理解JavaScript中this用法分享

    5分钟理解JavaScript中this用法分享

    这篇文章介绍了5分钟理解JavaScript中this用法,有需要的朋友可以参考一下
    2013-11-11
  • VsCode插件整理(小结)

    VsCode插件整理(小结)

    这篇文章主要介绍了VsCode插件整理(小结),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • js控制frameSet示例

    js控制frameSet示例

    修改frameset的cols属性来达到修改各个页面所占的宽高,例如隐藏当前frame页等等,感兴趣的朋友可以了解下
    2013-09-09
  • js验证身份证号码记录的方法

    js验证身份证号码记录的方法

    在一些需要填写身份证的表单网页中,需要对身份证的输入做一个验证,于是,我记录下了自己写的验证。这篇文章主要介绍了js验证身份证号码记录的方法,需要的朋友可以参考下
    2019-04-04
  • 详解JavaScript正则表达式之RegExp对象

    详解JavaScript正则表达式之RegExp对象

    这篇文章主要介绍了JavaScript正则表达式之RegExp对象,对RegExp对象的基本使用方法,以及各种方法进行整理,感兴趣的小伙伴们可以参考一下
    2015-12-12
  • js 实现 list转换成tree的方法示例(数组到树)

    js 实现 list转换成tree的方法示例(数组到树)

    这篇文章主要介绍了js 实现 list转换成tree的方法示例(数组到树),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • 如何实现从照片中裁切自已的肖像呢?

    如何实现从照片中裁切自已的肖像呢?

    如何实现从照片中裁切自已的肖像呢?...
    2007-03-03
  • JavaScript的递归之递归与循环示例介绍

    JavaScript的递归之递归与循环示例介绍

    对于不同类型的需要重复计算的问题,循环和递归两种方法各有所长,能给出更直观简单的方案,下面为大家详细的介绍下JavaScript的递归与循环,感兴趣的朋友可以了解下
    2013-08-08
  • js限制输入框只能输入数字(onkeyup触发)

    js限制输入框只能输入数字(onkeyup触发)

    这篇文章主要介绍了通过js实现input输入框只能输入数字的实现方法,主要是通过正则表达式替换实现,需要的朋友可以参考下
    2018-09-09

最新评论