1. 环境准备与基础配置
在开始绘制polygon之前,我们需要先搭建好开发环境。我推荐使用HBuilderX作为开发工具,它内置了uniapp项目模板,能快速创建微信小程序项目。安装完成后,新建一个uniapp项目,记得在manifest.json中勾选微信小程序平台支持。
这里有个容易踩坑的地方:微信小程序地图组件需要申请权限。你需要在微信公众平台的小程序后台,找到"开发"-"开发管理"-"接口设置",申请"wx.getLocation"和"wx.chooseLocation"接口权限。我遇到过因为忘记申请权限导致地图无法显示的问题,排查了半天才发现是这个原因。
基础地图配置很简单,在pages/index/index.vue中添加map组件:
html复制<map
id="myMap"
style="width: 100%; height: 300px;"
:latitude="latitude"
:longitude="longitude"
:scale="scale"
@tap="handleTap"
></map>
对应的data配置建议这样写:
javascript复制data() {
return {
latitude: 39.90469, // 默认北京中心点
longitude: 116.40717,
scale: 16,
markers: [],
polygons: [],
isDrawing: false // 标记是否处于绘制状态
}
}
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 初始化地图与绘制状态管理
地图初始化后,我们需要处理绘制状态的切换。我建议使用一个明显的按钮来控制绘制状态的开启/关闭,这样用户体验更好。在map组件旁边添加一个操作按钮:
html复制<button @click="toggleDrawing">{{ isDrawing ? '结束绘制' : '开始绘制' }}</button>
对应的toggleDrawing方法需要处理状态切换和用户提示:
javascript复制methods: {
toggleDrawing() {
this.isDrawing = !this.isDr
