使用leaflet在地图上绘制多个多边形
由于需要在地图上绘制大量的多边形,国内地图高德、百度等都有对应API可以使用,如果在国外就无法使用这些地图了,加上也会有偏移等问题,所以此时leaflet就发挥了很大的作用,提供了众多且强大的API等。具体如何使用leaflet,因为比较基础,这里不详细说明,具体建议查看官网以及各大博主的博客具体思路:1.leaflet提供了在地图上绘制圆,多边形,矩形,折线等各种API官网链接:链接: link
·
由于需要在地图上绘制大量的多边形,国内地图高德、百度等都有对应API可以使用,如果在国外就无法使用这些地图了,加上也会有偏移等问题,所以此时leaflet就发挥了很大的作用,提供了众多且强大的API等。
具体如何使用leaflet,因为比较基础,这里不详细说明,具体建议查看官网以及各大博主的博客
具体思路:
1.leaflet提供了在地图上绘制圆,多边形,矩形,折线等各种API,以下思路对矢量图层绘制用法一致
官网链接:链接: link.
其实思路很简单,只需要有对应位置的经纬度即可
直接上代码:
// An highlighted block
// create a red polygon from an array of LatLng points
var latlngs = [[37, -109.05],[41, -109.03],[41, -102.05],[37, -102.04]];
var polygon = L.polygon(latlngs, {color: 'red'}).addTo(map);
// zoom the map to the polygon
map.fitBounds(polygon.getBounds());
以上是绘制单个多边形,那么多个就是从中拓展出来,将数组变成动态数据即可
// An highlighted block
for (var i = 0; i < getlats.length; i++) {
var polygon = L.polygon(
[
[getlats[i].x, getlons[i].y],
[getlats[i].x, getlons[i].y],
[getlats[i].x, getlons[i].y],
[getlats[i].x, getlons[i].y],
[getlats[i].x, getlons[i].y],
],
{
color: "green",
fillColor: "yellow",
fillOpacity: 1,
weight: 1,
}).addTo(map);
}
这边的getlats[i].x, getlons[i].y的格式分别是纬度和经度
拓展:
当在缩放地图级别时,想要保持多边形大小不变,请看下一篇博客。
更多推荐
已为社区贡献1条内容
所有评论(0)