这是一个基于百度地图 JavaScript API 的静态网页项目,用于查询和浏览中国省、市、县区地图位置。项目不依赖后端服务,地区经纬度数据保存在前端脚本中,打开页面即可使用。
- 按省、市、县区三级地区列表切换地图位置
- 显示当前选中的地区名称
- 基于百度地图进行地点搜索和自动补全
- 支持地图缩放、比例尺等基础地图控件
- 桌面端支持测距工具
- 桌面端支持矩形框选缩放工具
- 移动端自动简化工具栏操作
本项目是纯静态页面,可以直接打开 index.html 使用。
如果浏览器对本地文件访问脚本或地图资源有限制,建议在项目目录下启动一个静态文件服务,例如:
python -m http.server 8000然后在浏览器中访问:
http://localhost:8000/
页面需要联网加载百度地图 API。
.
├── index.html 页面入口,包含地区列表和地图容器
├── index.css 页面样式
├── index.js 地图初始化、地区切换、搜索、测距和矩形缩放逻辑
├── init.js 移动端判断和默认经纬度配置
├── area_location.js 省、市、县区经纬度数据
├── sjs.js SunnyJs 工具函数库
├── images/ 工具栏按钮图片
├── logs/ 日志文件目录
├── changelog.txt 历史版本变更记录
└── license.txt GPL 许可证全文
- 打开
index.html后,地图默认显示北京。 - 点击工具栏中的
[切换地区]展开地区列表。 - 依次选择省、市、县区后,地图会定位到对应县区。
- 在桌面端可以输入地点名称并点击“搜索”,也可以使用自动补全选择地点。
- 点击测距或矩形缩放按钮可开启对应地图工具,再次点击可关闭。
- 项目使用百度地图 JavaScript API GL v1.0(WebGL 版,命名空间
BMapGL),页面需要能够访问百度地图相关资源。 - API 密钥(ak)写在
index.html的 script 标签中。由于是纯静态页面,ak 会暴露在前端,务必在百度地图开放平台控制台为该 ak 配置 Referer 白名单,限定实际部署域名。 - 测距和矩形框选缩放依赖 BMapGLLib 的
DistanceTool与DrawingManager,通过 CDN 引入,需要联网。 index.html中的地区列表维护了各县区的经纬度,如需更新行政区划或坐标,需要修改该文件。
本项目使用 GNU General Public License v3.0 或更高版本发布。完整条款请查看 license.txt。
作者:gaoyang
邮箱:yunnysunny@gmail.com