uniapp 地图map画出地市轮廓

server/2024/9/25 10:34:56/

 

最近做uniapp项目 H5+微信小程序,需要在地图中打点并把相对应的区域轮廓给画出来。

首先查看uniapp官方文档:https://uniapp.dcloud.net.cn/component/map.html

想在uniapp中使用map直接写map标签即可

<view class="page-section page-section-gap"><map style="width: 100%; height: calc( 100vh - 0px);" :latitude="latitude" :longitude="longitude" :markers="markers" :scale="10" @callouttap="callouttap" :polygons="polygon"></map>
</view>

打点的话用markers,划线用polyline,画区域用polygon,我们要画轮廓,所以用polygon

最坑的就是polygon,文档里写的虽然是polygon,但你map中必须写polygons才行!!!

 polygon的用法是把你要画的区域的坐标点提供出来,放到points里

polygon:[{points:[],strokeColor:"#CB4343",strokeWidth:2,fillColor:"#CB43434D"},],

points的格式是这样的,latitude和longtitude和别人相反

想要获取一个地市的轮廓坐标点,需要到这个网站:数据可视化平台

选择地市,把json数据复制出来,自己处理一下,把有用的数据取出来

放到一个js文件里,

 然后在你想要引用的页面引用即可:

<view class="page-section page-section-gap"><map style="width: 100%; height: calc( 100vh - 0px);" :latitude="latitude" :longitude="longitude" :markers="markers" :scale="10" @callouttap="callouttap" :polygons="polygon"></map>
</view>
import mapdata from './mapData.js' //引入地图坐标文件
import {mapState,mapGetters,mapMutations 
} from 'vuex';
export default {
data() {let that = this;return {//平定县坐标latitude:"37.850724",longitude:"113.711337",polygon:[{points:[],strokeColor:"#CB4343",strokeWidth:2,fillColor:"#CB43434D" //最后两位为透明度,下面有对照表},],markers:[{id:"22", //注意这id必须是数字类型的,不然出不来latitude:"37.009866",longitude:"113.71904",title:"11",width:12,height:20,iconPath:"../../static/img/location_icon_gray.jpg",callout:{//自定义标记点上方的气泡窗口 点击有效content:'3333',//文本color:'#ffffff',//文字颜色fontSize:10,//文本大小borderRadius:2,//边框圆角bgColor:'#fa3534',//背景颜色display:'ALWAYS',//常显padding:8},}]};
},
onLoad(option){let self=this;this.loadData()},
methods: {loadData(){let self=this;var mapdata1=mapdata.data//把json数据转成uniapp需要的格式mapdata1.forEach(item=>{let point={latitude:item[1], longitude:item[0]}//console.log(point)self.polygon[0].points.push(point)})}
},
}

还有一点,如果想要区域半透明,要用这种方式

tip:地图中的颜色值color/borderColor/bgColor等需使用6位(8位)十六进制表示,8位时后两位表示alpha值,如:#000000AA
在这里插入图片描述
问题来了,如何用字母(或者数字)表示后面我们想要的不透明度值,对照表为:

rgba(0,0,0,0.2)#00000033十六进制颜色透明度alpha值对照表
100% — FF
99% — FC
98% — FA
97% — F7
96% — F5
95% — F2
94% — F0
93% — ED
92% — EB
91% — E8
90% — E6
89% — E3
88% — E0
87% — DE
86% — DB
85% — D9
84% — D6
83% — D4
82% — D1
81% — CF
80% — CC
79% — C9
78% — C7
77% — C4
76% — C2
75% — BF
74% — BD
73% — BA
72% — B8
71% — B5
70% — B3
69% — B0
68% — AD
67% — AB
66% — A8
65% — A6
64% — A3
63% — A1
62% — 9E
61% — 9C
60% — 99
59% — 96
58% — 94
57% — 91
56% — 8F
55% — 8C
54% — 8A
53% — 87
52% — 85
51% — 82
50% — 80
49% — 7D
48% — 7A
47% — 78
46% — 75
45% — 73
44% — 70
43% — 6E
42% — 6B
41% — 69
40% — 66
39% — 63
38% — 61
37% — 5E
36% — 5C
35% — 59
34% — 57
33% — 54
32% — 52
31% — 4F
30% — 4D
29% — 4A
28% — 47
27% — 45
26% — 42
25% — 40
24% — 3D
23% — 3B
22% — 38
21% — 36
20% — 33
19% — 30
18% — 2E
17% — 2B
16% — 29
15% — 26
14% — 24
13% — 21
12% — 1F
11% — 1C
10% — 1A
9% — 17
8% — 14
7% — 12
6% — 0F
5% — 0D
4% — 0A
3% — 08
2% — 05
1% — 03
0% — 00

我想区域为30%透明度,所以这样写:fillColor:"#CB43434D"


http://www.ppmy.cn/server/106203.html

相关文章

AI大模型算法工程师职业前景怎么样?到底值不值得转行

从ChatGPT到新近的GPT-4&#xff0c;GPT模型的发展表明&#xff0c;AI正在向着“类⼈化”⽅向迅速发展。 GPT-4具备深度阅读和识图能⼒&#xff0c;能够出⾊地通过专业考试并完成复杂指令&#xff0c;向⼈类引以为傲的“创造⼒”发起挑战。 现有的就业结构即将发⽣重⼤变化&a…

C语言内存操作函数

目录 一. C语言内存操作函数 1. memcpy的使用和模拟实现 2. memmove函数 3. memset函数 4. memcmp函数 一. C语言内存操作函数 随着知识的不断积累&#xff0c;我们所想要实现的目标程序就会更加复杂&#xff0c;今天我们来学习一个新的知识叫做C语言内存操作函数&#x…

【通用】C++ union(联合体)

在 C 中&#xff0c;union&#xff08;联合体&#xff09;是一种特殊的数据结构&#xff0c;它允许在同一内存位置存储不同的数据类型。联合体中的所有成员共用同一块内存&#xff0c;因此在任何时刻&#xff0c;只能使用一个成员。 下面是一个 C 中使用联合体的示例&#xff1…

你知道有哪些Spring MVC扩展点可以解析接口参数和处理返回值吗?

1.概述 Spring MVC 是一个灵活且强大的框架&#xff0c;它允许开发者在框架的基础上进行深度定制&#xff0c;以满足各种复杂的业务需求。HandlerMethodArgumentResolver 和 HandlerMethodReturnValueHandler 是 Spring MVC 提供的两个重要扩展点&#xff0c;分别用于处理控制…

docker 多线成服务,比如gunicorn服务启动报错解决办法

docker执行的时候报错&#xff0c;排查是线程创建权限不足导致的&#xff0c;报错如下。 解决办法 docker run -e OPENBLAS_NUM_THREADS1 your_image

【计算机三级-数据库技术】操作题大题(第七套)

第七套操作题 第46题 假定要建立一个关于篮球职业联盟的数据库&#xff0c;需管理如下信息&#xff1a; 每个球队有球队名称、所在城市&#xff1b; 每位球员有球员姓名、薪酬; 每场比赛有比赛编号、比赛时间、比赛结果、参加比赛的主场球队、参加比赛的客场球队。 其中带下划…

git仓库删除某个历史提交

目录 问题情况1情况2 问题 如果我们在开发过程中&#xff0c;存在一些验证性的提交或者失误性的提交&#xff0c;那么这些提交我们不想要了&#xff0c;怎么办&#xff1f; 情况1 如果是想要删除某个commitid之后的所有提交 那么git reset 可以满足你 git reset --hard 你要…

Docker绑定挂载使用手册

目录 目标 官方文档 绑定挂挂载&#xff08;Bind mounts&#xff09; 简介 基本创建方法 控制读写权限&#xff08;默认有读写权限&#xff09; 为什么绑定挂载不适合做数据库持久化 为什么绑定挂载更适合做热部署 临时挂载&#xff08;tmpfs mounts&#xff09; 简介…