【发布时间】:2016-04-26 03:51:38
【问题描述】:
是否可以使用 SVG 图片作为 leaflet.js 的底图?
就我而言,我有一个巨大的 svg 文件,我希望允许我的用户使用传单的所有功能,例如缩放、标记、图层。
【问题讨论】:
标签: javascript svg leaflet
是否可以使用 SVG 图片作为 leaflet.js 的底图?
就我而言,我有一个巨大的 svg 文件,我希望允许我的用户使用传单的所有功能,例如缩放、标记、图层。
【问题讨论】:
标签: javascript svg leaflet
是的,你可以像这样使用imageOverlay
// create the map
var map = L.map('map', {
center: [40.75, -74.2],
zoom: 13
});
var imageUrl = 'https://www.amcharts.com/lib/3/maps/svg/australiaHigh.svg',
imageBounds = [
[40.712216, -74.22655],
[40.773941, -74.12544]
];
L.imageOverlay(imageUrl, imageBounds).addTo(map);
#map {
height: 400px;
}
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.7.1/dist/leaflet.css" />
<script src="https://unpkg.com/leaflet@1.7.1/dist/leaflet.js"></script>
<div id="map"></div>
【讨论】:
imageBounds = [[0, 0], [100, 100]];,然后将center: [50, 50], zoom: 1 传递给传单以保持简单。
crs: L.CRS.Simple 可以让您以像素而不是纬度/经度来指定事物。
height/width 坐标 - getBBox()