mapbox - 样式化 MapBox GL 标记

标签 mapbox geojson mapbox-gl-js mapbox-gl mapbox-marker

我正在尝试从使用 Mapbox.js 和 Leaflet 转移到 Mapbox GL。

我有以下 geojson 应该按照附加的图像进行渲染。不幸的是,在阅读了许多文章并阅读了与数据驱动可视化相关的文档后,我遇到了困难。想知道是否有人可以帮忙举个例子?!

这是geojson:

{ "type":"Feature",geometry: { "type":"Point","coordinates":[1.1147,51.7829] },properties: { "title":"Paul","marker-color":"#0094F7","marker-size":"large","marker-symbol":"star" } },
{ "type":"Feature",geometry: { "type":"Point","coordinates":[-2.34851,52.6123] },properties: { "title":"Will","marker-color":"#F9883E","marker-size":"large","marker-symbol":"1" } },
{ "type":"Feature",geometry: { "type":"Point","coordinates":[-2.76389,53.0232] },properties: { "title":"Mark","marker-color":"#F1574E","marker-size":"large","marker-symbol":"13" } },
{ "type":"Feature",geometry: { "type":"Point","coordinates":[-.127211,51.6014] },properties: { "title":"David","marker-color":"#83C736","marker-size":"large","marker-symbol":"20" } },
{ "type":"Feature",geometry: { "type":"Point","coordinates":[-2.06682,53.4986] },properties: { "title":"Adam","marker-color":"#FC5C53","marker-size":"large","marker-symbol":"rocket" } }

颜色值由最终用户设置,可以是任何值,所以我不能只创建很多图像来适应,并且数字指的是日期,所以将是 1-31。

这是它目前在 Mapbox.js 中的样子:mapbox_markers

谢谢大家!

最佳答案

使用 Markers ,您可以完全控制显示您喜欢的任何 HTML 元素 - 因此您可以使用 CSS 构建一个正确颜色的圆圈或泪珠,或一个 SVG 图标。

请参阅此示例:https://www.mapbox.com/mapbox-gl-js/example/custom-marker-icons/

本质上,不是将 GeoJSON 作为源直接添加到 map 中,而是需要遍历每个点,并在 map 上添加标记。

关于mapbox - 样式化 MapBox GL 标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42667168/

相关文章:

javascript - 更改 mapbox 中的 Maki 图标颜色?

android - 如何在android中的MAPBOX中获取当前位置

css - 为 MapboxGl 标记使用自定义字体和重新着色

ios - MapBox——在iOS项目中使用比例尺控件

java - 谷歌地图 Android 中的中心 GeoJson

javascript - 具有属性的 GeoJson 到 TopoJson 转换器

mongoDB GeoJSON,查询两点或线附近

javascript - 使用 Mapbox gl js 将悬停时的弹出窗口添加到自定义标记

windows - map.on (“click”)事件未通过屏幕触摸触发

html - 包含准确填写页面内容所需的 map 的 div