首页 > 其他分享 >mapbox-gl实战教程:单图层POI图标多样性

mapbox-gl实战教程:单图层POI图标多样性

时间:2023-04-22 19:07:29浏览次数:31  
标签:图标 mapbox POI 图层 gl 加载

在地图开发中,POI数据是不可或缺的一部分,各类地名、公共设施、商场超市、政府机构等等,都是地图上的POI数据;在业务系统,还有像摄像头、监测设备等POI数据;这些数据在地图上显示时,会形象地以各种图标形式进行显示,方便进行区分。 mapbox-gl支持加载点状数据,并且能够设置点类型显示为图标,当POI类型较多时,可以选择每类POI当做一个图层进行处理,设置成一个图标样式;也可以将几类POI当作一个图层,根据属性设置显示的图标不同,本文讲一下这种处理方式。 mapbox-gl使用图标之前,需要以精灵图或者map.addImage的方式加载进来,如果图标多的情况,建议使用精灵图的方式进行加载,使用图标时,根据图标的唯一key进行赋值。 mapbox-gl加载POI的方式,是以symbol的形式进行加载:

map.addLayer({
'id': 'points',
'type': 'symbol',
'source': 'point', // 数据源
'layout': {
'icon-image': 'cat', // 图标的唯一key
'icon-size': 0.25,
... //其他属性
}
});

要实现POI图标的多样性,首先需要在数据源的属性中设置对应的名称,简单的话,直接在数据源中设置图标的名称:

//geojson为例
{
'type': 'Feature',
'geometry': {
...
},
'properties': {iconname:'icon1'},
},
{
'type': 'Feature',
'geometry': {
...
},
'properties': {iconname:'icon2'},
}

在图层中这样设置即可:

'icon-image': ['get', 'iconname']

这样在地图上POI在加载时,就能显示不同类型了。

标签:图标,mapbox,POI,图层,gl,加载
From: https://blog.51cto.com/speciallist/6215423

相关文章

  • 异常:Caused by: java.lang.NoSuchMethodError: org.apache.poi.ss.usermodel.CellStyl
    1、EasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目a.POI非常耗内存(大的excel需要上G的内存)系统容易出现OOMb.POI代码也相当复杂,后面在进行维护的时候也不大好操作2、在往Excel写入数据时出现如下错误com.alibaba.excel.exception.ExcelGenerat......
  • poi读写EXCEL
    读写EXCEL来源:bilibili狂神说导入依赖<!--导入依赖--><dependencies><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>3.9</version>......
  • UVA How Many Points of Intersection?
      HowManyPointsofIntersection? a dotsonthetoprowand b dotsonthebottomrow.Wedrawlinesegmentsconnectingeverydotonthetoprowwitheverydotonthebottomrow.Thedotsarearrangedinsuchawaythatthenumberofinternalintersectio......
  • SAP程序属性中的固定点算术Fixed point arithmetic的控制作用
    SAP程序创建时,程序属性面板中有一个选项叫做“固定点算术”,默认是勾上的,如下图所示:通过按F1在该选上调取帮助说明,可以看到官方是这样解释的:如果标记该复选框,该程序中的所有计算都将使用定点运算。如果未标记,那么当在分配、比较和计算中使用压缩数字,与定义的小数位......
  • java导出Excel例子(poi)
    publicclasscreatFile{staticpublicvoidmain(String[]args)throwsException{FileOutputStreamfos=newFileOutputStream("d:\\creatFile.xls");HSSFWorkbookwb=newHSSFWorkbook();HSSFSheets=wb.createSh......
  • @Pointcut语法详解
    定义格式:@注解(value=“表达标签(表达式格式)”)如:@Pointcut(value=“execution(*com.cn.spring.aspectj.NotVeryUsefulAspectService.*(…))”)前置后置切面方法,也可以写切面表达式,如果这么表达式都一样,要复用,可以写一个空方法表述为@Pointcut(...),再其他的后置上使用切......
  • k8s中command、args && dockerfile中entrypoint、cmd之间的比较
    k8s中command、args&&dockerfile中entrypoint、cmd之间的比较标签(空格分隔):K8SDockerfile中ENTRYPOINT,CMD的比较ENTRYPOINT的两种格式:ENTRYPOINT["executable","param1","param2"](exec格式,推荐)ENTRYPOINTcommandparam1param2(shell格式)C......
  • GraphicsLayer 可以在一个图层上绘制多个的多边形
    ArcGISforJS的GraphicsLayer可以在一个图层上绘制多个的多边形¹。你可以使用Polygon类来创建多边形的几何对象,然后使用Graphic类来将几何对象和符号对象组合成图形对象,最后使用GraphicsLayer的add()方法或者addMany()方法来将图形对象添加到图层上。创建一个Graph......
  • poi判断是否空行
    空行现象:空行只解析出一个cell,并且type是STRING。与实际列数不符解决方法:强制要求从第0列开始判断cell是否为null且type不为BLANK,否则即认为改行为空行并跳过处理1/**2*校验是否为空行3*4*@paramrow行5*@return是否为空6*/7publics......
  • 设计并实现平面点类Point
    定义一个平面点类Point,对其重载运算符关系运算符,关系运算以距离坐标原点的远近作为基准,远的为大。程序完成对其的测试。 importmathclassPoint():def__init__(self,x,y):self.x=xself.y=ydef__lt__(self,other):l1=mat......