openlayers之点,线,面(以城市,河流,省份为例,分别对应点线面)
kpst._this这里指向初始化的map
// 设置标注样式函数
function createStyle(name) {
// 河流style
var riverStyle = new Style({
stroke: new Stroke({
color: '#4e89d4',
width: 2
}),
fill: new Fill({
color: '#eee'
})
})
// 省份style·
var provinceStyle = new Style({
stroke: new Stroke({
color: '#4e89d4',
width: 1
}),
fill: new Fill({
color: '#eee'
})
})
//城市style·
if (name != '') {
var cityStyle = new ol.style.Style({
image: new ol.style.Circle({
radius: 5,
fill: new ol.style.Fill({
color: '#05ab57',
}),
stroke: new ol.style.Stroke({
color: '#05ab57',
width: 1
}),
}),
text: new ol.style.Text({
textAlign: "center", // 位置
textBaseline: "top", // 基准线
font: "normal 12px 微软雅黑", // 文字样式
text: name,
fill: new ol.style.Fill({
color: "#333",// 文本填充样式(即文字颜色)
}),
stroke: new ol.style.Stroke({
color: "#Fff",
}),
zIndex: 9
})
})
}
return {
riverStyle,
provinceStyle,
cityStyle
}
}
//创建图层
function creatlayer(name) {
var layer
if (name != 'city') {
layer = new VectorLayer({
name: name,
source: new VectorSource({
// 地图的坐标系是CGCS2000,json数据也要是CGCS2000
features: (new GeoJSON()).readFeatures(require("../../assets/data/" + name + '.json'))
}),
style: createStyle()[name + 'Style']
});
} else {
var features = (new GeoJSON()).readFeatures(require("../../assets/data/city.json"))
for (let i = 0; i < features.length; i++) {
const feature = features[i];
feature.setStyle(createStyle(feature.get("NAME")).cityStyle)
}
layer = new VectorLayer({
name: name,
source: new VectorSource({
features: features
})
})
}
kpst._this.addLayer(layer);
return layer
};
// 将图层加载到地图,并将所加图层赋给地图的某个对象
function layerFx(name) {
kpst._this[name] = creatlayer(name)
}
// 将图层加载函数挂载到地图
kpst._this.layerFx = layerFx
openlayers之点,线,面(以城市,河流,省份为例,分别对应点线面)的更多相关文章
- 一个简单客户端获取IP,国家,城市,省份的代码
<html><head> <script src="js/jquery-1.6.2.min.js" type="text/javascri ...
- vue父组件获取子组件页面的数组 以城市三级联动为例
父组件调用子组件 <Cselect ref="registerAddress"></Cselect> import Cselect from '../../ ...
- Geoserver基本使用、WMS服务发布与OpenLayers测试
1.Geoserver与OpenLayers的下载 Geoserver:http://geoserver.org/ OpenLayers:http://openlayers.org/ 2.安装部署Ge ...
- asp.net mvc jQuery 城市二级联动
页面效果图: 数据库表结构: 首先在数据库中创建省级.城市的表,我的表如下:我用了一张表放下了省级.城市的数据,用level划分省份和城市,parentId表示该城市所在省份的id 主要文件有:ind ...
- 通过jquery 获取用户当前所在的城市名称和IP地址
下面这段JS代码是通过jquery 结合新浪IP地址库和QQip地址库接口获取用户当前所在的城市(省份)名称. 用户当前IP地址等数据.其中当前IP是通过 QQip地址库接口获取,其他数据都是通过 新 ...
- P1841 [JSOI2007]重要的城市
题目描述 参加jsoi冬令营的同学最近发现,由于南航校内修路截断了原来通向计算中心的路,导致去的路程比原先增加了近一公里.而食堂门前施工虽然也截断了原来通向计算中心的路,却没有使路程增加,因为可以找到 ...
- talib 中文文档(十二):Pattern Recognition Functions K线模式识别,形态识别
Pattern Recognition Functions K线模式识别,形态识别 CDL2CROWS - Two Crows 函数名:CDL2CROWS 名称:Two Crows 两只乌鸦 简介:三 ...
- Ta-lib K线模式识别
1, CDL2CROWS (Two Crows 两只乌鸦) 简介:三日K线模式,第一天长阳,第二天高开收阴,第三天再次高开继续收阴,收盘比前一日收盘价低,预示股价下跌. 例子:integer = CD ...
- 使用JavaScript数组实现省份和城市的级联菜单
查看本章节 查看作业目录 需求说明: 使用数组实现省份和城市的级联菜单.具体要求如下 在页面中添加城市时,根据选择的省份,动态地添加该省份的城市 页面加载完毕后,第一个列表框填充"两湖两广& ...
随机推荐
- C#汉字转换拼音技术详解(高性能)
public static class ChineseToPinYin { private static readonly Dictionary<<span class="key ...
- EvenBus源码分析
概述 一般使用EventBus的组件类,类似下面这种方式: public class SampleComponent extends Fragment { @Override public void ...
- win10下用Anaconda安装TensorFlow | 后附JetBrains测试
从意识上认识Anaconda(音标:[ˌænəˈkɑ:ndə])/(拼读:安娜康达). Anaconda:水蟒的意思,如图logo像不像水蟒.其最后五个字母是conda(包管理器),而Anaconda ...
- linux常用命令(14)which命令
我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索: which 查看可执行文件的位置. whereis 查看文件的位置. locate 配合数 ...
- java.lang.Double[] 转 double[]
Double[] v = list.stream().map(item -> item.getRespTime()).toArray(Double[]::new); Mean mean = ne ...
- [笔记] Ubuntu机器添加新硬盘安装流程
SSD虽然快,但是容量不够用,买了块希捷4TB的机械硬盘,准备给台机扩容. 安装环境 OS: Ubuntu 18.04 安装新硬盘 问了客服,原来这款机箱已经带了硬盘滑槽,不需要固定螺钉了. 买了SA ...
- 【D3D12学习手记】The Swap Chain and Page Flipping
为了避免动画中的闪烁,最好将整个动画帧绘制到称为后台缓冲区的屏幕外纹理(off-screen texture)中.一旦整个场景被绘制到给定动画帧的后缓冲区,它就作为一个完整的帧呈现给屏幕;以这种方式, ...
- bootstrap文件上传C#实现
https://www.cnblogs.com/landeanfen/p/5007400.html
- 用xcode打包完成,出现的Archive界面怎么打开?
要出现这个界面 只需在xcode界面进入windows 的下拉菜单Organizer
- Django模板系统-母板和继承
母板和继承 母版 html页面,提取多个页面的公共部分 定义多个block块,需要让子页面进行填充 <head> {% block page-css %} {% endblock %} & ...