从“找不到路”到“一起搞游戏”:我用腾讯地图帮深圳 Hackathon 玩家建了一张“同好地图”

Y.ccc Y.ccc
征文大赛 2026-05-21
从“找不到路”到“一起搞游戏”:我用腾讯地图帮深圳 Hackathon 玩家建了一张“同好地图”

【腾讯位置服务开发者征文大赛】从“找不到路”到“一起搞游戏”:我用腾讯地图帮深圳 Hackathon 玩家建了一张“同好地图”

作者: Y.ccc 发布时间: 已于 2026-05-08 23:58:58 修改
来源: https://blog.csdn.net/2201_75917362/article/details/160844391


目录

一、前言:一场黑客松引发的“寻路”思考

二、Demo 展示与复现指南

2.1 运行效果

2.2 三步启动 Demo

三、详细配置

3.1 密钥申请与替换

3.2 配额分配

3.3白名单设置

四、AI 驱动的开发实战:关键技术与代码解析

4.1 坐标系的“生死局”:WGS84 转 GCJ-02

4.2 腾讯地图 GL 的“隐藏开关”:Service 库

4.3 后端地理编码与缓存策略

五、工具使用

六、总结

6.1 未来展望

6.2总结

一、前言:一场黑客松引发的“寻路”思考

在深圳这座创新之城,科技与创意的碰撞每时每刻都在发生,而 Game Jam 游戏黑客松,正是这片创新土壤中最具活力的火花之一。我有幸参与过深圳多场 Game Jam 游戏黑客松活动,现场聚集了无数怀揣游戏创作梦想的开发者 —— 有在校大学生、独立游戏制作人,也有利用业余时间追逐热爱的职场人。大家因为对游戏开发的热忱相聚,用短短几天时间碰撞灵感、编写代码、打磨玩法,完成从创意到成品的蜕变,这样的氛围让每一位参与者都热血沸腾。

但在与众多小伙伴交流的过程中,我发现游戏黑客松领域仍处于起步阶段,存在诸多亟待解决的痛点。最突出的问题便是信息差与出行难:一方面,游戏开发相关的技术交流会、黑客松、线下沙龙等活动信息分散,没有统一的聚合平台,很多爱好者只能零散刷社交平台、社群消息,常常错过心仪的活动;另一方面,深圳地域广阔,不少活动场地位于科技园、创意园等小众区域,外地来深的开发者、本地不熟悉路线的小伙伴,往往面临 “找路难” 的问题 —— 没有专门针对游戏开发者活动的地图导航工具,只能手动搜索地址、反复核对路线,耗时又费力。

更重要的是,这群热爱游戏开发的人,内心都渴望找到 “同好组织”:想和志同道合的人线下交流技术、分享创意、组队创作,却苦于没有便捷的渠道连接彼此。基于这些真实的需求与痛点,我萌生了一个想法:借助腾讯位置服务的强大能力,打造一款专为游戏开发者打造的活动地图应用,让信息聚合、路线导航、同好连接融为一体。这款应用不仅能解决大家 “找活动、找路线” 的难题,更能成为游戏开发者线下相聚的桥梁,让每一份热爱都能找到归属,让每一次创意碰撞都能轻松落地。

二、Demo 展示与复现指南

2.1 运行效果

https://live.csdn.net/v/524913

📹 嵌入式视频: https://live.csdn.net/v/embed/524913

tx20260507-075755

直观呈现应用的核心功能:活动地图展示、一键定位、路线规划与导航、游戏活动信息呈现以及搜索功能

2.2 三步启动 Demo

  1. 配置 Key:申请apy-key写入config.json
  2. 安装依赖:pip install -r requirements.txt
  3. 启动服务:python app.py访问http://127.0.0.1:5000即可看到地图。

三、详细配置

3.1 密钥申请与替换

我的应用里创建应用,申请密钥

然后找到相应配置文件替换成自己的api-key

3.2 配额分配

在实现好所有功能后,如果不去进行分配额度,很多功能是无法使用的。因此,我们要去账户额度分配各个功能的额度。可以自行根据需求分配相关额度。

3.3白名单设置

要注意将所测试的demo网址填入平台里的白名单里。未添加白名单的域名 / 地址,无法正常调用服务。

四、AI 驱动的开发实战:关键技术与代码解析

本项目的核心不在于造轮子,而在于如何优雅地组合腾讯位置服务能力。以下是三个最关键的实现环节。

4.1 坐标系的“生死局”:WGS84 转 GCJ-02

浏览器原生定位(navigator.geolocation)返回的是 WGS84 坐标,而腾讯地图使用的是 GCJ-02。如果直接绘制,会出现“人偏移到马路上”的诡异现象。

我在 AI 生成的代码基础上,手动优化了纠偏逻辑,确保用户定位与实际路况吻合:

// static/app.js
// WGS84 -> GCJ-02 纠偏算法(简化版,实际项目建议用更成熟的库)
function wgs84ToGcj02(lat, lng) {
  // ... 省略复杂的偏移计算公式 ...
  return new TMap.LatLng(lat + dLat, lng + dLng);
}

async function handleLocateClick() {
  navigator.geolocation.getCurrentPosition(pos => {
    const userLatLng = wgs84ToGcj02(pos.coords.latitude, pos.coords.longitude);
    map.setCenter(userLatLng);
    // 添加用户位置 Marker
    userMarker.setPosition(userLatLng);
  });
}

技术亮点:通过显式的数学转换,避免了依赖第三方库的臃肿,保证了首屏定位的准确性。

4.2 腾讯地图 GL 的“隐藏开关”:Service 库

在开发初期,我遇到了一个典型 Bug:驾车路线一直显示“正在计算”,却永远不出线。

查阅文档发现,加载 GL JS 时必须显式声明libraries=service,否则TMap.service将是undefined。这是很多新手容易踩的坑。

// 关键:必须在加载脚本时声明 service
await loadScript(
  `https://map.qq.com/api/gljs?v=1.exp&key=${cfg.map_key}&libraries=service`
);

// 初始化路线规划服务对象
const drivingService = new TMap.service.Driving({
  map: map,
  panel: "routePanel" // 绑定 DOM 容器
});

4.3 后端地理编码与缓存策略

活动地址往往是“深圳市南山区科兴科学园”,需要转换为经纬度。我利用腾讯WebService API​ 实现了后端解析,并加入了缓存机制,避免重复请求 Key 限额:

# geocoder.py
def get_location(address, key):
    cache_file = "data/geocode_cache.json"
    # 1. 检查缓存
    if os.path.exists(cache_file):
        with open(cache_file, "r", encoding="utf-8") as f:
            cache = json.load(f)
            if address in cache:
                return cache[address]

    # 2. 调用腾讯 API
    url = "https://apis.map.qq.com/ws/geocoder/v1/"
    r = requests.get(url, params={"address": address, "key": key})
    result = r.json().get("result", {}).get("location")

    # 3. 写入缓存
    cache[address] = result
    with open(cache_file, "w", encoding="utf-8") as f:
        json.dump(cache, f, ensure_ascii=False)
    return result

五、工具使用

本次demo涉及到的工具、平台

腾讯位置服务相关工具、Cursor、Kimi2.5、小红书。

【是的,本次没有写一行代码就完成了我想实现的demo】从需求梳理、代码生成、Bug 修复到功能调试,全流程由 AI 赋能。

六、总结

6.1 未来展望

目前的 MVP 版本由于爬取网页内容失败,主要以手动维护 JSON 为主,未来我希望能接入更多数据源(如活动行),让每一位热爱游戏创作的人,都能轻松找到 “组织”,让创意不再因信息差、出行难而受阻。

未来,我将持续优化项目,实现三大升级:

  1. 数据源拓展:接入活动行、itch.io平台活动资讯、游戏开发者社群等多平台数据源,自动聚合全国游戏开发活动信息,无需手动维护;
  2. 功能迭代:新增活动报名、同好聊天、组队邀约等功能,从 “地图导航工具” 升级为 “游戏开发者综合服务平台”;
  3. 覆盖范围扩大:从深圳本地拓展至全国,让每一座城市的游戏开发者,都能通过这款应用找到活动、找到同好。

6.2总结

通过本次项目开发,我深刻体会到:科技从来不是高高在上的专业壁垒,而是**触手可及、服务每个人的实用工具。**腾讯位置服务以成熟、稳定、易用的能力,降低了地图应用的开发门槛;AI 技术则进一步简化开发流程,让普通人也能实现自己的创意想法。

地图不再只是单纯的导航工具,更成为连接人与人、兴趣与热爱的桥梁。在这款应用里,游戏开发者能找到志同道合的伙伴,能快速抵达创意交流的现场,能在线下碰撞出更多灵感火花 —— 这正是科技的温度:用技术解决真实需求,让热爱彼此连接,让每个人都能在自己擅长的领域,实现个人价值与创意理想。

最后,感谢腾讯位置服务相关工具与CSDN平台!借此契机解决了当下的一些问题,实现了一部分人的小小心愿~

* AI润色输出,仅供参考

我们为您提供位置服务商业授权许可

合规地图省心之选,微信生态独家支持

办理咨询

相关推荐

腾讯位置服务室内地图开发指南:从功能接入到场景落地

叮小猿 叮小猿

在商业综合体交通枢纽大型医院等场景中,用户对精准室内导航的需求日益增长。腾讯位置服务的室内地图功能,

室内地图 2026-03-02

腾讯位置服务追踪器定位解决方案:精准轨迹查询助力企业高效管理

叮小聪 叮小聪

在物流运输外卖配送共享出行等领域,实时掌握人车货的位置动态是企业运营的核心需求。腾讯位置服务提供的追

追踪定位 2026-03-02

腾讯位置服务地图开发API:路线规划功能如何赋能企业与开发者?

叮小明 叮小明

在移动应用与智能终端高度普及的今天,地图开发API已成为连接用户位置需求与实际场景的关键桥梁。其中,

路线规划 2026-03-03