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.hqwc.cn/news/109810.html

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

相关文章

基于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.…

postgresql-视图

postgresql-视图 视图概述使用视图的好处 创建视图修改视图删除视图递归视图可更新视图WITH CHECK OPTION 视图概述 视图&#xff08;View&#xff09;本质上是一个存储在数据库中的查询语句。视图本身不包含数据&#xff0c;也被称为 虚拟表。我们在创建视图时给它指定了一个…

腾讯云镜像TencentOS Server操作系统介绍、性能稳定性测评

腾讯云TencentOS Server镜像是腾讯云推出的Linux操作系统&#xff0c;完全兼容CentOS生态和操作方式&#xff0c;TencentOS Server操作系统为云上运行的应用程序提供稳定、安全和高性能的执行环境&#xff0c;TencentOS可以运行在腾讯云CVM全规格实例上&#xff0c;包括黑石物理…

天翎知识管理系统:智能化搜索引擎,快速定位知识资源

关键词&#xff1a;知识管理系统、全文检索 编者按&#xff1a;在当今知识经济时代&#xff0c;企业所面临的知识资源越来越丰富&#xff0c;如何高效地管理和利用这些资源成为了一个重要的问题。天翎知识管理系统凭借其智能化搜索引擎&#xff0c;可以帮助企业快速定位知识资源…

Windows11系统下配置JAVA环境变量

一、环境变量的配置 1、右键开始菜单按钮&#xff0c;点击【系统➡高级系统设置】 2、在弹出的系统属性界面点击环境变量 3、在弹出的“环境变量”框&#xff0c;中选择下方的系统变量&#xff0c;点击新建 4、在弹出的“新建系统变量”框中&#xff0c;输入变量名和变量值&am…

数据预处理-分箱(Binning)和 WOE编码

数据预处理-分箱&#xff08;Binning&#xff09;和 WOE编码 1. 分箱 1.1 理论 1.1.1 定义 分箱就是将连续的特征离散化&#xff0c;以某种方式将特征值映射到几个箱(bin)中。 1.1.2 为什么要进行分箱&#xff1f; 引入非线性变换&#xff0c;增强模型性能。因为原始值和目…

【2023集创赛】加速科技杯作品:高光响应的二硫化铼光电探测器

本文为2023年第七届全国大学生集成电路创新创业大赛&#xff08;“集创赛”&#xff09;加速科技杯西北赛区二等奖作品分享&#xff0c;参加极术社区的【有奖征集】分享你的2023集创赛作品&#xff0c;秀出作品风采&#xff0c;分享2023集创赛作品扩大影响力&#xff0c;更有丰…

【Flowable】任务监听器(五)

前言 之前有需要使用到Flowable&#xff0c;鉴于网上的资料不是很多也不是很全也是捣鼓了半天&#xff0c;因此争取能在这里简单分享一下经验&#xff0c;帮助有需要的朋友&#xff0c;也非常欢迎大家指出不足的地方。 一、监听器 在Flowable中&#xff0c;我们可以使用监听…

C++(day4)

思维导图 封装Mystring #include <iostream> #include<cstring>using namespace std;class Mystring{ public://无参构造函数Mystring():size(10){strnew char[size];strcpy(str,"");cout<<"无参构造函数"<<endl;}//有参构造函数…

中小企业建设数字化工厂,选择集成还是重构

随着科技的飞速发展和市场竞争的日益激烈&#xff0c;数字化工厂管理系统已成为中小企业未来发展的必经之路。然而&#xff0c;对于许多中小企业来说&#xff0c;建设数字化工厂并非易事。在建设数字化工厂的过程中&#xff0c;企业需要面对许多问题&#xff0c;其中最关键的问…

Zynq UltraScale+ XCZU3EG 纯VHDL解码 IMX214 MIPI 视频,2路视频拼接输出,提供vivado工程源码和技术支持

目录 1、前言免责声明 2、我这里已有的 MIPI 编解码方案3、本 MIPI CSI2 模块性能及其优越性4、详细设计方案设计原理框图IMX214 摄像头及其配置D-PHY 模块CSI-2-RX 模块Bayer转RGB模块伽马矫正模块VDMA图像缓存Video Scaler 图像缓存DP 输出 5、vivado工程详解PL端FPGA硬件设计…

【栈与队列面试题】有效的括号(动图演示)

leetcode20.括号匹配问题 前言&#xff1a; &#x1f4a5;&#x1f388;个人主页:​​​​​​Dream_Chaser&#xff5e; &#x1f388;&#x1f4a5; ✨✨刷题专栏:http://t.csdn.cn/UlvTc ⛳⛳本篇内容:力扣上栈与队列的面试OJ题目 目录 leetcode20.括号匹配问题 1.问题描…