🗺️ 📍 LESSON 01

我的地图我做主

Vibe coding 打造个性化地图

主讲老师:牛英利,张兴华

← 返回课程目录 回到首页
课程导览

完美城市

从古代皇城城门到你的地图信息资源网站

我们的课程主题是完美城市。什么是完美城市?一座好的城市,从城门的设计就能看出门道——古代皇城的每一座城门都有独特的功能:运粮的、运水的、走木材的、收税的…每一扇门都是城市运转的一个齿轮。

我们将先从地图上看一看这些城门的功能性,了解古人如何规划一座城市。然后,用 vibe coding 的方式,亲手建立属于自己的地图信息资源网站——把自己的地图发现、地点信息、城市观察,统统收录其中。

完美城市 皇城九门 地图功能 vibe coding 信息资源网站
🎵

什么是 Vibe Coding概念

Vibe 在英语里是「感觉、氛围、直觉」的意思。Vibe Coding 就是顺着直觉去编程——你不需要学语法、背命令,只需要把脑子里的想法用大白话讲出来,AI 帮你把代码写出来。说白了,就是凭直觉编程

三步循环:

  1. 📝 写提示词——用大白话告诉 AI 你要做什么
  2. 🤖 AI 写代码——AI 根据描述生成网页、数据库等功能
  3. 👀 看效果 & 调整——不满意就再发提示词修正

传统编程像自己当厨师,从切菜到炒菜全得自己来;Vibe coding 像当导演——你专注「要什么」,AI 负责「怎么做」。

预先安装的软件——XAMPP预备

localhost 浏览器 启动面板 XAMPP Apache Start MySQL Start XAMPP 面板

XAMPP 是一套把 Apache 服务器、PHP、MySQL 数据库打包在一起的本地开发环境。装一次,你的电脑里就有了前面讲的「服务器 + PHP + 数据库」三件套,不用再单独配。打开控制面板点 Start,Apache 和 MySQL 就跑起来;网页文件放进 htdocs 文件夹,浏览器输入 localhost 就能访问。

它专为学习设计,不开机自启、不连外网——练手最省事的服务器套装。

下载安装包
下载安装包双击运行按提示Next完成安装打开 XAMPP Control Panel 点 Start

你在浏览器输入网址、按下回车,一张网页就出现了。
这中间,服务器其实只做了 四件事

1

浏览器发出请求

www.map.com 浏览器 请求:请给我这个页面 服务器

浏览器把网址打包成一句话,发给服务器:「请给我这个页面」。

就像顾客对服务员说:来一份地图。

2

PHP 去数据库取数据

PHP PHP 脚本 查数据 返回记录 数据库

服务器叫醒一段 PHP 脚本。PHP 跑去数据库问:「我要这些数据」,数据库把存好的记录交给它。

就像服务员去仓库,把食材拿出来。

3

PHP 拼成 HTML

PHP 数据 填入模板 </> HTML 页面

PHP 把取来的数据填进网页模板,拼成一份完整的 HTML。

就像把食材装盘、摆好——数据和模板拼在一起,就是一份能显示的网页。

4

HTML 返回浏览器

服务器 返回 HTML 浏览器

拼好的 HTML 送回浏览器。浏览器读懂它,把页面画在屏幕上。

你看到的网页,就这样出现了。

请求取数据拼 HTML返回

四步,就是一个会查数据库的网页诞生的全过程。

一句话记住:浏览器是顾客,服务器是后厨,PHP是服务员,数据库是仓库。服务员去仓库拿食材,装盘端给顾客。

下一课,我们动手画出自己的 第一张地图

🔐

给数据库设个密码配置

XAMPP 装好后,MySQL 的 root 管理员账号默认没有密码,pma 账号也是空密码。后面项目要连数据库,得先给它们设上同一个密码。

浏览器打开 localhost/phpmyadmin → 点「SQL」标签 → 复制下面三行,全部粘贴到输入框,点「执行」。

📄三条 SQL 语句(一起复制)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Study@YunGu.2026';
ALTER USER 'pma'@'localhost' IDENTIFIED BY 'Study@YunGu.2026';
FLUSH PRIVILEGES;

前两行分别给 rootpma 账号设置密码,第三行 FLUSH PRIVILEGES 让新密码立刻生效。改完后,phpMyAdmin 的配置文件也需要同步更新密码,详见下一步。

⌨️

用命令行进入 MySQL拓展

除了用 phpMyAdmin 网页操作数据库,你也可以用命令行直接操作——效果完全一样。先认识两个概念:

什么是 CMD 和终端?

CMDCommand Mand Prompt(命令提示符)的缩写,是 Windows 系统自带的命令行工具——就是一个黑底白字的窗口,你输入文字命令,电脑执行操作。Mac 系统对应的工具叫终端(Terminal),功能一样。

SQLStructured Query Language(结构化查询语言)的缩写,专门用来跟数据库"对话"的语言。你在 phpMyAdmin 的「SQL」标签里输入的那些命令,就是 SQL 语句。用命令行进入 MySQL 后输入的,也是同样这些 SQL 语句——两种方式,同一种语言,同一个结果

Windows:打开 CMD

Win + R → 输入 cmd → 回车,打开黑色命令行窗口。

🖥️Windows 进入 MySQL
cd C:\xampp\mysql\bin mysql -u root -p

第一行:进入 MySQL 所在的目录。第二行:用 root 账号登录,-p 表示需要输入密码,回车后输入你设的密码 Study@YunGu.2026(输入时不显示,正常现象)。

Mac:打开终端

在「启动台」搜索 终端Terminal 打开;也可在「访达 → 应用程序 → 实用工具」里找到。

🍎Mac 进入 MySQL
/Applications/XAMPP/bin/mysql -u root -p

Mac 上 MySQL 的可执行文件在 XAMPP 的 bin 目录里,直接用完整路径调用即可。回车后同样输入密码。

进入后做什么?

看到 mysql> 提示符就说明进来了。现在你可以直接输入 SQL 语句,比如 SHOW DATABASES; 查看所有数据库——跟在 phpMyAdmin 里点「SQL」标签执行的效果一模一样。

🔧

更新 phpMyAdmin 配置文件配置

数据库密码改好了,但 phpMyAdmin 还在用旧密码(空密码),所以现在登录会报错。我们需要找到 phpMyAdmin 的配置文件,把密码同步更新。

第一步:找到配置文件

📁配置文件路径
C:\xampp\phpMyAdmin\config.inc.php

用 VS Code 或记事本打开这个文件,找到下面这一行:

🔍找到这一行
$cfg['Servers'][$i]['password'] = '';

第二步:填入新密码

✏️改成这样
$cfg['Servers'][$i]['password'] = 'Study@YunGu.2026';

保存文件后,重新打开 localhost/phpmyadmin,就能正常登录了。用户名填 root,密码就是刚才设的 Study@YunGu.2026

🍎

苹果电脑 Mac 系统的路径提示

前面提到的工作目录和配置文件路径都是 Windows 系统的。如果你用的是 Mac(苹果电脑),XAMPP 的安装路径不同,htdocs 文件夹的位置也不一样。

Mac 系统的 htdocs 路径:

📁Mac htdocs 路径
/Applications/XAMPP/htdocs

Mac 上 phpMyAdmin 配置文件的路径也对应变化:

🔧Mac 配置文件路径
/Applications/XAMPP/phpMyAdmin/config.inc.php

Mac 系统在 Finder 中按 Cmd + Shift + G,粘贴路径即可快速跳转到对应文件夹。

📁

设置你的工作目录配置

在 WorkBuddy 里把工作目录指向自己的专属文件夹——每位同学用自己的用户名命名(这里以 user001 为例),写好的网页文件都放在这里。

📁工作目录路径
C:\xampp\htdocs\user001

放进去的文件,浏览器通过下面这个地址就能直接打开:

🌐浏览器访问地址
localhost/user001/

每人一个用户名,自己的代码、自己的网址,互不干扰——把上面的 user001 换成你的用户名就行。

📝

提示词日志约定约定

与 AI 的协作约定:今后你每次提交的提示词(prompt),AI 都会自动以日志形式记录到下面的文件里,并顺手整理格式、美化页面——你的每一步操作都有迹可循,随时能回看自己是怎么一步步把地图做出来的。

📝提示词日志文件
C:\xampp\htdocs\user001\log.html

每次和 AI 对话后,提示词都会自动追加到这个文件里,按时间排列、格式清晰。

🍎

Mac 系统的路径变化提示

如果你用的是 苹果电脑 Mac 系统,下面的提示词里路径需要改成 Mac 的格式。区别就两处:

Windows vs Mac 路径对照

🖥️Windows 路径
C:\xampp\htdocs
🍎Mac 路径
/Applications/XAMPP/htdocs

所以 Mac 用户的提示词改成这样:把网站位置和用户子目录的路径替换为 Mac 格式即可。

💬Mac 版提示词
MAC系统 网站位置:/Applications/XAMPP/htdocs 用户子目录:/Applications/XAMPP/htdocs/user001 实现以下功能:当通过浏览器访问 localhost 时,自动转到 user001/index.php 页面

其他完全一样,AI 会帮你在 Mac 的 htdocs 根目录写好跳转文件。

💬

第一个提示词动手

环境配齐了,现在正式开始 vibe coding——用一句话把你想要的功能告诉 AI,让 AI 帮你写代码。

这是你的第一个提示词:让浏览器打开 localhost 时,自动跳转到你自己的首页。点「复制」,粘贴到 WorkBuddy 对话框发给 AI。

💬提示词(复制后发给 AI)
网站位置:C:\xampp\htdocs 用户子目录:C:\xampp\htdocs\user001 实现以下功能:当通过浏览器访问 localhost 时,自动转到 user001/index.php 页面

AI 会在 htdocs 根目录写一个跳转文件——以后只要打开 localhost,就直接进到你的 user001 首页,这就是你的「个人网址入口」。

💬

第二个提示词动手

首页跳转做好了,接下来让 AI 帮你连上数据库,建一个属于自己的数据库——后面所有的地图数据都要存进去。

点「复制」,粘贴到 WorkBuddy 对话框发给 AI。AI 会连接 MySQL、创建数据库,并把每一步操作记到 log.html 里。

💬提示词(复制后发给 AI)
XAMPP 中已安装数据库(MySQL) 账号:root 密码:Study@YunGu.2026 连接数据库,建立一个新的数据库:mycity001 同时把详细流程记录到 log.html

AI 会用 root 账号连上 MySQL,执行 CREATE DATABASE mycity001,然后把连接参数、建库语句、执行结果都写进 log.html——你随时能回看整个过程。

💬

第三个提示词动手

数据库建好了,接下来让 AI 帮你创建一个专用数据库用户——后面「我的地图」网站的 PHP 代码就用这个账号连数据库,不用 root 管理员,更安全。

点「复制」,粘贴到 WorkBuddy 对话框发给 AI。AI 会创建一个名为 citizen 的新用户,授予 mycity001 数据库的全部操作权限,并把过程记到 log.html 里。

💬提示词(复制后发给 AI)
建立一个新 MySQL 用户,用来连接数据库 具有表格操作、数据记录操作的一切权限 为后续 "我的地图" 网站开发做准备 用户名:citizen 密码:Study@YunGu.2026

AI 会执行 CREATE USER 'citizen'@'localhost'GRANT ALL PRIVILEGES ON mycity001.* TO 'citizen',创建一个专门给「我的地图」项目用的数据库账号——后面写 PHP 连数据库就用它,而不是用 root,这样更安全。

💬

第四个提示词动手

数据库和用户都准备好了,现在开始往你的首页里嵌入一张真正的地图——用百度地图 API。

点「复制」,粘贴到 WorkBuddy 对话框发给 AI。AI 会告诉你百度地图 API 的调用说明页面在哪里,并帮你把地图插入 index.html。

💬提示词(复制后发给 AI)
我需要在 user001/index.html 中插入百度地图 请告诉 百度地图 API 调用的说明页面在哪里?

AI 会帮你找到百度地图开放平台的文档入口,告诉你怎么申请 AK(访问密钥),然后把地图代码写进你的 index.html——刷新浏览器就能看到地图了。

📚

百度地图 API 文档参考

AI 会告诉你百度地图开放平台的入口。下面是开发「我的地图」需要用到的五个核心资源:

资源地址
JavaScript API 开发指南lbsyun.baidu.com/index.php?title=jspopular
JavaScript API 类参考lbsyun.baidu.com/index.php?title=webguide
静态地图 API(截图)lbsyun.baidu.com/index.php?title=staticimage
开发者控制台(申请 AK 密钥)lbsyun.baidu.com/apiconsole/key
Web 服务 API(地理编码等)lbsyun.baidu.com/index.php?title=webapi

开发「我的地图」网站,通常的流程是:

  1. 在百度地图开放平台注册账号创建应用获取 AK(Access Key)
  2. 在网页中引入 <script src="https://api.map.baidu.com/api?v=3.0&ak=你的AK"></script>
  3. 用 JavaScript 初始化地图实例
📚

JavaScript API 版本对比参考

百度地图 JavaScript API 有多个版本,开发前先了解它们的区别——选择合适的版本,能让开发更顺利。

API主要特点适用场景命名空间
JavaScript API v2.0较老的标准版,功能完整,历史项目使用较多维护旧网站、旧插件或旧代码BMap
JavaScript API v3.0在 v2.0 基础上升级,绝大部分接口向下兼容,仍以传统二维地图为主普通二维地图、需要兼容旧 BMap 代码BMap
JavaScript API GL使用 WebGL 渲染,支持地图倾斜、旋转、三维视角、三维覆盖物、现代图层和动画新项目、数据可视化、三维地图、现代浏览器BMapGL
JavaScript API Lite专门为手机 H5 精简,体积较小、加载较快,但功能较少,不支持 PC 浏览器操作手机端简单地图、位置展示、少量标注BMap

我们的「我的地图」项目使用 v3.0 版本——命名空间是 BMap,上一页的资源链接对应的也是这个版本。

🔑

申请密钥(AK)参考

使用百度地图 API 之前,必须先申请一个 AK(Access Key,访问密钥)——它是百度用来识别「这个地图请求是谁发的」的通行证。没有它,地图加载不出来。

为什么要设置密钥机制?

🔑

申请密钥(AK)——页面与步骤参考

三个重要页面:

页面地址
JS API v3.0 文档首页lbsyun.baidu.com/docs/jsapi?title=jspopular3.0/index
获取密钥指南lbs.baidu.com/docs/jsapi?title=jspopular3.0/guide/getkey
开发者控制台(申请 AK)lbs.baidu.com/apiconsole/key?application=key

申请步骤:

  1. 打开开发者控制台,用百度账号登录(没有就注册一个)
  2. 点击「创建应用」→ 应用类型选「浏览器端
  3. 填写应用名称(如「我的地图」),在白名单框里填 localhost
  4. 提交后页面会显示一串 AK 密钥——复制保存好

拿到 AK 后,把它填进 <script src="https://api.map.baidu.com/api?v=3.0&ak=你的AK"> 里,地图就能正常加载了。

📊

免费额度与调用限制参考

百度地图 API 对个人开发者提供免费额度——对我们做课堂项目绰绰有余。以下是常用服务的配额参考:

API 服务个人免费额度QPS(每秒限制)
JavaScript API(地图加载/交互)30,000 次/天50 次/秒
Geocoding(地址↔坐标转换)30,000 次/天2 次/秒
Place API(地点搜索)30,000 次/天2 次/秒
静态地图 API(截图)6,000 次/天

💡 3 万次/天是什么概念?一个用户打开一次地图页面只算 1 次调用,30,000 次意味着每天可以有上万人访问你的地图。课堂项目完全不用担心超限。

⚠️ 以上数据可能随百度政策调整,最新配额请查看 开发者控制台 → 配额管理

💬

第五个提示词动手

AK 密钥拿到了,API 文档也读过了——现在把这一切组合起来,让 AI 帮你往首页里嵌入一张真正的百度地图。

点「复制」,粘贴到 WorkBuddy 对话框发给 AI。AI 会按照 JSAPI v3.0 文档的说明,在 index.html 中引入百度地图脚本,初始化一张以北京为中心的地图。

💬提示词(复制后发给 AI)
按照JSAPI 3.0,网址: https://lbsyun.baidu.com/docs/jsapi?title=jspopular3.0/index 中的说明,在 user001/index.html 中加入一个地图 初始城市是北京 秘钥信息:BAIDU_AK: Yz2tJcW9bv4DL6TyXSEbM5VuAJPwyT8A

AI 会按照 v3.0 文档的步骤:在 HTML 中引入 <script src="https://api.map.baidu.com/api?v=3.0&ak=...">,创建一个 <div id="map"> 容器,用 new BMap.Map("map") 初始化地图实例,设置北京坐标(39.9, 116.4)为中心点——刷新浏览器,一张可拖拽、可缩放的百度地图就出现在你的首页上了。

💬

第六个提示词动手

地图已经有了——现在给它加上交互功能:左侧省份选择器、建主题文件夹表单、文件夹列表,全部连上数据库。

点「复制」,粘贴到 WorkBuddy 对话框发给 AI。AI 会帮你完成省份下拉框(从 regions 表读取)、文件夹创建表单(写入 folders 表)、文件夹列表展示(查询 folders 表)三个功能。

💬提示词(复制后发给 AI)
在图的左侧做一个单选框,可以选择某一个直辖市、省份、自治区 这个省份列表存储在数据库mycity001中的数据表regions 1. 增加一个文本框,标题是:建主题文件夹 下面是第二个文本框,文字标签是:说明,用来详细说明这个主题 2. 下面是一个创建文件夹的按钮,点击它,以上信息就记录到 mycity001数据库中的folders表中 3. 下面是一个列出folders主题文件夹的列表,将所有文件夹都列出

AI 会帮你完成三件事:①用 PHP 从 regions 表读取省份列表,渲染成 <select> 下拉框放在地图左侧;②建一个表单(文件夹名 + 说明),点「创建文件夹」按钮后用 AJAX 或表单提交写入 folders 表;③查询 folders 表全部记录,在下方列出所有主题文件夹——刷新页面即可看到新增的文件夹。

💬

第七个提示词动手

用 phpMyAdmin 查看数据库里的 regions 表和 folders 表——看看中文显示是否正常、数据表结构是否正确。如果发现中文乱码或结构异常,把问题描述发给 AI,让它帮你排查修正。

💬提示词(复制后发给 AI)
调查一下数据库里的regions里的中文是乱码,原因是什么?如何修正?

常见原因:建库/建表时没有指定 utf8mb4 字符集,或 PHP 连接数据库时没有执行 SET NAMES utf8mb4。AI 会帮你定位是哪一步出了问题,并给出对应的 SQL 修正语句或 PHP 代码修改方案。

💬

第八个提示词动手

上一轮让 AI 加了省份选择器——现在打开浏览器刷新页面,检查一下:省份是否以下拉列表的形式出现在地图的左侧?如果显示成了单选按钮、位置不对、或者根本没有出现,就发这个提示词让 AI 修正。

💬提示词(复制后发给 AI)
检查一下,这些省份是以下拉式列表的形式出现在网页的左侧,如果不是这种情况,请修正。

AI 会检查 HTML 中的 <select> 标签是否正确渲染、CSS 布局是否把选择器放在了地图左侧——如果之前用的是 <input type="radio"> 单选框,AI 会改成 <select> 下拉列表;如果位置不对,AI 会调整 CSS 的 floatflex 布局。

💬

第九个提示词动手

文件夹列表已经有了——现在给每个文件夹加上「修改」和「删除」按钮,让它变成一个真正能增删改的管理面板。

💬提示词(复制后发给 AI)
主题文件夹列表中每个项目都有一个修改删除的按钮 点击删除,则此记录被删除 点击修改,则前面的: 选择省份区域建主题文件夹说明 这几部分的内容被填充为要修改的内容 下面的创建文件夹按钮也改为: 更新文件夹取消修改两个按钮 以完成更新条目记录或者取消修改的目的

AI 会帮你实现:①每条文件夹记录后面加「修改」「删除」两个按钮;②点「删除」时用 AJAX 发请求,从 folders 表删除该条记录并刷新列表;③点「修改」时把该条记录的省份、文件夹名、说明填回上方的表单里,同时把「创建文件夹」按钮隐藏,换成「更新文件夹」和「取消修改」两个按钮——点「更新文件夹」执行 UPDATE,点「取消修改」清空表单恢复原状。

💬

第十个提示词动手

文件夹管理面板做完了——现在给地图加上搜索功能:在文件夹列表下方放一个搜索框,输入关键词后点「搜索地点」,右边的地图自动跳转到搜索结果位置;旁边再放一个「清除搜索」按钮,恢复地图原状。

💬提示词(复制后发给 AI)
在主要列表下面,有一个"地图搜索" 下面是一个搜索框,输入关键词 点击"搜索地点",右边的地图可以跟着变化 显示搜索的结果 旁边还有一个按钮,是"清除搜索"

AI 会帮你实现:①在文件夹列表下方加一个「地图搜索」区域,包含一个文本输入框和两个按钮(搜索地点 / 清除搜索);②点「搜索地点」时调用百度地图 LocalSearchBMap.LocalSearch 服务,把搜索结果以标注的形式显示在右侧地图上,并自动调整视野范围;③点「清除搜索」时清除地图上所有搜索标注,恢复到初始状态。

💬

第十一个提示词动手

地图搜索功能做好了——现在把搜索到的地点「抓」下来保存。在搜索区域下方新增一个「地点抓取」表单:点击搜索结果自动填入经纬度和地址名称,填写备注后点「保存地点」,数据就存进 places 表,和 folders 表通过文件夹名称关联。

💬提示词(复制后发给 AI)
在地图搜索下方,新增一个"地点抓取"区域,包含以下内容: 1. 两个文本框,分别显示经度纬度(只读,自动填充) 2. 一个文本框,显示地址名称(只读,自动填充) 3. 一个多行文本框(默认显示三行,可滚动查看),用于填写备注 4. 一个"保存地点"按钮 交互逻辑:当点击前面地图搜索结果中的某一条时 该地点的经度、纬度自动填入对应文本框 地址名称也自动填入地址名称文本框 备注由用户自行填写 点击"保存地点"按钮后,以上数据存入数据库mycity001 中的places数据表 该表通过所属文件夹名称folders表关联 即每个保存的地点都属于某个主题文件夹

AI 会帮你实现:①在搜索区域下方加一个表单,包含经度、纬度两个只读文本框,地址名称文本框,一个 <textarea rows="3"> 备注框,以及「保存地点」按钮;②给搜索结果的标注/列表项绑定点击事件,点击后把该地点的经纬度和名称自动填入表单;③点「保存地点」时用 AJAX 把数据写入 places 表,该表通过 folder_name 字段与 folders 表关联——这样每个地点都挂在某个主题文件夹下。

💬

第十二个提示词动手

地点保存功能做好了——现在把已保存的地点也列出来,和文件夹列表一样,每条带「修改」和「删除」按钮,形成完整的地点管理闭环。

💬提示词(复制后发给 AI)
下面是本文件夹已保存的地点 旁边有修改删除两个按钮 点击修改,可以修改内容 点击删除,则将此地点删除

AI 会帮你实现:①在地点抓取表单下方,查询 places 表中属于当前文件夹的地点记录,渲染成列表;②每条地点旁边加「修改」「删除」两个按钮——点「删除」时用 AJAX 从 places 表删除该条记录并刷新列表;③点「修改」时把该地点的经度、纬度、地址名称、备注填回上方的地点抓取表单,同时把「保存地点」按钮切换为「更新地点」和「取消修改」两个按钮——和文件夹管理的交互逻辑完全一致。

💬

第十三个提示词动手

地点抓取模块已经有了经度、纬度、地点名称和备注——但少了「详细地址」字段。搜索结果返回的地点往往带一段完整地址(如「北京市海淀区中关村大街 1 号」),把这段地址也存下来,以后查看地点信息更完整。

💬提示词(复制后发给 AI)
在前面保存地点的模块再加一个字段:地址 这样,从地图上搜索出来的地点名称 包括其详细地址,就被记录下来了

AI 会帮你在 places 表中新增一个 address 字段(ALTER TABLE places ADD COLUMN address VARCHAR(255)),在地点抓取表单里加一个只读的「地址」文本框,点击搜索结果时把地点的详细地址自动填入,保存时一并写入数据库——这样每条地点记录就包含完整的地址信息了。

💬

第十四个提示词动手

第九个提示词做了文件夹的修改/删除功能——但测试时发现一个 bug:点「修改」后按钮切换成了「更新文件夹」和「撤销修改」,点「更新文件夹」保存修改后,按钮没有恢复成原来的「创建文件夹」,还停留在「更新文件夹」状态。发提示词让 AI 修复这个问题。

💬提示词(复制后发给 AI)
在修改文件夹之后,应该显示创建文件夹的原按钮 现在,修改并保存文件夹之后 还是显示更新文件夹撤销修改按钮 请修改此bug

AI 会检查「更新文件夹」按钮的点击回调函数——在 UPDATE 请求成功后,需要:①清空表单各字段;②把「更新文件夹」「撤销修改」按钮隐藏;③重新显示「创建文件夹」按钮;④刷新文件夹列表。bug 的原因通常是 AJAX 成功回调里漏写了按钮状态重置的代码。

💬

第十五个提示词动手

文件夹和地点的增删改都做好了——现在让地图「活」起来:点击「主题文件夹列表」中的某个文件夹,地图上就自动标出该文件夹下所有已保存的地点,每个地点显示一个红色气球和红色矩形标签,点击气球还能弹出备注信息。

💬提示词(复制后发给 AI)
当点击"主题文件夹列表"中的文件夹内容的时候 在地图上显示此文件夹中所有地点的信息 包括,每个地点处显示红色气球 旁边是用红色矩形框框起来的地点名称 字体是红色粗体 当用鼠标左键单击气球的时候 弹出用矩形框框起来的地点的"备注信息" 白色背景

AI 会帮你实现:①给文件夹列表的每项绑定点击事件,点击后用 AJAX 查询 places 表中 folder_name 等于该文件夹的记录;②遍历结果,用 new BMap.Marker(point) 在每个地点坐标上添加红色气球标注(自定义 BMap.Icon 红色图标);③用 new BMap.Label() 给每个标注添加红色矩形边框标签,文字为红色粗体;④给标注绑定 click 事件,点击时弹出一个白底矩形信息窗(BMap.InfoWindow 或自定义 DOM),显示该地点的备注内容。

🏯

西直门(水门)北京内城九门

📍地点名称
西直门(水门)
📮地址
地铁13号线; 地铁2号线内环; 地铁2号线外环; 地铁4号线大兴线
📝备注
北京城内水质不佳,故明、清两代宫廷饮用水都从西郊玉泉山用车运到城内。玉泉山位于京城西北,从玉泉山进京,西直门是必经之路,因此称“水门”。
🏯

德胜门北京内城九门

📍地点名称
德胜门
📮地址
北京市塔院胡同12号院-2-5号楼
📝备注
明、清时,军队出征打仗走德胜门。德胜门元代称“健德门”据说明朝开国大将徐达攻打元大都时,元顺帝就是从这里逃走的,为纪念这次胜利健德门改名为“得胜门”,后来城墙南移,又改名“德胜门”。
🏯

安定门北京内城九门

📍地点名称
安定门
📮地址
地铁2号线内环; 地铁2号线外环
📝备注
明、清时,军队班师回朝从安定门进城。
🏯

东直门(木门)北京内城九门

📍地点名称
东直门(木门)
📮地址
地铁13号线; 地铁2号线内环; 地铁2号线外环; 首都机场线
📝备注
东直门位于内城东墙偏北,是内城九门中最简陋的一座门。据说,修建北京城时,运送木料的车多从此运入京城。因此,东直门也称“木门”。
🏯

朝阳门(粮门)北京内城九门

📍地点名称
朝阳门(粮门)
📮地址
地铁2号线内环; 地铁2号线外环; 地铁6号线
📝备注
明清时期,北京的粮食多经京杭大运河由江南运来。船只到达通州,再运到朝阳门内,因此朝阳门也有“粮门”之称。据说,朝阳门瓮城门洞内还刻有一束谷穗。现如今,朝阳门内还存留着海运仓、禄米仓等地名。
🏯

宣武门(刑门)北京内城九门

📍地点名称
宣武门(刑门)
📮地址
地铁2号线内环; 地铁2号线外环; 地铁4号线大兴线
📝备注
“宣武”是宣扬武威的意思。按阴阳五行的说法,西方为金,主死,所以死人出殡要走宣武门。清代刑场设在宣武门外菜市口,因此宣武门也叫“刑门”。
🏯

正阳门北京内城九门

📍地点名称
正阳门
📮地址
北京市东城区前门东大街33号
📝备注
皇帝专用:正阳门是内城正门,只有皇帝出入城才能走。由于位于皇城正前方,正阳门俗称“前门”;而地安门相应地被称为“后门”。
🏯

崇文门(税门)北京内城九门

📍地点名称
崇文门(税门)
📮地址
北京市东城区外大街2号
📝备注
“崇文”是崇敬文化的意思,按阴阳五行的说法,东方为木,主生,所以进京赶考的举子们都要从崇文门进。各种货物经大运河到通州后,都要路经崇文门进城,朝廷在崇文门设立了京师税务衙门,因此崇文门也叫“税门”。
🎉

课程收获收获

通过这门课,你收获了——

  1. 🗺️ 一张属于自己的地图网站——从零搭建,可以分享给所有人
  2. 💬 与 AI 对话的能力——学会把想法变成清晰的提示词,让 AI 帮你实现
  3. 🔧 动手解决问题的习惯——遇到报错不慌,查一查、试一试、调一调
  4. 🧠 一个新视角——编程不再是"写代码",而是"说清楚你想要什么"

技术会更新,工具会换代,但把想法变成现实的能力——永远属于你。