leaflet 绘制半圆扇形 饼图

插件Leaflet-semicircle
示例demo http://jieter.github.io/Leaflet-semicircle/examples/semicircle.html

1.半圆扇形

/**
* []  坐标
* radius 半径
* startAngle  开始角度
* endAngle  结束角度
* fill 填充
* fillColor  填充色
* fillOpacity  填充透明度
*/
L.semiCircle([51.5, -0.09], {
    radius: 500,
	startAngle: 45,
	stopAngle: 135,
	fill: true,
    fillColor:'#f03',
    fillOpacity: 0.5,
    color: '#f03',
    opacity: 0.5,
}).addTo(map);

2.饼图

2.1 单个数字

L.pie([50.66, -0.0], 45).addTo(map);

2.2 数组

L.pie(
    [50.70, 0],
    [10, 20, 30, 40, 50, 70]
).addTo(map);

2.3 对象数组

L.pie([50.68, 0.05], [
    {num: 45, label: 'Bob'},
    {num: 60, label: 'Tom'},
    {num: 45, label: 'Ada'}
]).addTo(map);

设置

L.pie([50.66, 0.05], 15, {
    pathOptions: {
        opacity: 0.9,
        fillOpacity: 0.9
    },
    colors: ['#fff', '#afb', '#fba']
}).addTo(map);
Leaflet是一个轻量级的JavaScript库,用于创建互动式的Web地图。要在Leaflet绘制晨昏线(也称为日出和日落线),你可以借助外部的插件如`leaflet-draw`或自定义代码来实现。以下是一种基本步骤: 1. 首先,确保你在项目中引入了Leaflet库及其依赖。 2. 使用Leaflet的`L.Path`作为基础,因为晨昏线通常被视为路径。你可以选择创建一个新的自定义Path子类来处理晨昏线的计算和渲染。 3. 实现计算晨昏线的函数,这需要地理坐标系、日期时间以及太阳高度角等知识。可以参考天文学公式来计算。 4. 将这个计算函数绑定到地图的一个事件上,比如用户点击某个位置,然后动态地绘制晨昏线。 5. 可能还需要一个交互组件,让用户能够调整日期和地点,以便看到相应日期的晨昏线变化。 ```javascript // 假设我们有一个计算晨昏线的函数 function calculateCivilTwilight(lat, lon, date) { // ... 这里实现具体的计算逻辑 } // 创建自定义的晨昏线Path类 var TwilightPath = L.Path.extend({ initialize: function(date) { this.date = date; this._path = []; }, _update: function() { var latLngs = calculateCivilTwilight(this.getLatLng(), this.date); this.setLatLngs(latLngs); }, onAdd: function(map) { L.Path.prototype.onAdd.call(this, map); this._map.on('moveend', this._update, this); } }); // 创建并添加到地图 var map = L.map('map').setView([51.505, -0.09], 13); var twilightLine = new TwilightPath(new Date()); map.addLayer(twilightLine); ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值