uniapp微信小程序地图实现周边

官方说明:小程序JavascriptSDK使用指南 - 微信小程序解决方案 | 腾讯位置服务icon-default.png?t=N7T8https://lbs.qq.com/product/miniapp/jssdk/

  1. 先申请腾讯地图的开发者密钥,申请地址:腾讯位置服务 - 立足生态,连接未来

  2. 申请密钥时,需要勾选webServiceAPI和微信小程序

  3. 下载微信小程序JavaScriptSDK,微信小程序JavaScriptSDK v1.0,解压后,将qqmap-wx-jssdk.min.js放入到项目目录中

  4. 在点击需要查询的配套设施时,调用search方法,设置搜索条件keyword和location

  5. 在回调success中,将返回的结果通过marker标到地图上,或者以文本的形式展示在列表中

效果展示:

调用qqmapsdk.search方法

qqmapsdk.search({keyword: name,//搜索周边poi,比如:“酒店” “餐饮” “娱乐” “学校” 等等page_size: 5, //每页条目数,最大限制为20条,默认值10location: that.mapxx.latitude + ',' + that.mapxx.longitude,//①String格式:lat<纬度>,lng<经度>(例:location: ‘39.984060,116.307520’)success: function(res) { //搜索成功后的回调wx.hideToast({});let arrlist = [];for (var i = 0; i < res.data.length; i++) {arrlist.push({ // 获取返回结果,放到mks数组中title: res.data[i].title,latitude: res.data[i].location.lat,longitude: res.data[i].location.lng,distance: res.data[i]._distance,})}// 每次不用重新赋值,通过下标给需要的赋值that.peripheralsData = arrlist;//前台需要展示的数组},fail: function(res) {console.log(res);},complete: function(res) {}});

周边配套设置的完整代码部分

HTML

<view class="infoBox_peripherals"><view class="infoBox_peripherals_title"><view class="infoBox_peripherals_title__left"><view class="infoBox_peripherals_title__left_bgbox"></view><view>周边配套</view></view></view><view class="infoBox_peripherals_mapbox"><map class="infoBox_peripherals_mapbox__map" id="map" :latitude="mapxx.latitude" :longitude="mapxx.longitude":scale="mapxx.scale" :markers="mapxx.markers"></map></view><view class="infoBox_peripherals_tabs"><u-tabs :list="list":current="tabsCurrent"@click="tabsClick"></u-tabs></view><view class="infoBox_peripherals_tabsitem"><view v-for="(item,index) in peripheralsData" :key="index" class="infoBox_peripherals_tabsitem_items"><view class="infoBox_peripherals_tabsitem_items_left"><image src="../../static/index/location-icon1@2x.png" style="width: 26rpx;height: 34rpx;"></image><view class="infoBox_peripherals_tabsitem_items_left_text">{{item.title}}</view></view><view class="infoBox_peripherals_tabsitem_items_right">{{item.distance}}m</view></view></view></view>

CSS

// 周边设备
&_peripherals{background: #FFFFFF;box-shadow: 0rpx 4rpx 20rpx 0rpx rgba(0, 0, 0, 0.05);border-radius: 16rpx;margin-bottom: 80rpx;&_title{display: flex;justify-content: space-between;padding: 14px 12px;font-size: 14px;letter-spacing: 1px;
&__left{display: flex;font-size: 24rpx;font-weight: 600;color: #00A39C;&_bgbox{width: 6rpx;height: 28rpx;background: #00A39C;border-radius: 3rpx;margin-right: 12rpx;}
}
&__right{font-weight: 600;&__green{color:#00AF99;}&__yellow{color:#FBAD00;}
}
}&_mapbox{
width: 100%;
height: 400rpx;
border-radius: 12rpx;
padding: 12px 14px;
box-sizing: border-box;display: flex;
justify-content: center;
align-items: center;
background-color: #fff;
&__map{height: 398rpx;width: 100%;border-radius: 5px;background-color: #fff;
}
}
&_tabs{
// padding: 12px 14px;
}&_tabsitem{
padding: 14px 12px;&_items{display: flex;align-items: center;justify-content: space-between;margin-bottom: 18rpx;&_left{display: flex;align-items: center;font-size: 28rpx;font-weight: 400;color: #333333;&_text{margin-left: 10rpx;}}&_right{font-size: 24rpx;font-weight: 400;color: #999999;}
}
}
}

JS

<script>import {runSQL,information} from '../../common/util/wxutils.js';let  QQMapWX = require('../../common/map/qqmap-wx-jssdk.min.js');let qqmapsdk;qqmapsdk = new QQMapWX({key: information.key});let infowidth = 32,infoheight = 42;let infoiconPath = '../../static/mapview/loaction-red.png';export default {data(){return{list:[{name:'交通'},{name:'学校'},{name:'医疗'},{name:'生活'},{name:'休闲'}],peripheralsData:[],// 地图相关mapxx:{latitude:35.931616,longitude:120.008822,scale:16,markers:{id:0,latitude:35.931616,longitude:120.008822,iconPath:infoiconPath,}}}},onLoad(data) {this.initmap();// 自动调用周边查询this.searchNearby('交通');},filters : {filtercou(item){if(!item){return '暂未采集';}else{return item;}}},methods:{// 地图相关// 周边查询,切换tabstabsClick(item){console.log(item);this.searchNearby(item.name);},searchNearby(name){let that = this;wx.showToast({title: '请稍后',icon: 'loading',duration: 2000})qqmapsdk.search({keyword: name,page_size: 5, location: that.mapxx.latitude + ',' + that.mapxx.longitude,success: function(res) { //搜索成功后的回调wx.hideToast({});let arrlist = [];for (var i = 0; i < res.data.length; i++) {arrlist.push({ // 获取返回结果,放到mks数组中title: res.data[i].title,latitude: res.data[i].location.lat,longitude: res.data[i].location.lng,distance: res.data[i]._distance,})}// 每次不用重新赋值,通过下标给需要的赋值that.peripheralsData = arrlist;},fail: function(res) {console.log(res);},complete: function(res) {}});},initmap(){//获取当前的地理位置let vthis = this;uni.getLocation({type: 'gcj02',success: function (res) {vthis.mapxx.latitude = res.latitude;vthis.mapxx.longitude = res.longitude;vthis.mapxx.markers = [{id:1,latitude:res.latitude,longitude:res.longitude,iconPath:infoiconPath}];console.log('当前位置的经度:' + res.longitude);console.log('当前位置的纬度:' + res.latitude);}});}}}
</script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/133513.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Keepalived 高可用(附带配置实例,联动Nginx和LVS)

Keepalived 一、Keepalived相关知识点概述1.1 单服务的风险&#xff08;单点故障问题&#xff09;1.2 一个合格的集群应该具备的特性1.3 VRRP虚拟路由冗余协议1.4 健康检查1.5 ”脑裂“现象 二、Keepalived2.1 Keepalived是什么&#xff1f;2.2 Keepalived体系主要模块及其作用…

HBASE知识点

HBASE是什么&#xff1f; 高可靠、高性能、面向列、可伸缩、实时读写的分布式数据库。利用HDFS作为其文件存储系统&#xff0c;利用MapReduce来处理HBase中的海量数据。利用Zookeeper作为其分布式协同服务。用于存储非结构化和半结构化的松散数据。 HBase数据模型 RowKey: 唯…

[maven] scopes 管理 profile 测试覆盖率

[maven] scopes & 管理 & profile & 测试覆盖率 这里将一些其他的特性和测试覆盖率&#xff08;主要是 jacoco&#xff09; scopes maven 的 scope 主要就是用来限制和管理依赖的传递性&#xff0c;简单的说就是&#xff0c;每一个 scope 都有其对应的特性&…

解决IDEA actiBPM插件之.bpmn文件中文乱码

1、修改IDEA编辑器编码为utf8&#xff0c;File->Settings->Editor->File Encodings&#xff0c;都改为UTF-8 2、在IDEA安装bin目录下&#xff0c;找到 idea.exe.vmoptions 和 idea64.exe.vmoptions 两个文件&#xff0c;打开编辑分别在文本最末端添加下面代码&#xf…

⑩ vue新特性

ref 或者reactive ref相当于data methods props和context props &#xff01;&#xff01;&#xff01;setup中没有this关键字&#xff0c;使用context&#xff08;简写&#xff1a;ctx&#xff09;就是this 在steup中使用生命周期函数 Provide / Inject 1、原来是 a传…

VS2015+opencv 3.4.6开发环境

VS2015+opencv 3.4.6开发环境 一、安装包下载二、安装过程三、VS环境配置四、测试一、安装包下载 这里提供两种下载方法:   1. opencv官网   2. csdn资源下载 二、安装过程 2.1 下载opencv-3.4.6 安装包 2.2 双击开始安装,选择要安装目录,点击Extract。  2.3 等待解…

【MATLAB第75期】#源码分享 | 基于MATLAB的不规则间隔数据插值实现时间序列数据扩充(更新中)

【MATLAB第75期】#源码分享 | 基于MATLAB的不规则间隔数据插值实现时间序列数据扩充 代码 %% 清空环境变量 warning off % 关闭报警信息 close all % 关闭开启的图窗 clear % 清空变量 clc % 清空命令行%%…

批量多字段唯一性校验

批量多字段唯一性校验 思路&#xff1a; 查询列表本身是否含有重复数据新增修改分开考虑&#xff0c;新增只考虑数据库中是否有相同数据&#xff0c;修改不仅要考虑数据库中是否有相同数据&#xff0c;还要排除自身。由于是批量校验&#xff0c;排除自身只需考虑所有修改操作…

[当人工智能遇上安全] 9.基于API序列和深度学习的恶意家族分类实例详解

您或许知道&#xff0c;作者后续分享网络安全的文章会越来越少。但如果您想学习人工智能和安全结合的应用&#xff0c;您就有福利了&#xff0c;作者将重新打造一个《当人工智能遇上安全》系列博客&#xff0c;详细介绍人工智能与安全相关的论文、实践&#xff0c;并分享各种案…

线程同步互斥锁

共用三个函数&#xff1a; mutex_lock() mutex_unlock() mutex_trylock() pthread_mutex_lock给安卓上层使用&#xff0c;mutex_lock给kernel使用&#xff0c;本质是一样的&#xff0c;都是IPC通信中的互斥锁&#xff0c;只不过安卓上层封装出pthread_mutex_lock。 pthr…

安装深度(Deepin)系统

Deepin系统安装 Deepin是和Ubuntu一样&#xff0c;是一个基于Debian的Linux的发型版本。 Deepin相对于Ubuntu&#xff0c;Deepin更适合中国用户的使用习惯。 一 官网工具制作启动盘 制作启动盘、和安装系统&#xff0c;操作非常简单&#xff0c;nice&#xff01; 官网提供了…

Postman使用_参数设置和获取

文章目录 参数引用内置动态参数手动添加参数脚本设置参数脚本获取参数 参数就像变量一样&#xff0c;它可以是固定的值&#xff0c;也可以是变化的值&#xff0c;比如&#xff1a;会根据一些条件或其他参数进行变化。我们如果要使用该参数就需要引用它。 参数引用 引用动态参数…

SpringBoot-接口幂等性

幂等 幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。 幂等函数或幂等方法是指可以使用相同参数重复执行&#xff0c;并能获得相同结果的函数。这些函数不会影响系统状态&#xff0c;也不用担心重复执行会对系统造成改变。 尤其是支付、订单等与金钱挂…

基于matlab实现的弹簧振动系统模型程序(动态模型)

完整代码&#xff1a; clear all; %System data m1.0; zeta0.01; omega01.0; Dt1.0; f01.0; x00.0; dotx00.0; xmaxsqrt(x0^2(dotx0/omega0)^2)min([0.5*abs(f0)*Dt/(m*omega0) f0/omega0^2]); omegadomega0*sqrt(1-zeta^2); dt00.1*pi/omega0; nstep500; a0.70; b0.…

Codeforces Round 895 (Div. 3) A ~ F

Dashboard - Codeforces Round 895 (Div. 3) - Codeforces A 问多少次能使a 和 b相等&#xff0c;就是abs(a - b) / 2除c向上取整&#xff0c;也就是abs(a - b)除2c向上取整。 #include<bits/stdc.h> #define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #de…

Apache Commons Collections反序列化链分析(二)

Apache Commons是Apache开源的Java通用类项目在Java中项目中被广泛的使用&#xff0c;Apache Commons当中有一个组件叫做Apache Commons Collections&#xff0c;主要封装了Java的Collection(集合)相关类对象 通过接口实现查询&#xff0c;能获取到 ConstantTransformer、invo…

数据分享|R语言武汉流动人口趋势预测:灰色模型GM(1,1)、ARIMA时间序列、logistic逻辑回归模型...

全文链接&#xff1a;http://tecdat.cn/?p32496 人口流动与迁移&#xff0c;作为人类产生以来就存在的一种社会现象&#xff0c;伴随着人类文明的不断进步从未间断&#xff08;点击文末“阅读原文”获取完整代码数据&#xff09;。 相关视频 人力资源是社会文明进步、人民富裕…

pytorch生成CAM热力图-单张图像

利用ImageNet预训练模型生成CAM热力图-单张图像 一、环境搭建二、主要代码三、结果展示 代码和图片等资源均来源于哔哩哔哩up主&#xff1a;同济子豪兄 讲解视频&#xff1a;CAM可解释性分析-算法讲解 一、环境搭建 1&#xff0c;安装所需的包 pip install numpy pandas mat…

基于MediaPipe的人体摔倒检测

1 简介 1.1 研究背景及意义 现如今随着经济等各方面飞速发展&#xff0c;社会安全随之也成为必不可少的话题。而校园安全则是社会安全的重中之重&#xff0c;而在我们的校园中&#xff0c;湿滑的地面、楼梯等位置通常会发生摔倒&#xff0c;尽管有“小心脚下”的告示牌&#xf…

栈与队列经典题目——用队列实现栈

本篇文章讲解栈和队列这一部分知识点的经典题目&#xff1a;用栈实现队列、用队列实现栈。对应的题号分别为&#xff1a;Leetcode.225——用队列实现栈&#xff0c;。 在对两个题目进行解释之前&#xff0c;先回顾以下栈和队列的特点与不同&#xff1a; 栈是一种特殊的线性表…