Leaflet.js使用总结
1.加载地图
var map = L.map("mapDiv", {
center: [42.31, 84.41],
zoom: 6,
minZoom: 3,
zoomControl: false,
attributionControl: false
});
2.添加一个arcgis的动态图层
提示:要使用到一个插件esri-leaflet.js
var envLayer = L.esri.dynamicMapLayer({
url: MAP_URL,
opacity: 1,
zIndex: 1,
});
map.addLayer(envLayer);
3.添加marker点
3.1div的marker
/**
多个点组合图层
*/
var icon = L.divIcon({
// html: '<div style="width:8px;height:8px;"></div>',
html: m.val,
className: 'marker-style',
});
var marker = L.marker([m.lat, m.lon], {
// title: m.val,
zIndexOffset: 1000,
icon: icon,
riseOnHover: true
})
//事件监听
marker.on('click', function(event) {
})
markers.push(marker);
_markerLayer[key] = L.layerGroup(markers);
Map.addLayer(_markerLayer[key]);
3.2 circle的marker
data.forEach(function(m) {
var circle = L.circle([m.latitude, m.longitude], 6000, {
color: 'red', //颜色
fillColor: '#f03',
fillOpacity: 0.4, //透明度
stationNo: m.stationNo
});
circle.on('click', function(event) {
})
markers.push(circle);
})
_markerLayer[key] = L.layerGroup(markers);
Map.addLayer(_markerLayer[key]);
4.添加图片图层
var imageBounds = [ //边界大小
[json[0].lat, json[0].lon],
[json[len].lat, json[len].lon]
];
_sbtObecjt['mapKey'] = L.imageOverlay(_canvas.toDataURL(), imageBounds, {
opacity: .5,
zIndex: 2
});
Map.addLayer(_sbtObecjt['mapKey']);
5.添加风场数据
提示: 需要插件leaflet-velocity.js
velocityLayer[mapKey] = L.velocityLayer({
displayValues: true,//提示数值
displayOptions: {
velocityType: '', //提示字符
emptyString: '', //空数据提示字符
displayPosition: 'bottomleft',
displayEmptyString: 'No Data!!!',
angleConvention: 'bearingCW'
},
data: data,
colorScale: [
"rgb(89,248,30)",
"rgb(255,255, 255)",
"rgb(255,255, 255)",
"rgb(255,255, 255)",
"rgb(255,255, 255)",
"rgb(255,255, 255)",
"rgb(255,255, 255)",
"rgb(255,255, 255)",
"rgb(255,255, 255)",
"rgb(255,255, 255)",
"rgb(255,255, 255)",
"rgb(255,255, 255)",
"rgb(255,255, 255)",
"rgb(255,255, 255)",
"rgb(255,255, 255)",
"rgb(255,255, 255)"
],
maxVelocity: 10
});
velocityLayer[mapKey].addTo(Map);
//data数据格式
[
{
"header":{
"discipline":0,
"disciplineName":"Meteorological products",
"gribEdition":2,
"gribLength":27759,
"center":7,
"centerName":"US National Weather Service - NCEP(WMC)",
"parameterNumber":2,
"parameterNumberName":"U-component_of_wind",
"parameterUnit":"m.s-1",
"surface1Type":103,
"surface1TypeName":"Specified height level above ground",
"surface1Value":10.0,
...
},
"data":[
-2.12,
-2.27,
-2.41,
...
]
}
]