123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- import Style from 'ol/style/Style.js';
- import Fill from 'ol/style/Fill.js';
- import Text from 'ol/style/Text.js';
- import Stroke from 'ol/style/Stroke.js';
- import Icon from 'ol/style/Icon.js';
- import Circle from "ol/style/Circle";
- function cityLand(gridcode) {
- let fillColor = ["#6E7F8580","#7B9CFB80","#979B4980","#E9920980","#182F1380","#30791380","#0D53AF80"];
- return new Style({
- fill: new Fill({
- color: fillColor[gridcode],
- })
- });
- }
- function pointStyle(f){
- let style = new Style({
- text: new Text({
- text:f.getId() ? f.getId() : f.get("id"),
- stroke: new Stroke({
- color: 'rgba(239,236,236)',
- width: 1,
- }),
- fill: new Fill({
- color: 'rgba(239,236,236)',
- }),
- font:"14px sans-serif"
- }),
- image: new Icon({
- src:"../status_"+f.get("status")+".png",
- scale:0.3,
- anchor:[0.5,1],
- })
- });
- return style
- }
- function areaStyle(f){
- let style = new Style({
- fill: new Fill({
- color: f.get("color")+"10"
- }),
- stroke: new Stroke({
- color: f.get("color"),
- width: 1,
- }),
- });
- return style;
- }
- let selectStyle = (f)=>{
- if(f.get("nodeType") === "area"){
- return areaStyle(f)
- }
- if(f.get("nodeType") === "town"){
- return cropStyle(f)
- }
- let color = f.get("color");
- let radius = 10;
- if(!color || color == ""){
- color = "green"
- radius = 5;
- }
- let style = new Style({
- image: new Circle({
- radius: radius, // 半径
- stroke: new Stroke({ // 边界样式
- color: 'red', // 边界颜色
- width: 3 // 边界宽度
- }),
- fill: new Fill({ // 填充样式
- color: color // 填充颜色
- })
- })
- });
- return style
- }
- function cropStyle(f){
- const fill = new Fill({
- color: 'rgba(255,255,255,0.1)',
- });
- return new Style({
- fill:fill
- });
- }
- function selectedCropStyle(f){
- if(f.get("isPoint")){
- return pointStyle(f)
- }
- const stroke = new Stroke({
- color: 'rgb(10,241,23)',
- width: 2
- });
- return new Style({
- stroke:stroke
- });
- };
- function fitPointStyle(f){
- if(f.get("nodeType") == "fitPoint"){
- let color = "#ffffff"
- let radius = 2;
- if(f.get("sort") == 0){
- color = "yellow";
- radius = "6"
- }
- let style = new Style({
- image: new Circle({
- radius: radius, // 半径
- fill: new Fill({ // 填充样式
- color: color// 填充颜色
- })
- })
- });
- return style
- }else{
- let style = new Style({
- fill: new Fill({ // 填充样式
- color: '#23DB9E'// 填充颜色
- }),
- stroke: new Stroke({
- color: "#23DB9E",
- width: 2,
- }),
- });
- return style
- }
- }
- function numberPointStyle(f){
- if(f.get("nodeType") == "fitPoint") {
- let style = new Style({
- text: new Text({
- offsetY:-10,
- offsetX:-10,
- text: f.get("sort")+"",
- stroke: new Stroke({
- color: 'red',
- width: 1,
- }),
- fill: new Fill({
- color: 'red',
- }),
- font: "12px sans-serif"
- })
- });
- return style
- }
- }
- export {
- cityLand,
- selectedCropStyle,
- cropStyle,
- pointStyle,
- selectStyle,
- fitPointStyle,
- numberPointStyle,
- }
|