当前位置:   article > 正文

Leaflet 改变 Marker(标记) 颜色_leaflet加载 kml格式数据marker颜色

leaflet加载 kml格式数据marker颜色

方案一:

这是谷歌在设计Leaflet Icon时的最佳热门之一,但它没有一个没有第三方的解决方案,我在React中遇到了这个问题,因为我们需要动态颜色来处理路线和图标。

我想出的解决方案是使用Leaflet.DivIcon html属性,它允许您传递一个被评估为DOM元素的字符串。

例如,我创建了一个标记样式如下:

  1. const myCustomColour = '#583470'
  2. const markerHtmlStyles = `
  3. background-color: ${myCustomColour};
  4. width: 3rem;
  5. height: 3rem;
  6. display: block;
  7. left: -1.5rem;
  8. top: -1.5rem;
  9. position: relative;
  10. border-radius: 3rem 3rem 0;
  11. transform: rotate(45deg);
  12. border: 1px solid #FFFFFF`
  13. const icon = Leaflet.divIcon({
  14. className: "my-custom-pin",
  15. iconAnchor: [0, 24],
  16. labelAnchor: [-6, 0],
  17. popupAnchor: [0, -36],
  18. html: `<span style="${markerHtmlStyles}" />`
  19. })

将markerHtmlStyles中的背景颜色更改为您的自定义颜色,您就可以开始使用了。

 

方案二:

绑定这个网站的图标!

https://github.com/pointhi/leaflet-color-markers

网站上包含详细的操作方法信息。

 

用法:

  1. var greenIcon = new L.Icon({
  2. iconUrl: 'https://cdn.rawgit.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-green.png',
  3. shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/0.7.7/images/marker-shadow.png',
  4. iconSize: [25, 41],
  5. iconAnchor: [12, 41],
  6. popupAnchor: [1, -34],
  7. shadowSize: [41, 41]
  8. });
  9. L.marker([51.5, -0.09], {icon: greenIcon}).addTo(map);

 

方案三:

试试 Leaflet.awesome-markers lib - 它允许你设置颜色和其他样式

1.首先,按照将Font-Awesome或Twitter bootstrap或Ionicons包含在您的应用程序中的步骤进行操作。

对于Font-Awesome,步骤位于:http://fortawesome.github.io/Font-Awesome/get-started/

对于Twitter bootstrap,步骤如下:http://getbootstrap.com/getting-started/

对于Ionicons:

你可以添加 ionicon stylesheet 从 https://ionicons.com/ ,或者直接在 head 引入以下内容:

<link rel="stylesheet" href="http://code.ionicframework.com/ionicons/1.5.2/css/ionicons.min.css">

2.接下来,将dist / images目录,awesome-markers.css和awesome-markers.js复制到项目中并包含它们:

<link rel="stylesheet" href="css/leaflet.awesome-markers.css">
<script src="js/leaflet.awesome-markers.js"></script>

3.现在使用插件创建一个这样的标记:

  1. // Creates a red marker with the coffee icon
  2. var redMarker = L.AwesomeMarkers.icon({
  3. icon: 'coffee',
  4. markerColor: 'red'
  5. });
  6. L.marker([51.941196,4.512291], {icon: redMarker}).addTo(map);

详细的用法可以参考github,这里我不在赘述。

相关资源也可以到我的CSDN下载,希望这篇文章能帮到大家!

leaflet-color-markers-master.zip

Leaflet.awesome-markers-2.0-develop.zip

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/234856
推荐阅读
相关标签
  

闽ICP备14008679号