场景
Vue+Leaflet实现加载OSM显示地图:
Vue+Leaflet实现加载OSM显示地图_BADAO_LIUMANG_QIZHI的博客-CSDN博客
在上面的基础上,实现Marker上带图标的效果。
注:
博客:
BADAO_LIUMANG_QIZHI的博客_霸道流氓气质_CSDN博客-C#,SpringBoot,架构之路领域博主
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
实现
1、插件地址
2、下载源码,引入所需要的文件
引入这四个png,以及核心js文件leaflet.awesome-marker.js
css文件不再单独引入,直接写在html中
2、修改css文件中图片的路径
3、完整示例代码
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>leaflet显示带awesome的marker图标</title>
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.7.1/dist/leaflet.css" />
<link href="http://netdna.bootstrapcdn.com/font-awesome/4.0.0/css/font-awesome.css" rel="stylesheet">
<link href="http://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet">
<style>
html,
body,
#map {
padding: 0;
margin: 0;
width: 100%;
height: 100%;
overflow: hidden;
}
/* Marker setup */
.awesome-marker {
background: url('./icon/markers-soft.png') no-repeat 0 0;
width: 35px;
height: 46px;
position: absolute;
left: 0;
top: 0;
display: block;
text-align: center;
}
.awesome-marker-shadow {
background: url('./icon/markers-shadow.png') no-repeat 0 0;
width: 36px;
height: 16px;
}
/* Retina displays */
@media (min--moz-device-pixel-ratio: 1.5),
(-o-min-device-pixel-ratio: 3/2),
(-webkit-min-device-pixel-ratio: 1.5),
(min-device-pixel-ratio: 1.5),
(min-resolution: 1.5dppx) {
.awesome-marker {
background-image: url('./icon/markers-soft@2x.png');
background-size: 720px 46px;
}
.awesome-marker-shadow {
background-image: url('./icon/markers-shadow@2x.png');
background-size: 35px 16px;
}
}
.awesome-marker i {
color: #333;
margin-top: 10px;
display: inline-block;
font-size: 14px;
}
.awesome-marker .icon-white {
color: #fff;
}
/* Colors */
.awesome-marker-icon-red {
background-position: 0 0;
}
.awesome-marker-icon-darkred {
background-position: -180px 0;
}
.awesome-marker-icon-lightred {
background-position: -360px 0;
}
.awesome-marker-icon-orange {
background-position: -36px 0;
}
.awesome-marker-icon-beige {
background-position: -396px 0;
}
.awesome-marker-icon-green {
background-position: -72px 0;
}
.awesome-marker-icon-darkgreen {
background-position: -252px 0;
}
.awesome-marker-icon-lightgreen {
background-position: -432px 0;
}
.awesome-marker-icon-blue {
background-position: -108px 0;
}
.awesome-marker-icon-darkblue {
background-position: -216px 0;
}
.awesome-marker-icon-lightblue {
background-position: -468px 0;
}
.awesome-marker-icon-purple {
background-position: -144px 0;
}
.awesome-marker-icon-darkpurple {
background-position: -288px 0;
}
.awesome-marker-icon-pink {
background-position: -504px 0;
}
.awesome-marker-icon-cadetblue {
background-position: -324px 0;
}
.awesome-marker-icon-white {
background-position: -574px 0;
}
.awesome-marker-icon-gray {
background-position: -648px 0;
}
.awesome-marker-icon-lightgray {
background-position: -612px 0;
}
.awesome-marker-icon-black {
background-position: -682px 0;
}
</style>
</head>
<body>
<div id="map"></div>
<script type="text/javascript" src="https://unpkg.com/leaflet@1.7.1/dist/leaflet.js"></script>
<script type="text/javascript" src="./js/leaflet.awesome-markers.js"></script>
<script type="text/javascript">
var map = L.map('map').setView([36.09, 120.35], 13);
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: ''
}).addTo(map);
L.marker([51.941196, 4.512291], {
icon: L.AwesomeMarkers.icon({
icon: 'link',
prefix: 'glyphicon',
markerColor: 'red',
spin: true
})
}).addTo(map);
L.marker([51.927913, 4.521303], {
icon: L.AwesomeMarkers.icon({
icon: 'certificate',
prefix: 'glyphicon',
markerColor: 'red'
})
}).addTo(map);
L.marker([51.936063, 4.502077], {
icon: L.AwesomeMarkers.icon({
icon: 'cog',
prefix: 'glyphicon',
markerColor: 'purple'
})
}).addTo(map);
L.marker([51.932835, 4.506969], {
icon: L.AwesomeMarkers.icon({
icon: 'send',
prefix: 'glyphicon',
markerColor: 'green'
})
}).addTo(map);
L.marker([51.930295, 4.515209], {
icon: L.AwesomeMarkers.icon({
icon: 'star',
prefix: 'glyphicon',
markerColor: 'blue',
iconColor: 'black'
})
}).addTo(map);
L.marker([51.930083, 4.507742], {
icon: L.AwesomeMarkers.icon({
icon: 'tags',
prefix: 'fa',
markerColor: 'orange'
})
}).addTo(map);
L.marker([51.930454, 4.527054], {
icon: L.AwesomeMarkers.icon({
icon: 'bookmark',
prefix: 'fa',
markerColor: 'darkred'
})
}).addTo(map);
L.marker([51.929607, 4.527054], {
icon: L.AwesomeMarkers.icon({
icon: 'picture-o',
prefix: 'fa',
markerColor: 'darkblue'
})
}).addTo(map);
L.marker([51.928919, 4.528856], {
icon: L.AwesomeMarkers.icon({
icon: 'move',
prefix: 'fa',
markerColor: 'cadetblue'
})
}).addTo(map);
L.marker([51.930295, 4.530745], {
icon: L.AwesomeMarkers.icon({
icon: 'play',
prefix: 'fa',
markerColor: 'darkpurple'
})
}).addTo(map);
L.marker([51.925055, 4.512806], {
icon: L.AwesomeMarkers.icon({
icon: 'barcode',
prefix: 'fa',
markerColor: 'darkgreen'
})
}).addTo(map);
L.marker([51.925902, 4.505768], {
icon: L.AwesomeMarkers.icon({
icon: 'inbox',
prefix: 'fa',
markerColor: 'darkblue'
})
}).addTo(map);
L.marker([51.925902, 4.505768], {
icon: L.AwesomeMarkers.icon({
icon: 'inbox',
prefix: 'fa',
markerColor: 'darkblue'
})
}).addTo(map);
</script>
</body>
</html>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/136109.html