# 地图绘标
**Repository Path**: luodash/map-img-maker---map-plotting
## Basic Information
- **Project Name**: 地图绘标
- **Description**: RmRegionImg-地图绘标 是一款轻量且灵活的跨端区域标记组件,支持在图片上绘制多边形区域、添加自定义标记点及标签,适配微信小程序、H5、抖音小程序等多端场景,适用于园区、校园、农田等地点区域可视化标记需求。
可以在图片中绘制多边形,控制多边形的背景、边框、颜色、markers图标,图标labes等,适配微信小程序、H5、抖音小程序等。适用于公园、学校、农田地点区域标记。
- **Primary Language**: HTML
- **License**: MIT
- **Default Branch**: master
- **Homepage**: https://p.dcloud.net.cn/plugin?id=23675
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2025-09-05
- **Last Updated**: 2025-09-05
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# **MapImgMarker 地图绘标**
## 项目概览
**RmRegionImg** 是一款轻量且灵活的跨端区域标记组件,支持在图片上绘制多边形区域、添加自定义标记点及标签,适配微信小程序、H5、抖音小程序等多端场景,适用于园区、校园、农田等地点区域可视化标记需求。
**可以在图片中绘制多边形,控制多边形的背景、边框、颜色、markers图标,图标labes等,适配微信小程序、H5、抖音小程序等。适用于公园、学校、农田地点区域标记。**
**天地图还在开发中,目前仅支持传入图片做为地图绘制区域和图标标记。**
**建议及反馈请发送邮箱:1940787338@qq.com**
- ## 核心功能
### 1. 区域可视化标记
- **多边形绘制**:通过坐标点定义区域,支持边框颜色、填充透明度等样式自定义
- **标记点增强**:支持图标、悬浮标签、动态类名(如闪烁效果),覆盖设备 / 地点标记场景
### 2. 跨端适配优势
- 一套组件代码,兼容 **微信小程序、H5、抖音小程序**
- 图片 / 图标支持网络 / 本地路径,适配不同项目资源管理方式
### 3. 高效配置流程
- 可视化绘图工具:通过 [在线绘制平台](https://map.draw.mbytt.love/) 生成坐标配置,无需手动计算坐标
- 配置项自动生成:绘制完成后直接导出 `lines` `markers` 数据,快速接入项目
## 绘图网址
[[绘制地图](https://map.draw.mbytt.love/)](https://map.draw.mbytt.love/)
**注意:!!!**
如果你不知道坐标点如何给,请访问链接中进行绘制,绘制完成后点击完成之后,会直接生成数据配置项,复制过来即可。
## 快速开始
### 1.导入组件,并且在template中使用
```html
```
## 组件说明
### props
```html
props: {
imgConfig: {
type: Object,
required: true,
default: () => ({})
},
markers: {
type: Array,
default: () => []
},
lines: {
type: Array,
default: () => []
},
useUvLoadMarker: {
type: Boolean,
default: false
},
},
```
#### imgConfig(图片配置)
| 属性 | 说明 | 类型 | 默认值 | 是否必须 |
| :----: | :------: | :----: | :-------: | :------: |
| url | 图片链接 | string | '' | 是 |
| width | 图片宽度 | number | undefined | 是 |
| height | 图片高度 | number | undefined | 是 |
#### markers(图标配置)
| 属性 | 说明 | 类型 | 默认值 | 是否必须 |
| :-------: | :----------------------------------------: | :----: | :-------: | :------: |
| id | 唯一标识,不可相同 | number | undefined | 是 |
| labels | 图标上方的标签 | Array | [] | 否 |
| coorX | 图标相对于图片的X轴 | number | undefined | 是 |
| coorY | 图标相对于图片的Y轴 | number | undefined | 是 |
| iconSize | 图标大小 | number | 16 | 否 |
| className | 自定义类名 | string | 无 | 否 |
| iconUrl | 图标路径,支持网络路径和本地,不支持base64 | string | 默认图标 | 否 |
#### lines(线、面、区域配置)
| 属性 | 说明 | 类型 | 默认值 | 是否必须 |
| :------: | :------------------------------------------: | :----: | :-------: | :------: |
| type | 线的类型,目前只支持多边形绘制 | string | 'Polygon' | 是 |
| lineList | 线框坐标(多个),起始点必须和结尾闭合形成闭环 | Array | [] | 是 |
| style | 线的样式 | Object | {} | 是 |
##### lineList(线框坐标)
| 属性 | 说明 | 类型 | 默认值 | 是否必须 |
| :---: | :---------------------: | :----: | :-------: | :------: |
| coorX | 线的当前点相对于图片的X | number | undefined | 是 |
| coorY | 线的当前点相对于图片的Y | number | undefined | 是 |
##### style(线的样式)
| 属性 | 说明 | 类型 | 默认值 | 是否必须 |
| :---------: | :----------------------------------: | :-----: | :-------: | :------: |
| color | 线框的颜色,目前仅支持16进制 | string | undefined | 是 |
| fillColor | 框选区域的背景颜色,目前仅支持16进制 | string | undefined | 是 |
| fillOpacity | 背景透明度 范围:[0-1] | number | {} | 是 |
| fill | 是否需要填充 | boolean | true | 否 |
| width | 线的宽度 | number | 2 | 否 |
##### lineLabel(当前闭合区域内的文本及样式)
| 属性 | 说明 | 类型 | 默认值 | 是否必须 |
| :---: | :----------------: | :-----: | :-------: | :------: |
| text | 闭合线区域内的文本 | string | undefined | 否 |
| color | 文本颜色 | string | #000 | 否 |
| size | 文本大小 | number | 16 | 否 |
| x | 位于闭合区域的位置 | number | 50 | 否 |
| y | 位于闭合区域的位置 | number | 50 | 否 |
| show | 是否展示 | boolean | false | 否 |
#### useUvLoadMarker(是否使用v-view组件来加载图标,可以拥有更好的性能)
**备注说明:**
**目前绘制线框和图标,都是以图片左上角为起始点。**
### Events
| 事件名称 | 说明 | 回调参数 |
| ----------- | ---------------------------------- | ------------------------- |
| resize | 计算图片显示尺寸以及距离顶部的距离 | (width,height,scaleRatio) |
| imageLoad | 图片加载完成 | |
| markerClick | 图标被点击 | (marker) |
### 内置类名
marker可以在传入组件时自定义类名使用已有的内置类名
| 类名 | 作用 |
| ------- | ---- |
| flicker | 闪烁 |