zoukankan      html  css  js  c++  java
  • openlayers5学习笔记-001

    tmp.initPoint = function (items) {
                    //初始化所有农户点坐标,聚合
                    var count = items.length;
                    var features = new Array(count);
    
                    for (var i = 0; i < items.length; i++) {
                        var item = items[i];
                        var feature = new Feature({
                            geometry: new Point([item.x, item.y])
                        });
    
                        features[i] = feature;
                    }
    
                    var source = new VectorSource({
                        features: features
                    });
    
                    var clusterSource = new Cluster({
                        distance: 200,
                        source: source,
                        geometryFunction: function (evt) {
                            return evt.getGeometry();
                        }
                    });
    
                    var styleCache = {};
                    var clusters = new VectorLayer({
                        source: clusterSource,
                        style: function (feature) {
                            var size = feature.get('features').length;
                            var style = styleCache[size];
                            if (!style) {
                                style = new Style({
                                    image: new CircleStyle({
                                        radius: 15,
                                        stroke: new Stroke({
                                            color: '#fff'
                                        }),
                                        fill: new Fill({
                                            color: '#ff0000'
                                        })
                                    }),
                                    text: new Text({
                                        text: size.toString(),
                                        fill: new Fill({
                                            color: '#fff'
                                        })
                                    })
                                });
                                styleCache[size] = style;
                            }
                            return style;
                        }
                    });
    
                    return clusters;
                }

    
    
    //初始化地图

    tmp.initMap = function (items) { //自定义瓦片地图 var baseMapLayer = new TileLayer({ source: new ol.source.XYZ({ url: '/maps/{z}/{x}/{y}.png', attributions: "XX公司" }) }); //高德地图 var gaodeMapLayer = new TileLayer({ source: new ol.source.XYZ({ url: 'http://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=7&x={x}&y={y}&z={z}' }) }); var vectorArea = new VectorLayer({ source: new VectorSource({ url: '/data/kml/ChinaArea.kml', format: new KML() }) }); var clusters = tmp.initPoint(items); tmp.map = new Map({ layers: [gaodeMapLayer, clusters, vectorArea], target: 'map', controls: ol.control.defaults().extend([ new ol.control.FullScreen(), new ol.control.MousePosition(), new ol.control.ScaleLine(), new ol.control.ZoomSlider(), new ol.control.Attribution(), new ol.control.Rotate() ]), view: new View({ projection: 'EPSG:4326', zoom: 10, maxZoom: mapMaxZoom, minZoom: mapMinZoom, center: tmp.CenterPoint }) }); //事件:抓 tmp.map.on('pointerdrag', function (evt) { var t = tmp.map.getView(); }); //事件:地图移动结束 tmp.map.on('moveend', function (evt) { //console.log(evt.frameState.extent); }); };
  • 相关阅读:
    camke中关于变量的一些知识
    ububtu16.04下安装protobuf
    ububtu下安装配置搜狗输入法
    anaconda资源链接
    把本地项目文件上传到github远程仓库的教程
    cmake practice一文中安装可执行文件的方法
    slam学习资源
    js中对String去空格
    去当前时间的周一
    对sql初始化的值的处理
  • 原文地址:https://www.cnblogs.com/YrRoom/p/9366214.html
Copyright © 2011-2022 走看看