# 地图绘标 **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 | 闪烁 |