本文详细的介绍了小程序获取当前位置加搜索附近热门小区及商区的方法,分享给大家

两种方法:一种是腾讯地图获取,另一种是百度地图获取

我用的是腾讯地图获取步骤如下

1、话不多说,直接上干货

实现上图效果,主要技术是获取微信小程序地理位置,得到经纬度,使用微信小程序JavaScript SDK逆地址解析和地点搜索实现

2、微信小程序JavaScript SDK

下载微信小程序JavaScriptSDK,微信小程序JavaScriptSDK v1.0 下载完成后放入utils文件夹下引用即可

安全域名设置,在“设置” -> “开发设置”中设置request合法域名,添加https://apis.map.qq.com

3.详细代码

不显示位置

{{item.title}}

{{item.address}}

//获取应用实例

const app = getApp();

var timer = false;

var QQMapWX = require('../../../utils/qqmap-wx-jssdk.js');

var qqmapsdk;

Page({

data: {

statusBarHeight: getApp().globalData.statusBarHeight,

page:1,

pois:[]

},

//返回按钮

BackTap: function (e) {

// console.log(this.data.lists[e.currentTarget.dataset.item])

app.globalData.addAddr=[]

app.globalData.addAddr.push(this.data.pois[e.currentTarget.dataset.item])

wx.navigateBack({

delta: 1

})

},

BackTap2: function (e) {

// console.log(this.data.lists[e.currentTarget.dataset.item])

app.globalData.addAddr=[]

wx.navigateBack({

delta: 1

})

},

backTap3:function(){

wx.navigateBack({

delta: 1

})

},

onLoad: function () {

qqmapsdk = new QQMapWX({

key: 'IOJBZ-VOT3Q-2G55W-G5FJ2-7UIKH-6JBGU'

});

},

onShow: function () {

let vm = this;

vm.getUserLocation();

},

getUserLocation: function () {

let vm = this;

wx.getSetting({

success: (res) => {

console.log(JSON.stringify(res))

// res.authSetting['scope.userLocation'] == undefined 表示 初始化进入该页面

// res.authSetting['scope.userLocation'] == false 表示 非初始化进入该页面,且未授权

// res.authSetting['scope.userLocation'] == true 表示 地理位置授权

if (res.authSetting['scope.userLocation'] != undefined && res.authSetting['scope.userLocation'] != true) {

wx.showModal({

title: '请求授权当前位置',

content: '需要获取您的地理位置,请确认授权',

success: function (res) {

if (res.cancel) {

wx.showToast({

title: '拒绝授权',

icon: 'none',

duration: 1000

})

vm.BackTap2()

} else if (res.confirm) {

wx.openSetting({

success: function (dataAu) {

if (dataAu.authSetting["scope.userLocation"] == true) {

wx.showToast({

title: '授权成功',

icon: 'success',

duration: 1000

})

//再次授权,调用wx.getLocation的API

vm.getLocation();

} else {

wx.showToast({

title: '授权失败',

icon: 'none',

duration: 1000

})

vm.BackTap2()

}

}

})

}

}

})

} else if (res.authSetting['scope.userLocation'] == undefined) {

//调用wx.getLocation的API

vm.getLocation();

}

else {

//调用wx.getLocation的API

vm.getLocation();

}

}

})

},

// 微信获得经纬度

getLocation: function () {

let vm = this;

wx.getLocation({

type: 'wgs84',

success: function (res) {

console.log(JSON.stringify(res),'获得经纬度')

var latitude = res.latitude

var longitude = res.longitude

vm.setData({

latitude: latitude,

longitude: longitude

})

vm.getLocal(latitude, longitude)

},

fail: function (res) {

vm.BackTap2()

}

})

},

// 获取当前地理位置

getLocal: function (latitude, longitude) {

let vm = this;

wx.showLoading({

title: '加载中',

})

qqmapsdk.reverseGeocoder({

location: {

latitude: latitude,

longitude: longitude,

},

coord_type:1,

get_poi: 1,

poi_options: 'page_size=20;page_index='+vm.data.page,

success: function (res) {

console.log(res,'地理位置');

wx.hideLoading()

let pois = res.result.pois

vm.setData({

pois: vm.data.pois.concat(pois),

})

},

fail: function (res) {

console.log(res);

},

complete: function (res) {

// console.log(res);

}

});

},

//根据坐标查询位置

bindInputSchool(e) {

var val = e.detail.value;

let vm = this

clearTimeout(timer);

timer = setTimeout(function () {

if(val.length>0){

qqmapsdk.search({

keyword: val , //搜索关键词

location: {

latitude: vm.data.latitude,

longitude: vm.data.longitude,

},

page_size:20,

success: function (res) {

console.log(res, '搜索位置');

let pois = res.data

vm.setData({

pois: pois,

})

},

});

}else{

vm.setData({

pois:[],

})

vm.getLocal(vm.data.latitude, vm.data.longitude)

}

}, 500);

},

onReachBottom:function(){

let vm = this;

vm.setData({

page:vm.data.page+1

})

vm.getLocal(vm.data.latitude, vm.data.longitude)

},

})

这样就一步一步实现了微信地理位置选择

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

获取附近小区信息_小程序获取当前位置加搜索附近热门小区及商区的方法相关推荐

  1. 小程序获取城市行政区号_小程序获取用户手机号操作代码示例

    小程序获取手机号操作,获取微信用户绑定的手机号,需先调用wx.login接口.因为需要用户主动触发才能发起获取手机号接口,所以该功能不由 API 来调用,需用 组件的点击来触发,也就是用户主动点击按钮 ...

  2. 从微信服务器获取用户信息,微信小程序Ⅴ [获取登陆用户信息,重点openID(详解)]...

    ♩ 背景 其实这篇文章几个月前就写完了,可是这段时间,微信小程序官方文档有了更新,同事在我本身的实际操做过程当中,发现以前写的过于繁杂,因此如今进行简化梳理,欢迎指摘. 语言框架:ThinkPHP3. ...

  3. php微信小程序获取用户信息,微信小程序获取openid及用户信息的方法

    本文主要介绍微信小程序如何获取openid及用户信息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能帮助到大家. 1. 获取openid 1.1 获取code 调用接口获取登录凭证(code ...

  4. 小程序获取openid保存缓存吗_小程序获取openid踩坑

    在app.js添加此函数,使用promise获取 getOpenid: function () { var that = this; return new Promise(function (reso ...

  5. 小程序获取城市行政区号_小程序中通过经纬度如何获取所在省市区名字(腾讯地图JavaScript SDK)...

    在小程序中通过经纬度来获取所在省市区名字,这个功能还是挺有意思的,小程序中竟然不直接返回所在省市区,只提供经纬度,还需要腾讯地图来获取,还是有点小坑的,不注意的话很容易出问题.废话不多说,请看下文. ...

  6. layui获取checkbox选中值_小程序之十二 获取多选按钮数值及后续想法

    选自杨敬华画作.我,一直为亲手促成其成为同事感到骄傲,类似让我骄傲的,还有几位. 图文,超过1000字,就没有耐心看完,我尽量控制在1000字以内! 今天,编个程,展示一下复选款数据获取方式 需求:从 ...

  7. php获取QQ音乐直链,微信小程序-获取QQ音乐直链

    获取QQ音乐直链-用于微信小程序 补充:以下方法获取的直链会有失效期,如果大家有嗅探等工具可以直接上QQ音乐网站获取资源的直链,此方法仅供参考. 问题起源: 最近在做小程序音频播放这一块的时候发现一个 ...

  8. uni-app微信小程序生成自定义参数二维码,跳转小程序指定页面,获取参数;uni-app微信小程序获取二维码自定义参数;微信小程序生成动态参数二维码;uni-app微信小程序获取动态参数二维码;

    一.场景需求: 在小程序个人名片页面A页面,生成用户的个人名片二维码(该二维码携带用户的唯一标识id):微信扫一扫或长按图片识别这个二维码,可以跳转到小程序的B页面,并且在B页面拿到二维码上的唯一标识 ...

  9. sql 获取数据库字段信息_使用DBATools获取SQL数据库详细信息

    sql 获取数据库字段信息 In the series of articles on DBATools, (see TOC at the bottom) we are exploring useful ...

最新文章

  1. Xshell登录Ubuntu12.04
  2. Python基础类型之元组
  3. Ubuntu使用mutt收、发、回复邮件(mutt+msmtp+fetchmail+procmail
  4. 【组合数学】第一类,第二类斯特林数(Stirling),Bell数
  5. 《Unity2018入门与实战》笔记(9 / 9):个人总结
  6. netbeans java中文_Ubuntu 下jdk安装中文字体 java 解决netbeans 方块字 中文乱码
  7. Excel和Word 简易工具类,JEasyPoi 2.1.7 版本发布
  8. 学术杂谈|一篇所有研究生都该读的好文:阳光温热 科研静好!
  9. Java学习博客第一篇
  10. 【OpenCV】检测人脸、眼睛、鼻子、耳朵、嘴
  11. C语言自学指南(总觉 光阴不够)
  12. 大数据模型-银行客户细分与个人客户流失预警
  13. vivox9怎么和计算机共享,vivo手机怎么和笔记本电脑共享文件和网络
  14. 前端JavaScript(1) --Javascript简介,第一个JavaScript代码,数据类型,运算符,数据类型转换,流程控制,百度换肤,显示隐藏...
  15. Eclipse设置护眼背景色以及字体颜色
  16. 华为鸿蒙小插件,mate30pro鸿蒙系统无法加载时钟小部件
  17. Flink系列文档-(YY03)-Flink编程基础API-Source
  18. 什么是环境变量?环境变量配置,jdk8的path环境变量配置,各个版本下jdk结构的变化以及环境变量配置的阐述,java命令执行三个不同目录下的java.exe说明
  19. 超松弛迭代法求解二维电磁场有限差分方程(附Matlab代码)
  20. 将图片转换为Base64

热门文章

  1. 基于Php美妆化妆品商城购物网站
  2. 业内人士坦言——猎头公司做不大
  3. 华为mate40pro和p40pro参数对比 华为mate40pro和p40pro哪个好
  4. OpenSSL密码库算法笔记——第 2.2.4章 Barrett模数与相关函数
  5. OSChina 周四乱弹 ——今天家里只有我和女室友,我想……
  6. python快速排名seo代码_seo评价机制图(python快速排名seo)
  7. 包装类的自动装箱,自动拆箱
  8. 【JY】旭日始旦 岁月如新
  9. 2022年全网最全的Oracle数据库技术附练习题以及答案 循序渐进
  10. 简述c++语言的特点(优点)