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);
});
};
openlayers5学习笔记-001的更多相关文章
- [Oracle]OWI学习笔记--001
[Oracle]OWI学习笔记--001 在 OWI 的概念里面,最为重要的是 等待事件 和 等待时间. 等待事件发生时,需要通过 P1,P2,P3 查看具体的资源. 可以通过 v$session_w ...
- TensorFlow机器学习框架-学习笔记-001
# TensorFlow机器学习框架-学习笔记-001 ### 测试TensorFlow环境是否安装完成-----------------------------```import tensorflo ...
- Web前端学习笔记(001)
....编号 ........类别 ............条目 ................明细....................时间 一.Web前端学习笔记 ...
- PYTHON 100days学习笔记001:初识python
现在学习这个确实时间很紧,但是迟早得学,以后PYTHON自动化运维,PYTHON自动测试都需要用的到,甚至可以往数据分析方向发展,刚好最近有数据观组织的python100天计划,就参加了,做好笔记,一 ...
- entityframework学习笔记--001
最近想重新好好学习一下entityframework,于是在院子里找到了一篇不错的博客.下面把学习的过程记录下来,方便以后复习. 学习过程参考大神的博客:http://www.cnblogs.com/ ...
- iOS APP开发概述----学习笔记001
之前开发过一些Android APP,如今開始学习iOS开发,未来实际工作应该会用到.未雨绸缪. 一.了解其系统层次架构 其系统分层四层,其具体例如以下: 第一层:Core OS watermark/ ...
- elasticsearch学习笔记001
<Elasticsearch 核心技术与实战>课程Github代码 https://github.com/onebirdrocks/geektime-ELK 运行的环境: windows ...
- [Unreal]学习笔记001
常规 为了便于控制,创建自己的Gamemode和Controller,再通过Setting->World Setting进行设置 在场景中,按住鼠标右键来移动视角,按住右键的同时按下W/S,控制 ...
- 学习笔记001之[Android开发视频教学].01_15_Handler的使用(二)
Handler 与线程 Bundle 的用法 在线程中处理消息的方法 待补充......
随机推荐
- linux基础随记
1.cd 切换路径 cd ~vbird 进入这个用户的主目录cd ~ 进入root这个目录下cd .. 进入root上层目录cd - 进入root这个目录下cd /var/spool/mail 直接访 ...
- Bootstrap关于表单控件(按扭)
按钮也是表单重要控件之一,制作按钮通常使用下面代码来实现: ☑ input[type=“submit”] ☑ input[type=“button”] ☑ input[type=“r ...
- 00063_String类
1.String类的概述 (1)String 类代表字符串: (2)Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现: (3)字符串是常量,它们的值在创建 ...
- Linux Storage Stack Diagram 4.0
https://www.thomas-krenn.com/en/wiki/Linux_Storage_Stack_Diagram
- nyoj-664-数字整除(水题)
数字整除 时间限制:1000 ms | 内存限制:65535 KB 难度: 描写叙述 定理:把一个至少两位的正整数的个位数字去掉,再从余下的数中减去个位数的5倍.当且仅当差是17的倍数时.原数也是 ...
- Java IO之简单输入输出
Java中的IO分为两个部分,以InputStream和Reader为基类的输入类,以OutputStream和Writer为基类的输出类. 当中InputStream和OutputStream以字节 ...
- Ubuntu下启动Eclipse报错:A Java RunTime Environment (JRE) or Java Development Kit (JDK) must
原以为是jdk的环境变量配置错误了,于是从网上找了各种配置环境变量的方法.也注意空格的问题,可无论怎么改,还是这样报错!后来在网上看到一种奇怪的方法.我也不知道为什么这样就OK了? 方法:进入你的ec ...
- 【JavaScript】在同一个网页中实现多个JavaScript特效
在网页中,假设出现两次<script type="text/javascript"></script>标签,全部的JavaScipt脚本都不会再生效,仅仅能 ...
- <vim实用技巧>学习笔记
第三章插入模式 1.插入模式下的删除 2.返回普通模式 3.复制 yt, //复制当前光标到逗号(,)之前的内容 第四章 可视模式 1 ...
- 获取android的SDK或者手机目录路径
获取android的SDK或者手机目录路径 Google为我们提供了API来获取SDK或者手机目录路径: 1.获取SD卡目录 File file1 = Environment.getExternalS ...