【腾讯位置服务开发者征文大赛】AI+地图·城市浪费点位地图——点亮城市“闲置角落“,助力环保与城市更新
文章目录
前言
城市中存在大量"隐性浪费":长年关闭的店铺、无人使用的公共空间、夜间彻夜明亮的高能耗广告牌、成堆无人挪动的共享单车……这些浪费分散在城市各角落,难以被统一感知和管理。
本项目尝试用 AI + 腾讯位置服务 解决这一问题:通过 POI 数据检索、热力可视化与大模型分析,自动识别四类城市浪费点位,并以交互地图的形式将其直观呈现,同时为每处点位生成可落地的改造建议。项目借助 WorkBuddy + 腾讯位置服务 Agent Skill 完成开发,全程 AI 辅助,整体研发效率大幅提升。
项目效果图


项目演示
AI+地图·城市浪费点位地图
项目地址
当前项目已经开源并上传到GitCode 有需要的同学可以自行下载体验,注意配置自己的key哦
项目地址
项目实践
本项目借助 WorkBuddy 并结合腾讯位置服务的 Agent Skill 实现,腾讯位置服务基础能力 Skill 一览表如下:
| Skill 名称 | 定位 | 核心能力 | 下载地址 |
|---|---|---|---|
| TencentMap_jsapi_skills | 前端地图开发 | 地图初始化、3D 视图控制、覆盖物绘制、图层管理、事件系统、可视化渲染、三维模型展示 | TencentMap_jsapi_skills |
| TencentMap_lbs_skills | LBS 综合服务 | 周边搜索、旅游规划、轨迹图可视化 | TencentMap_lbs_skills |
| TencentMap_webservice_skills | WebService API 服务 | 地址转换、POI 搜索、路线规划、距离矩阵、IP 定位、天气查询等 | TencentMap_webservice_skills |
安装 Skill
在 WorkBuddy 中安装 Skill 有两种方式:
方式一:直接在技能标签栏中搜索相关 Skill 安装,如下图所示:

方式二:在任务中直接将 Skill 名称告知智能体,让其自动完成安装:

等待 Skill 安装成功后即可开始项目开发。
项目立项
本项目的核心目标是:用 AI 捕捉城市浪费轨迹,用地图激活闲置价值,让每一寸空间都发挥作用。
核心目标
公益层面:精准识别城市空间与资源浪费点位,为环保组织、城市管理部门提供数据支撑,助力可持续发展。
城市更新层面:针对闲置空间、空置店铺等,输出贴合实际的改造建议,推动城市"边角料"空间重生,打造城市更新微场景。
学生课题层面:提供轻量化数据采集、分析、可视化路径,适配学生参赛、课题研究,降低开发门槛,兼顾学术性与实践性。
技术底座

地图渲染与可视化:JavaScript API GL(实现地图底图加载、点位标记、自定义图层、浪费热力图渲染)、数据可视化 JS API(强化热力图、点位分类展示效果)。
点位检索与定位:地点检索 API(检索空置店铺、公共空间、广告牌、共享单车点位)、周边推荐 API(筛选指定范围内的浪费点位)、H5 地图定位组件(获取用户当前位置,查看周边浪费点位)、IP 定位(初始化用户城市,快速加载对应区域数据)。
数据支撑:轨迹云(记录共享单车轨迹,分析堆积点形成规律)、地点云(存储闲置点位信息,关联 POI 详情)、数据魔方(时空大数据分析平台,辅助识别长期空置、高能耗点位)。
AI 与协同:MCP 协议 + 工具调用(AI Agent 自动调度地图检索、热力渲染、路线规划能力)、大模型意图识别(理解用户查询,如"查询某区域闲置公共空间及改造建议")。
系统架构
下图展示了本项目的整体数据与调用流程:

核心功能模块
依托腾讯位置服务的 POI 数据与 AI 大模型,本项目自动识别城市中四类典型浪费现象,以热力图形式直观呈现浪费分布与严重程度。下表是四类点位的识别逻辑与核心 API 依托:
| 浪费点位类型 | AI 识别标准 | 依托腾讯位置服务能力 |
|---|---|---|
| 长期空置店铺 | 日均停留 < 5人、连续3个月无消费/打卡记录 | 地点检索 API、人群热力数据、数据魔方 |
| 闲置公共空间 | 日均使用人数 < 10人、AOI 热力持续低位 | 多边形检索 API、周边推荐 API、AOI 边界查询 |
| 高能耗广告牌 | 夜间22:00后亮度 > 800lux、日均耗电 > 50度 | 地点检索 API、时段监测、能耗估算模型 |
| 共享单车堆积 | 数量≥20辆、停留≥24小时、位于禁停区域 | 轨迹云、定位服务、批量距离计算 |
各点位被标注后,AI 自动按轻度/中度/重度三个等级给出差异化改造建议,覆盖空间活化、节能改造、单车调度等方向。
开始研发
到目前为止,项目前期工作已经准备就绪。接下来将需求整理完成,交给 WorkBuddy 来实现,如下图所示:

注意:当我们将需求给到
WorkBuddy之后,由于尚未配置腾讯位置服务的key,它会主动询问。我们直接告知WorkBuddy后期自行添加 key 即可,如下图所示:

项目开发完成后,WorkBuddy 实现的功能汇总如下图所示:


关键实现解析
1. 地图初始化与暗色 3D 底图
项目使用 JSAPI GL 加载暗色个性化样式(style4)并开启 3D 楼块,配合 35° 俯仰角,呈现出科技感十足的城市视觉效果:
var map = new TMap.Map('map', {
zoom : 12,
pitch : 35, // 俯仰角,3D 效果更佳
center : new TMap.LatLng(23.1291, 113.2644),
mapStyleId : 'style4', // 暗色个性化样式
baseMap : { type: 'vector', features: ['base', 'building3d'] }
});
2. 浪费热力图渲染
使用 TMap.visualization.Heat 生成分级热力图,颜色由绿→黄→红对应轻度→重度浪费,同时启用 3D 峰值高度增强视觉辨识度:
var heatLayer = new TMap.visualization.Heat({
max : 100,
min : 0,
height : 50, // 3D 峰值高度
radius : 40,
opacity: 0.85,
gradientColor: {
0 : '#1a6b3a', // 无浪费(深绿)
0.3 : '#52c41a', // 轻度浪费
0.6 : '#ffcc00', // 中度浪费
1.0 : '#ff0040' // 重度浪费(深红)
}
}).addTo(map).setData(heatPoints);
3. 四类点位分层标记
每类浪费点位创建独立的 MultiMarker 图层,支持重/中/轻三级样式区分,点击后展开右侧详情面板与 AI 改造建议:
var layer = new TMap.MultiMarker({
id : 'shop-layer',
map : map,
styles: {
high: new TMap.MarkerStyle({ width: 26, height: 26, src: svgUrl }),
mid : new TMap.MarkerStyle({ width: 22, height: 22, src: svgUrl }),
low : new TMap.MarkerStyle({ width: 18, height: 18, src: svgUrl })
},
geometries: points.map(function(p) {
return { id: p.id, styleId: p.level, position: new TMap.LatLng(p.lat, p.lng) };
})
});
layer.on('click', function(evt) { showDetailPanel(evt.geometry.properties); });
4. 点位上报与地理编码
市民上报浪费点位时,系统调用地理编码 API 将地址转换为精确坐标,并实时渲染到地图:
// 地址 → 坐标(用于用户上报功能)
jsonpRequest('https://h5gw.map.qq.com/ws/geocoder/v1/', {
key : 'none',
apptag : 'lbs_geocoder',
address: userInputAddr,
region : '广州'
}, function(res) {
if (res.status === 0) {
var loc = res.result.location; // { lat, lng }
// 将新点位渲染至地图...
}
});
5. 一键导航(URI API)
点击任意点位,可一键调起腾讯地图 App 进行导航,适配环保志愿者巡查、城管人员检查等场景:
function navigate(lat, lng, name) {
var url = 'https://apis.map.qq.com/uri/v1/routeplan'
+ '?type=drive'
+ '&to=' + encodeURIComponent(name)
+ '&tocoord=' + lat + ',' + lng
+ '&referer=' + TMAP_WEBSERVICE_KEY;
window.open(url, '_blank');
}
6. 完整 API 调用清单
下图为项目所有接口及其用途,开发时可对照使用:

交互功能亮点
项目在基础点位展示之上,还提供了以下实用功能:
- 热力图/点位图/叠加 三种显示模式一键切换
- 点位类型筛选:可单独查看某一类浪费点位
- AI 搜索:输入区域/地址关键词,快速定位并加载数据
- 点位上报:市民填写类型与地址后,经 AI 审核(约 1-2 分钟)即上图
- 一键导航:调用腾讯地图 URI API,适配现场巡查场景
- 数据导出:一键导出 CSV(含点位坐标、类型、浪费等级、AI 建议),供课题研究或存档
- 课题模式:提供六步引导(确定范围→采集→分析→可视化→导出→输出建议),帮助学生快速上手
配置与调试
项目开发完成后,前往 腾讯云位置服务控制台 申请 API Key,并在 index.html 顶部替换即可:
// JSAPI GL Key —— 用于地图渲染、热力图、可视化
var TMAP_JSAPI_KEY = 'YOUR_JSAPI_KEY';
// WebService Key —— 用于 POI 搜索、地理编码、IP 定位、路线规划
var TMAP_WEBSERVICE_KEY = 'YOUR_WEBSERVICE_KEY';
体验模式说明:未配置正式 Key 时,WebService 调用通过
h5gw.map.qq.com+ JSONP 方式运行,支持 IP 定位、POI 搜索、地理编码、路线规划等主要接口;天气查询(/ws/weather/v1/)和电动车路线(/ws/direction/v1/ebicycling/)需正式 Key 开通。
总结与展望
本项目从需求分析、AI Agent 辅助开发到腾讯位置服务多接口协同的全链路实践。借助 WorkBuddy,开发者可以将精力集中在需求设计与业务逻辑上,而非繁琐的样板代码,同时腾讯位置服务的时空数据这里做的也不错, 我们直接使用其POI 数据结合ai 进行分析,来实现我们的项目。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐




所有评论(0)