小程序地图展示poi帖子点击可跳转
小程序地图展示poi帖子点击可跳转
是类似于小红书地图功能的需求

缺点
一个帖子只能有一个点击事件,不适合太复杂的功能,因为一个markers只有一个回调回调中只有markerId可以使用。
需求介绍
- 页面有地图入口,点开可打开地图界面
- 地图上展示命中poi的帖子。
- 帖子有图片,文字,用户头像以及用户名称
- 帖子可以自定义样式
代码
地图页面,地图相关的属性小程序文档有详细的介绍。主要使用了markers功能,可以在地图上面渲染一层view,再结和气泡属性customCallout实现。需要注意的是文档中虽然写了可以同层渲染但亲测在手机端会不显示,所以气泡结构全使用cover-的结构。
<mapid="map"style="width:100%;height: 100%;"latitude="{{latitude}}"scale="{{scale}}"longitude="{{longitude}}"subkey="{{mapKey}}"markers="{{markers}}"bindmarkertap="markertap"bindcallouttap="handleTap"><cover-view slot="callout"><block wx:for="{{calloutList}}" wx:key="index"><cover-view class="callout" marker-id="{{item.id}}"><cover-image class="icon" mode="aspectFill" src="{{item.contentSummary.imageList[0].url}}" ></cover-image><cover-view class="content"><cover-view class="title">{{item.title}}</cover-view><cover-view class="user-info"><cover-image class="avatar" src="{{item.postUser.avatarUrl}}" mode="aspectFill"/><cover-view>{{item.postUser.nickName}}</cover-view></cover-view></cover-view></cover-view></block></cover-view>
</map>
js需要data中需要定义好map绑定的属性,subkey是地图的key需要自己去腾讯地图的官网申请一下。
data: {latitude: 39.940115,scale: 17,longitude: 116.432503,subkey: config.KEY,// 地图标记markers: [],},
// 数据结构就不贴出来了,自己定义就可以,demoData在onload中调用以保证打开页面就能显示
demoData() {// 伪代码:假设从服务器获取数据,实际使用时需要传入请求参数和回调函数const data = wx.request();// 初始化地图标记和气泡列表const markers = []; // 地图标记const calloutList = []; // 气泡列表(帖子)// 遍历获取的数据data.forEach((item, index) => {const poiInfo = item.contentSummary.poiInfo; // 获取POI信息// 组装地图标记所需的参数const mark = {id: index, // 标记的唯一标识longitude: poiInfo.longitude, // 经度latitude: poiInfo.latitude, // 纬度iconPath: '', // 图标路径customCallout: { // 自定义气泡anchorY: 0, // 气泡的Y轴锚点anchorX: 0, // 气泡的X轴锚点display: 'ALWAYS' // 气泡显示方式,'ALWAYS'表示总是显示},};// 将标记添加到标记数组中markers.push(mark);// 给气泡添加唯一标识item.id = index;// 将气泡添加到气泡列表中calloutList.push(item);});// 更新页面数据this.setData({ markers, calloutList });
}
css 就正常写就行
.callout {box-sizing: border-box;background-color: #fff; border: 0.81px solid #CED6D9;border-radius: 12px;width: 178px;height: 67px;display: flex;padding: 6px;
}.icon {width: 44px;height: 55px;border-radius: 8px;
}.avatar {width: 16px;height: 16px;border-radius: 50%;
}.user-info {font-family: 'PingFang SC';font-size: 12px;font-weight: 400;line-height: 12px;text-align: left;color: #000000EB;display: flex;align-items: center;margin-top: 2px;
}.content {display: flex;flex-direction: column;flex: 1;padding-left: 4px;
}.title {font-size: 14px;font-weight: 400;text-align: left;white-space: normal;display: -webkit-box;overflow: hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex: 1;
}
相关文章:
小程序地图展示poi帖子点击可跳转
小程序地图展示poi帖子点击可跳转 是类似于小红书地图功能的需求 缺点 一个帖子只能有一个点击事件,不适合太复杂的功能,因为一个markers只有一个回调回调中只有markerId可以使用。 需求介绍 页面有地图入口,点开可打开地图界面地图上展…...
传统到AI 大数据分析的演变,颠覆智慧水电的未来?
传统到AI 大数据分析的演变,颠覆智慧水电的未来? 前言传统到AI 大数据分析的演变 前言 水电作为一种重要的能源形式,一直在我们的生活中扮演着至关重要的角色。而如今,随着科技的飞速发展,智慧水电和 AI 大数据应用的…...
while语句
1.while使用 打印1-10 #include<stdio.h> int main() {int a 1;while (10 > a){printf("%d\n", a);a 1;}return 0; } 2.while语句中的break,continue break: 跳出while语句 #include<stdio.h> int main() {int a 0;wh…...
机器学习(西瓜书)第 10 章 降维与度量学习
10.1 k近邻学习kNN k 近邻(k-Nearest Neighbor,简称kNN)学习是一种常用的监督学习方法,其工作机制非常简单:给定测试样本,基于某种距离度量找出训练集中与其最靠近的k个训练样本,然后基于这k个 “邻居”的信息来进行预测.通常,在…...
828华为云征文 | 云服务器Flexus X实例,Docker集成搭建Halo博客平台
828华为云征文 | 云服务器Flexus X实例,Docker集成搭建Halo博客平台 Halo博客平台是一款基于Java的开源博客系统,以其简单易用、功能强大、美观大方等特点而受到广泛欢迎,采用了多种先进的技术框架,包括Freemarker模板引擎、Vue.j…...
Android carrier_list.textpb 和apns-conf.xml 配置文件参考
简介 针对SIM 的APN配置是在apns-conf.xml,而Google源码中有apns-full-conf.xml案例参考,是加入了carrier_id的统一配置,就不用单独的一张张卡配了。 apns-conf.xml和apns-full-conf.xml有什么区别? 在于它们包含的配置内容和复杂性,full包含了carrier_id字段。 详细代…...
二期 1.4 Nacos安装部署 - Window版
本文目录 Nacos支持三种部署模式环境准备下载Nacos启动登录服务注册与查看Nacos支持三种部署模式 单机模式 - 用于测试和单机试用。集群模式 - 用于生产环境,确保高可用。多集群模式 - 用于多数据中心场景。以 Window单机模式 抛转引玉,其它部署方式参考官方文档: https://n…...
vue3基础九问,你会几问
1. Vue是什么? Vue.js 是一个用于构建用户界面的渐进式 JavaScript 框架。它的核心库只关注视图层,采用自下而上的增量开发设计,这使得你可以将 Vue 轻松地整合到现有的项目中,或者与其他前端库一起使用。Vue 的目标是通过提供反…...
Linux系统应用之知识补充——OpenEuler(欧拉)的安装和基础配置
前言 这篇文章将会对OpenEuler的安装进行详解,一步一步跟着走下去就可以成功 注意 :以下的指令操作最好在root权限下进行(即su - root) ☀️工贵其久,业贵其专! 1、OpenEuler的安装 这里我不过多介绍&a…...
Git(4):修改git提交日志
修改最新一次提交的信息 git commit --amend 修正提交信息 在打开的编辑器中修改信息,保存并退出,Git 会用新的提交信息替换掉旧的提交信息(commit-id 变化)。也可以使用 git commit --amend -m "" 直接修改日志&#…...
【深度学习】(1)--神经网络
文章目录 深度学习神经网络1. 感知器2. 多层感知器偏置 3. 神经网络的构造4. 模型训练损失函数 总结 深度学习 深度学习(DL, Deep Learning)是机器学习(ML, Machine Learning)领域中一个新的研究方向。 从上方的内容包含结果,我们可以知道,在学习深度学…...
测试文件和数据库文件
接口测试 flaks项目入口文件manage.py路由配置 import requests#首先面向对象作封装,避免相同代码反复编写 class HttpApiTest:def test_get(self,url,data{}): #用来测试get方法的接口 #self通过共享self类中间的变量 #url用来请求接口 #data可传可不传res reques…...
redis集群模式连接
目录 一:背景 二:实现过程 三:总结 一:背景 redis集群通过将数据分散存储在多个主节点上,每个主节点可以有多个从节点进行数据的复制,以此来实现数据的高可用性和负载均衡。在集群模式下,客户…...
Linux高级I/O:多路转接模型
目录 一.常见的IO模型介绍二.多路转接I/O1.select1.1.函数解析1.2. select特点和缺点1.3.基于 select 的多客户端网络服务器 2.poll2.1.poll函数解析2.2.poll特点和缺点2.3.基于poll的tcp服务器 3.epoll3.1.系列函数解析3.2.epoll原理解析2.3.基于 select 的多客户端网络服务器…...
MongoDB Limit 与 Skip 方法
MongoDB Limit 与 Skip 方法 MongoDB 是一个流行的 NoSQL 数据库,它提供了灵活的数据存储和强大的查询功能。在处理大量数据时,我们常常需要限制返回的结果数量或者跳过一部分结果,这时就可以使用 MongoDB 的 limit 和 skip 方法。 Limit 方…...
【2025】中医药健康管理小程序(安卓原生开发+用户+管理员)
博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…...
VulnHub-Bilu_b0x靶机笔记
Bilu_b0x 靶机 概述 Vulnhub 的一个靶机,包含了 sql 注入,文件包含,代码审计,内核提权。整体也是比较简单的内容,和大家一起学习 Billu_b0x.zip 靶机地址: https://pan.baidu.com/s/1VWazR7tpm2xJZIGUS…...
Python | Leetcode Python题解之第421题数组中两个数的最大异或值
题目: 题解: class Trie:def __init__(self):# 左子树指向表示 0 的子节点self.left None# 右子树指向表示 1 的子节点self.right Noneclass Solution:def findMaximumXOR(self, nums: List[int]) -> int:# 字典树的根节点root Trie()# 最高位的二…...
如何将普通Tokenizer变成Fast Tokenizer
现在的huggingface库里面Tokenizer有两种,一种就是普通的,另一种是fast的。fast和普通的区别就是fast使用rust语言编写,在处理大量文本的时候会更快。我自己测试的时候单一一句的话fast要比普通的慢一些,当量叠上来,到…...
联合复现!考虑最优弃能率的风光火储联合系统分层优化经济调度!
前言 目前,尽管不断地追逐可再生能源全额消纳方式,大幅减小弃风弃光电量,但是若考虑风电、光伏发电的随机属性,全额消纳可能造成电网峰谷差、调峰难度及调峰调频等辅助服务费用的剧增,引起电网潜在运行风险。因此&…...
Mac开发者必备:OpenClaw联动千问3.5-27B实现代码审查自动化
Mac开发者必备:OpenClaw联动千问3.5-27B实现代码审查自动化 1. 为什么需要代码审查自动化? 作为独立开发者,我经常面临一个尴尬局面:在深夜提交代码后,第二天才发现引入了低级语法错误或潜在漏洞。传统CI工具虽然能捕…...
面向对象分析模型深入分析
面向对象分析模型深入分析 面向对象分析(Object-Oriented Analysis, OOA)是系统分析师在需求阶段的核心工作方法。它强调从问题域中的客观实体出发,以“对象”为基本单元建立业务模型,而不是从功能或数据流出发。下面从核心概念、三大模型、建模流程到实战案例进行全面解析…...
网安工程师好就业吗?零基础转行如何操作?
“ 就业是好就业的,但是太卷了,因为它本身就是个门槛低,技术高的工作。如果决定要走这条路,那么一定要下定决心好好学,学出来了这下半辈子就不用愁了。” 网络安全,这个在现代社会愈发受到重视的领域&#…...
新手避坑指南:用Selenium和MongoDB爬取东方财富股吧评论(附完整代码)
金融数据爬虫实战:Selenium与MongoDB避坑全攻略 第一次尝试用Selenium爬取东方财富股吧数据时,我盯着屏幕上第20次出现的"方正证券吧"跳转页面,终于意识到自己触发了反爬机制。作为过来人,我整理出这份涵盖环境配置、反…...
现在有开源的最好的矢量动画模型是什么,什么配置的电脑可以部署
目录 一、主流开源矢量动画模型对比 二、电脑配置方案(按预算分级) 1. 旗舰级(稳跑 OmniLottie 高性能) 2. 主流级(稳跑 AnimateDiff 兼顾通用) 3. 入门级(轻量应用) 三、关…...
2026最权威的AI科研神器解析与推荐
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 在当下的学术环境当中,把论文AI网站进行高效利用,已然成为了研究者去…...
Intel集成显卡加速PyTorch:从环境搭建到模型训练实战指南
1. 为什么选择Intel集成显卡加速PyTorch? 很多朋友刚接触深度学习时,第一反应都是"得买块N卡"。但你可能不知道,手头的Intel集成显卡也能跑PyTorch,而且效果还不错。我去年给团队配开发机时,就专门测试过Int…...
解决WPS标题编号不从‘一‘开始的烦恼:新手必看避坑指南
WPS标题编号异常全解析:从问题根源到高阶应用技巧 刚接触WPS文字处理的新手们,经常会遇到一个令人困惑的现象——文档中的标题编号莫名其妙地从"二"或"三"开始,而不是预期的"一"。这种情况不仅影响文档美观&am…...
Mac鼠标滚轮优化神器:Mos让外接鼠标体验媲美原生触控板的完整指南
Mac鼠标滚轮优化神器:Mos让外接鼠标体验媲美原生触控板的完整指南 【免费下载链接】Mos 一个用于在 macOS 上平滑你的鼠标滚动效果或单独设置滚动方向的小工具, 让你的滚轮爽如触控板 | A lightweight tool used to smooth scrolling and set scroll direction inde…...
JavaScript基础课程二、学习JavaScript路线图
JavaScript 全栈学习路线 JavaScript 基础→进阶→高级→跨平台实战 这是一套零基础可入门、循序渐进、覆盖全场景的 JavaScript 学习路线,包含学习重点、实战项目、工具资源和避坑指南,学完可独立开发网页、小程序、APP、桌面软件、后端服务。 一、先搞懂:JavaScript 到…...
