Commit e9008261 by liyuhang19990520

地图

parent 22537128
......@@ -19,6 +19,7 @@
"kindeditor": "^4.1.10",
"moment": "^2.29.1",
"qs": "^6.9.4",
"ol": "^6.12.0",
"relation-graph": "^1.1.0",
"sass-resources-loader": "^2.1.1",
"video.js": "^7.14.3",
......
import {Draw, Modify, Snap,Select} from 'ol/interaction.js';
import {Circle as CircleStyle, Fill, Stroke, Style} from "ol/style";
import Polygon from "ol/geom/Polygon";
import Vue from 'vue'
import Circle from "ol/style/Circle";
var drawTool={};
/*画画
* layerId:"bzdz",//必要
type:'Point',//类型(Point、Circle、Polygon、LineString) //必要
borderColor:"#123132",
fillColor:"#455654",
strokeWidth:2
img:{src:"static/img/greenpoint.png",scale:1},*/
Vue.prototype.$setDraw=function (parms) {
var self=this;
if(!this.$getLayer({layerId:parms.layerId})){
this.$setLayer(parms)
}
if(parms.type=='Rectangle'){
var draw = new Draw({
source: this.$getLayer({layerId:parms.layerId}).getSource(),
type: 'LineString',
style: new Style({
fill: new Fill({
color: 'rgba(0,0,0,0.2)'
}),
stroke: new Stroke({
color: 'rgba(0, 0, 0, 0.5)',
lineDash: [10, 10],
width: 2
}),
image: new CircleStyle({
radius: 5,
stroke: new Stroke({
color: 'rgba(0, 0, 0, 0.7)'
}),
fill: new Fill({
color: 'rgba(255, 255, 255, 0.2)'
})
})
}),
maxPoints: 2,
geometryFunction: function(coordinates, geometry){
var start = coordinates[0];
var end = coordinates[1];
if(!geometry){
geometry=new Polygon([
[start, [start[0], end[1]], end, [end[0], start[1]], start]
]);
}
geometry.setCoordinates([
[start, [start[0], end[1]], end, [end[0], start[1]], start]
]);
return geometry;
}
});
}
else {
var draw = new Draw({
source: this.$getLayer({layerId:parms.layerId}).getSource(),
type: parms.type,
style: new Style({
fill: new Fill({
color: 'rgba(0,0,0,0.2)'
}),
stroke: new Stroke({
color: 'rgba(0, 0, 0, 0.5)',
lineDash: [10, 10],
width: 2
}),
image: new CircleStyle({
radius: 5,
stroke: new Stroke({
color: 'rgba(0, 0, 0, 0.7)'
}),
fill: new Fill({
color: 'rgba(255, 255, 255, 0.2)'
})
})
})
});
}
draw.set('layerId',parms.layerId)
this.$Map.removeInteraction(this.$getInteractions({layerId:parms.layerId}))
this.$Map.addInteraction(draw);
}
/*修改
* var parms={
* layerId:"bzdz",
* id:'11111//必要
* }*/
Vue.prototype.$setModify=function (parms) {
var modify = new Modify({
source: this.$getLayer({layerId:parms.layerId}).getSource(),
style:new Style(
{
image: new Circle({
radius: 6,
fill: new Fill({
color: '#0332ff'
})
})
}
)
});
modify.set('layerId',parms.id)
this.$Map.addInteraction(modify);
}
/*吸附线*/
Vue.prototype.$setSnap=function (parms) {
var snap = new Snap({source: this.$getLayer({layerId:parms.layerId}).getSource()});
snap.set('layerId',parms.layerId);
this.$Map.addInteraction(snap);
}
<!--
* @Author: liyuhang19990520 1092680144@qq.com
* @Date: 2022-05-18 22:00:19
* @LastEditors: liyuhang19990520 1092680144@qq.com
* @LastEditTime: 2022-05-18 22:59:03
* @FilePath: \founder_vue\public\index.html
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<!DOCTYPE html>
<html lang="en">
<head>
......
import { Draw, Modify, Snap, Select } from 'ol/interaction.js';
import { Circle as CircleStyle, Fill, Stroke, Style } from "ol/style";
import Polygon from "ol/geom/Polygon";
import Vue from 'vue'
import Circle from "ol/style/Circle";
var drawTool = {};
/*画画
* layerId:"bzdz",//必要
type:'Point',//类型(Point、Circle、Polygon、LineString) //必要
borderColor:"#123132",
fillColor:"#455654",
strokeWidth:2
img:{src:"static/img/greenpoint.png",scale:1},*/
Vue.prototype.$setDraw = function (parms) {
var self = this;
if (!this.$getLayer({ layerId: parms.layerId })) {
this.$setLayer(parms)
}
if (parms.type == 'Rectangle') {
var draw = new Draw({
source: this.$getLayer({ layerId: parms.layerId }).getSource(),
type: 'LineString',
style: new Style({
fill: new Fill({
color: 'rgba(0,0,0,0.2)'
}),
stroke: new Stroke({
color: 'rgba(0, 0, 0, 0.5)',
lineDash: [10, 10],
width: 2
}),
image: new CircleStyle({
radius: 5,
stroke: new Stroke({
color: 'rgba(0, 0, 0, 0.7)'
}),
fill: new Fill({
color: 'rgba(255, 255, 255, 0.2)'
})
})
}),
maxPoints: 2,
geometryFunction: function (coordinates, geometry) {
var start = coordinates[0];
var end = coordinates[1];
if (!geometry) {
geometry = new Polygon([
[start, [start[0], end[1]], end, [end[0], start[1]], start]
]);
}
geometry.setCoordinates([
[start, [start[0], end[1]], end, [end[0], start[1]], start]
]);
return geometry;
}
});
}
else {
var draw = new Draw({
source: this.$getLayer({ layerId: parms.layerId }).getSource(),
type: parms.type,
style: new Style({
fill: new Fill({
color: 'rgba(0,0,0,0.2)'
}),
stroke: new Stroke({
color: 'rgba(0, 0, 0, 0.5)',
lineDash: [10, 10],
width: 2
}),
image: new CircleStyle({
radius: 5,
stroke: new Stroke({
color: 'rgba(0, 0, 0, 0.7)'
}),
fill: new Fill({
color: 'rgba(255, 255, 255, 0.2)'
})
})
})
});
}
draw.set('layerId', parms.layerId)
this.$Map.removeInteraction(this.$getInteractions({ layerId: parms.layerId }))
this.$Map.addInteraction(draw);
}
/*修改
* var parms={
* layerId:"bzdz",
* id:'11111//必要
* }*/
Vue.prototype.$setModify = function (parms) {
var modify = new Modify({
source: this.$getLayer({ layerId: parms.layerId }).getSource(),
style: new Style(
{
image: new Circle({
radius: 6,
fill: new Fill({
color: '#0332ff'
})
})
}
)
});
modify.set('layerId', parms.id)
this.$Map.addInteraction(modify);
}
/*吸附线*/
Vue.prototype.$setSnap = function (parms) {
var snap = new Snap({ source: this.$getLayer({ layerId: parms.layerId }).getSource() });
snap.set('layerId', parms.layerId);
this.$Map.addInteraction(snap);
}
import Vue from 'vue'
var relUrlIp=window.location.host.substring(0,window.location.host.length-5);
//每次部署只需要修改arcgisserver_url
if (relUrlIp == '26.3.13.120' || relUrlIp == '74.25.20.179' || relUrlIp == '68.175.7.118' || relUrlIp == '65.65.100.205' || relUrlIp == '68.175.7.150' || relUrlIp == '68.175.7.95' || relUrlIp == '68.174.25.98' || relUrlIp == '26.8.175.242' || relUrlIp == '10.5.151.81'|| relUrlIp=='10.5.151.83' || relUrlIp=='77.16.28.68' || relUrlIp=='77.16.28.60') {
var arcgisserver_url = "http://68.174.25.103:6080";
} else {
var arcgisserver_url = "http://47.92.225.109:6080";
}
/*pgis矢量底图*/
var PGIS_sldt = "http://dggis.dgs.gd/gisserver01/rest/services/TDTSLDT/MapServer/tile/{z}/{y}/{x}";
/*pgis影像*/
var PGIS_yxdt = "http://dggis.dgs.gd/gisserver01/rest/services/TDTYXDT/MapServer/tile/{z}/{y}/{x}";
/*矢量底图*/
// var basemap = "http://26.3.12.43/arcgis/rest/services/nmsl/MapServer/tile/{z}/{y}/{x}";
// var basemap = "http://74.6.54.80:8087/EzServer/client/client7/openmap7.jsp?map=tdtsl";
// http://74.6.54.80:8087/EzServer
var basemap = "/toMap/Maps/tdtsl/EzMap?Service=getImage&Type=RGB&ZoomOffset=0&Col={x}&Row={y}&Zoom={z}&V=0.3&key="
// 全国的地图
// var quanguoMap = "/toQuanGuoMap/rest/services/founder/china/MapServer/tile/{z}/{y}/{x}"
var quanguoMap = "/toQuanGuoMap/rest/services/founder/%E5%A4%A9%E5%9C%B0%E5%9B%BE%E7%9F%A2%E9%87%8F%E5%85%A8%E5%9B%BD/MapServer/tile/{z}/{y}/{x}"
/*影像*/
var image_basemap = arcgisserver_url + "/arcgis/rest/services/founder/dgimage/MapServer/tile/{z}/{y}/{x}";
var relUrlIp=window.location.host.substring(0,window.location.host.length-5);
Vue.prototype.$baseMapConfig = [
{
type: 'TileGrid', requestType: "GET", url: PGIS_sldt, layerId: 'PgisVectorTileGrid', Visible: false, projection: 'EPSG:4326', label: 'p矢量', resolutions: [
1.4062500000000002,
0.7031250000000001,
0.35156250000000006,
0.17578125000000003,
0.08789062500000001,
0.04394531250000001,
0.021972656250000003,
0.010986328125000002,
0.005493164062500001,
0.0027465820312500004,
0.0013732910156250002,
6.866455078125001E-4,
3.4332275390625005E-4,
1.7166137695312503E-4,
8.583068847656251E-5,
4.2915344238281264E-5,
2.14576721191406E-5,
1.07288360595703E-5,
5.36441802978516E-6,
2.68220901485E-6,
1.341104507425E-6,
6.705522537124998E-7
], origin: [-180.0, 90.0]
},
{
type: 'TileGrid', requestType: 'GET', url: PGIS_yxdt, layerId: 'PgisImgTileGrid', Visible: false, projection: 'EPSG:4326', label: 'p矢量', resolutions: [
1.4062500000000002,
0.7031250000000001,
0.35156250000000006,
0.17578125000000003,
0.08789062500000001,
0.04394531250000001,
0.021972656250000003,
0.010986328125000002,
0.005493164062500001,
0.0027465820312500004,
0.0013732910156250002,
6.866455078125001E-4,
3.4332275390625005E-4,
1.7166137695312503E-4,
8.583068847656251E-5,
4.2915344238281264E-5,
2.14576721191406E-5,
1.07288360595703E-5,
5.36441802978516E-6,
2.68220901485E-6,
1.341104507425E-6,
6.705522537124998E-7
], origin: [-180.0, 90.0]
},
{
type: 'TileGrid', requestType: 'GET', url: quanguoMap, layerId: 'quanguoLayerId', Visible: true, projection: 'EPSG:4326', label: '矢量', resolutions: [
0.08789062468509322,
0.04394531353227711,
0.021972656766138556,
0.010986328383069278,
0.005493164191534639,
0.0027465809060368165,
0.0013732916427489112,
], origin: [-400.0 ,399.9999999999998]
},
{
type: 'TileGrid', requestType: 'GET', url: basemap, layerId: 'OpVectorBaseMap', Visible: true, projection: 'EPSG:4326', label: '矢量', resolutions: [
1.4078260157100582,
0.703913007855028,
0.35195650392751515,
0.17597825196375638,
0.08798912598187819,
0.043994562990939096,
0.021997281495469548,
0.010998640747734774,
0.005499320373868577,
0.0027496601869330985,
0.001374830093467739,
6.874150467326798E-4,
3.437075233663399E-4,
1.7185376168316996E-4,
8.592688084158498E-5,
4.296344042198222E-5,
2.148172021099111E-5,
1.0740860104305824E-5,
5.3704300533426425E-6,
2.685215025481591E-6,
1.341104507425E-6,
6.705522537124998E-7
], origin: [-180.0, 90]
},
{
type: 'TileGrid', requestType: 'GET', url: image_basemap, layerId: 'OpImgBaseMap', Visible: false, projection: 'EPSG:4326', label: '影像', resolutions: [
0.7039144156731805,
0.35195720784848755,
0.17597860391234646,
0.08798930195617323,
0.04399465098998392,
0.02199732549499196,
0.01099866274749598,
0.00549933137374799,
0.002749665686873995,
0.0013748328434369974,
6.874164098211937E-4,
3.437082168079019E-4,
1.7185409650664595E-4,
8.592704825332297E-5,
4.296352412666149E-5,
2.148177396063577E-5,
1.0740886980317885E-5,
5.370443490158943E-6
], origin: [-180.0, 90.0]
},
]
Vue.prototype.$InitMap = {
center: [110.257125,19.358549],
zoom: 10,
minZoom: 5,
maxZoom: 19,
resolutions: [
1.4062500000000002,
0.7031250000000001,
0.35156250000000006,
0.17578125000000003,
0.08789062500000001,
0.04394531250000001,
0.021972656250000003,
0.010986328125000002,
0.005493164062500001,
0.0027465820312500004,
0.0013732910156250002,
6.866455078125001E-4,
3.4332275390625005E-4,
1.7166137695312503E-4,
8.583068847656251E-5,
4.2915344238281264E-5,
2.14576721191406E-5,
1.07288360595703E-5,
5.36441802978516E-6,
2.68220901485E-6,
1.341104507425E-6,
6.705522537124998E-7
]
}
Vue.prototype.$ZoomToMapScale = {
5: 9244667.36,
6: 4622333.68,
7: 2311166.84,
8: 1155583.42,
9: 577791.71,
10: 288895.85,
11: 144447.93,
12: 72223.96,
13: 36111.98,
14: 18055.99,
15: 9028,
16: 4514,
17: 2257
}
import Ol from 'ol'
import Map from 'ol/Map.js';
import View from 'ol/View.js';
import Tile from 'ol/layer/Tile.js';
import TileArcGISRest from 'ol/source/TileArcGISRest.js';
import TileState from "ol/TileState";
import Vector from 'ol/source/Vector';
import Feature from 'ol/Feature.js'
import { Fill, RegularShape, Stroke, Style, Text } from 'ol/style.js';
import Icon from 'ol/style/Icon.js'
import Vectorlayer from 'ol/layer/Vector.js'
import Circle from 'ol/style/Circle.js'
import CircleGeom from 'ol/geom/Circle.js'
import XYZ from 'ol/source/XYZ.js'
import LinearRing from 'ol/geom/LinearRing.js';
import { Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon } from 'ol/geom.js';
import Overlay from 'ol/Overlay.js'
import { click, pointerMove, altKeyOnly } from 'ol/events/condition.js';
import ScaleLine from 'ol/control/ScaleLine';
import MousePosition from 'ol/control/MousePosition';
import { createStringXY } from 'ol/coordinate';
import TileGrid from 'ol/tilegrid/TileGrid'
import { get } from 'ol/proj'
import './baseMapConfig.js'
import { createEmpty, extend } from 'ol/extent'
// import Render3D from 'ol-ext/layer/Render3D'
import Graticule from 'ol/layer/Graticule'
import Vue from 'vue'
import { getDistance } from "ol/sphere";
var webgissource = {}
Vue.prototype.$addLayers = function (key) {
let arr = [];
this.$Map.getLayers().array_.forEach((i) => {
if (
i.get("layerId") &&
i.get("layerId").indexOf("tinaditu") < 0 &&
i.get("type") &&
i.get("type") == "Vector"
) {
if (!i.get("layerType")) i.set("layerType", key);
arr.push(i);
}
});
this.$store.commit("layer/SET_LAYERS", { key: key, value: arr });
},
/**
* 删除地图中所有的图层
*/
Vue.prototype.$removeAllLayers = function () {
let self = this;
let array = this.$Map.getLayers().getArray();
for (let i = array.length - 1; i >= 0; i--) {
let layer = array[i];
let layerId = layer.get('layerId');
if (layerId && layerId.indexOf('tinaditu') < 0) {
layer.getSource().clear();
self.$Map.removeLayer(layer)
}
}
},
/*初始化地图
var parms={
id:'mapDiv',//地图id
PositionUi:left-top,//(left-top,left-bottom,right-top,right-bottom)
}
*/
Vue.prototype.$SetMap = function (parms) {
var self = this;
//初始化地图
var view = new View({
center: this.$InitMap.center,
zoom: this.$InitMap.zoom,
minZoom: this.$InitMap.minZoom,
maxZoom: this.$InitMap.maxZoom,
projection: get('EPSG:4326')
})
Vue.prototype.$getId = parms.id;
Vue.prototype.$Map = new Map({
loadTilesWhileAnimating: true,
target: parms.id,
view: view
});
for (var i = 0; i < this.$baseMapConfig.length; i++) {
if (this.$baseMapConfig[i].type == "TileGrid") {
this.$addTileGrid({
origin: this.$baseMapConfig[i].origin,
resolutions: this.$baseMapConfig[i].resolutions,
projection: this.$baseMapConfig[i].projection,
url: this.$baseMapConfig[i].url,
layerId: this.$baseMapConfig[i].layerId,
requestType: this.$baseMapConfig[i].requestType,
})
} else if (this.$baseMapConfig[i].type == "TileArcGISRest") {
this.$addTileArcGISRest({
layerId: this.$baseMapConfig[i].layerId,
url: this.$baseMapConfig[i].url,
requestType: this.$baseMapConfig[i].requestType,
})
}
this.$setVisible({ layerId: this.$baseMapConfig[i].layerId, Visible: this.$baseMapConfig[i].Visible })
}
// this.$addTianMap();
if (document.getElementById('QieAnNiu')) {
document.getElementById('QieAnNiu').parentNode.removeChild(document.getElementById('QieAnNiu'));
}
// if (parms.ShowDisplay == true) {
// var div = document.createElement("div");
// div.style.background = '#857f7f';
// div.id = 'QieAnNiu'
// div.style.color = 'white';
// div.style.position = 'absolute';
// if (parms.PositionUi == 'left-top') { div.style.left = '10px'; div.style.top = '100px' }
// else if (parms.PositionUi == 'left-bottom') { div.style.left = '10px'; div.style.bottom = '100px' }
// else if (parms.PositionUi == 'right-top') { div.style.right = '10px'; div.style.top = '10px' }
// else if (parms.PositionUi == 'left-top') { div.style.right = '10px'; div.style.bottom = '100px' }
// else { div.style.left = '10px'; div.style.top = '100px' }
// var html = '';
// for (var i = 0; i < this.$baseMapConfig.length; i++) {
// if (this.$baseMapConfig[i].Visible) {
// html += "<span id='" + this.$baseMapConfig[i].layerId + "' class='baseMapClass' style='display: inline-block;padding:4px;height: 30px;line-height: 30px;text-align: center;cursor: pointer;background: #1d4fff'>" + this.$baseMapConfig[i].label + "</span>";
// } else {
// html += "<span id='" + this.$baseMapConfig[i].layerId + "' class='baseMapClass' style='display: inline-block;padding:4px;height: 30px;line-height: 30px;text-align: center;cursor: pointer;'>" + this.$baseMapConfig[i].label + "</span>";
// }
// }
// div.innerHTML = html
// document.getElementById(parms.id).parentNode.appendChild(div);
// $(".baseMapClass").on('click', function (e) {
// $(".baseMapClass").css("background", "");
// e.target.style.background = '#1d4fff';
// self.$SwitchMap({
// layerId: $(e.target)[0].id
// })
// })
// }
};
/*切换底图*/
Vue.prototype.$SwitchMap = function (parms) {
for (var i = 0; i < this.$baseMapConfig.length; i++) {
if (parms.layerId == this.$baseMapConfig[i].layerId) {
this.$setVisible({ layerId: this.$baseMapConfig[i].layerId, Visible: true })
} else {
this.$setVisible({ layerId: this.$baseMapConfig[i].layerId, Visible: false })
}
}
};
/*创建图层
var parms={
zIndex:1,//图层顺序
layerId:"string",//必填
borderColor:'#12233',
strokeWidth:2,
fillColor:'#22223',
img:{src:"static/img/greenpoint.png",scale:1},
}*/
Vue.prototype.$setLayer = function (parms) {
if (this.$getLayer(parms)) {
this.$clearLayer(parms);
this.$removeLayer(parms);
}
var VSLayer = new Vector();
var VLLayer = new Vectorlayer({
source: VSLayer,
style: new Style({
fill: new Fill({
color: parms.fillColor
}),
stroke: new Stroke({
color: parms.borderColor,
width: parms.strokeWidth
}),
image: function () {
var img = (parms.img.src ? new Icon({
scale: parms.img.scale,
src: parms.img.src,
}) : new Circle({
radius: parms.Circle.radius,
stroke: new Stroke({
color: parms.Circle.borderColor
}),
fill: new Fill({
color: parms.Circle.color
})
}))
return img;
}(),
}),
zIndex: parms.zIndex != null ? parms.zIndex : 6,
maxResolution: parms.maxResolution != null ? parms.maxResolution : 1,
minResolution: parms.minResolution != null ? parms.minResolution : 0.00000001,
visible: parms.visible != undefined ? parms.visible : true
});
this.$setLayerId({ layer: VLLayer, layerId: parms.layerId })
VLLayer.set('type', 'Vector')
this.$Map.addLayer(VLLayer);
if (parms.height) {
VLLayer.setRender3D(new Render3D({ height: parms.height, defaultHeight: 0.2 }))
}
};
/*网格图层*/
Vue.prototype.$setGraticule = function (parms) {
var gra = new Graticule({
strokeStyle: new Stroke({
color: 'rgba(12,12,12,0.8)',
width: 0.6
}),
targetSize: 100
})
gra.setMap(this.$Map)
}
/*根据layerId获取图层var parms={layerId:"333333"}*/
Vue.prototype.$getLayer = function (parms) {
var layer;
var readyToQueryId = typeof (parms) == "string" ? parms : parms.layerId;
this.$Map.getLayers().forEach(function (e) {
if (e.values_.layerId == readyToQueryId) {
layer = e;
}
})
return layer
};
/*根据layerId获取Interaction图层var parms={layerId:"333333"}*/
Vue.prototype.$getInteractions = function (parms) {
var layer;
this.$Map.getInteractions().forEach(function (e) {
if (e.values_.layerId == parms.layerId) {
layer = e;
}
})
return layer
}
/*创建layerId
* parms={layer:layer,layerId:id}*/
Vue.prototype.$setLayerId = function (parms) {
parms.layer.set('layerId', parms.layerId);
};
/*清除某个图层*/
Vue.prototype.$clearLayer = function (parms) {
if (this.$getLayer(parms)) {
if (this.$getLayer(parms).getSource().source) {
this.$getLayer(parms).getSource().getSource().clear()
} else {
this.$getLayer(parms).getSource().clear()
}
}
}
/*移除某个图层*/
Vue.prototype.$removeLayer = function (parms) {
if (this.$getLayer(parms)) {
this.$Map.removeLayer(this.$getLayer(parms))
}
}
/*修改point feature樣式,添加text文档
* var parms={
type:'',//Point、Circle、Polygon、LineString
text:'',
fillColor:'',
borderColor:'',
strokeWidth:2,
feature:feature,
src:"static/img/redpoint.png",
scale:1
* }*/
Vue.prototype.$featureStyle = function (parms) {
if (parms.text != '' || parms.text != null) {
parms.feature.setStyle(new Style({
text: new Text({
fill: new Fill({
color: 'rgb(255,255,255)',
}),
stroke: new Stroke({
color: '#060306',
width: 2
}),
//对齐方式
textAlign: 'left',
//文本基线
textBaseline: 'middle',
//字体样式
font: 'normal 16px 微软雅黑',
//文本内容
text: parms.text != null ? (parms.text).toString() : '',
offsetX: 10,
offsetY: 0,
})
}))
}
if (parms.type == 'Point') {
parms.feature.getStyle().setImage(
new Icon({
scale: parms.scale,
src: parms.src
}))
} else if (parms.type == 'Circle' || parms.type == 'Polygon' || parms.type == 'LineString') {
parms.feature.getStyle().setFill(
new Fill({
color: parms.fillColor
}),
)
parms.feature.getStyle().setStroke(
new Stroke({
color: parms.borderColor,
width: parms.strokeWidth
}),
)
}
}
/*var parms={layerId:'',endImg:'',startImg:,id:'}修改point feature樣式,添加text文档*/
Vue.prototype.$FeatureStyleM = function (parms) {
if (this.$getLayer(parms)) {
if (this.$getLayer(parms).getSource().source) {
var layer = this.$getLayer(parms).getSource().getSource()
} else {
var layer = this.$getLayer(parms).getSource()
}
layer.forEachFeature(function (result) {
result.getStyle().setImage(new Icon({
//color: '#4271AE',
scale: 1,
src: parms.startImg
}))
for (var i = 0; i < parms.data.length; i++) {
if (result.values_.attributions[parms.id] == parms.data[i][parms.id]) {
result.getStyle().setImage(new Icon({
//color: '#4271AE',
scale: 1,
src: parms.endImg
}))
}
}
})
layer.changed()
}
}
Vue.prototype.$FeatureStyleOne = function (parms) {
parms.feature.getStyle().setImage(new Icon({
scale: parms.scale,
src: parms.src
}))
}
/*渲染数据
var parm={
layerId:"bzdz",//必要
type:'Point',//类型(Point、Circle、Polygon、LineString) //必要
data:[{
geometry:[x,y],//点类型和圆[x,y]、线类型[[x,y],[x,y]]、面类型[[[x,y],[x,y],[x,y]]]
attributions:{}}],//必要
text:"",
radius:''//米
borderColor:"#123132",
fillColor:"#455654",
strokeWidth:2
img:{src:"static/img/greenpoint.png",scale:1},
}
*/
Vue.prototype.$RenderLayer = function (parm) {
var layer = this.$getLayer({ layerId: parm.layerId });
if (layer.getSource().source) {
layer.getSource().getSource().addFeatures(this.$setFeatures(parm));
} else {
layer.getSource().addFeatures(this.$setFeatures(parm));
}
return this.$setFeatures(parm)
}
/*生成features要素*/
Vue.prototype.$setFeatures = function (parm) {
var arryFeature = [];
for (var i = 0; i < parm.data.length; i++) {
if (parm.type == 'Point') {
var geometry = new Point(parm.data[i].geometry);
var text = parm.data[i].text == null ? (parm.text == '' || parm.text == null) ? '' : parm.text.toString() : parm.data[i].text.toString();
var iconFeature = new Feature({
geometry: geometry,
attributions: parm.data[i].attributions
})
if (parm.img && parm.img.src) {
iconFeature.setStyle(new Style({
image: function () {
var img = (parm.img.src ? new Icon({
scale: parm.img.scale,
src: parm.data[i].img ? parm.data[i].img : parm.img.src,
opacity: 1,
rotation: parm.img.rotation == null ? 0 : parm.img.rotation
}) : new Circle(
{
radius: parm.Circle.radius,
stroke: new Stroke({
color: parm.Circle.borderColor
}),
fill: new Fill({
color: parm.Circle.color
})
}))
return img;
}(),
fill: new Fill({
color: '#fff'
}),
text: new Text({
fill: new Fill({
color: parm.data[i].textcolor == null ? '#fff' : parm.data[i].textcolor,
}),
//对齐方式
textAlign: 'left',
//文本基线
textBaseline: 'middle',
//字体样式
font: 'normal 12px 微软雅黑',
//文本内容
text: text,
offsetX: parm.data[i].offsetX == null ? 25 : parm.data[i].offsetX,
offsetY: parm.data[i].offsetY == null ? -5 : parm.data[i].offsetY,
padding: parm.textStyle ? parm.textStyle.padding : [5, 10, 5, 10],
backgroundStroke: parm.textStyle ? new Stroke({
color: parm.textStyle.backgroundStroke || '#fff',
width: 1,
lineCap: 'round'
}) : new Stroke({
color: '#3FBBEB',
width: 1,
lineCap: 'round'
}),
backgroundFill: parm.textStyle ? new Fill({
color: parm.textStyle.backgroundFill,
}) : new Fill({
color: 'rgba(112,128,145,0.8)',
}),
})
}));
}
} else if (parm.type == 'Circle') {
var geometry = new CircleGeom(parm.data[i].geometry, parm.radius / 100000);
var text = parm.data[i].text == null ? parm.text == '' || parm.text == null ? '' : parm.text.toString() : parm.data[i].text;
var iconFeature = new Feature({
geometry: geometry,
attributions: parm.data[i].attributions
})
iconFeature.setStyle(new Style({
fill: new Fill({
color: parm.fillColor
}),
stroke: new Stroke({
color: parm.borderColor,
width: parm.strokeWidth
}),
text: new Text({
fill: new Fill({
color: 'rgb(255,255,255)',
}),
stroke: new Stroke({
color: '#060306',
width: 2
}),
//对齐方式
textAlign: 'center',
//文本基线
textBaseline: 'middle',
//字体样式
font: 'normal 12px 微软雅黑',
//文本内容
text: text
})
}));
} else if (parm.type == 'Polygon') {
var geometry = new Polygon(parm.data[i].geometry);
var text = parm.data[i].text == null ? parm.text == '' || parm.text == null ? '' : parm.text.toString() : parm.data[i].text;
var iconFeature = new Feature({
geometry: geometry,
attributions: parm.data[i].attributions
})
iconFeature.setStyle(new Style({
fill: new Fill({
color: parm.fillColor
}),
stroke: new Stroke({
color: parm.borderColor,
width: parm.strokeWidth
}),
text: new Text({
fill: new Fill({
color: 'rgb(255,255,255)',
}),
stroke: new Stroke({
color: '#060306',
width: 2
}),
//对齐方式
textAlign: 'center',
//文本基线
textBaseline: 'middle',
//字体样式
font: 'normal 12px 微软雅黑',
//文本内容
text: text
})
}));
} else if (parm.type == 'LineString') {
var geometry = new LineString(parm.data[i].geometry);
var text = parm.data[i].text == null ? parm.text == '' || parm.text == null ? '' : parm.text.toString() : parm.data[i].text;
var iconFeature = new Feature({
geometry: geometry,
attributions: parm.data[i].attributions
})
iconFeature.setStyle(new Style({
fill: new Fill({
color: parm.fillColor
}),
stroke: new Stroke({
color: parm.borderColor,
width: parm.strokeWidth
}),
text: new Text({
fill: new Fill({
color: 'rgb(255,255,255)',
}),
stroke: new Stroke({
color: '#060306',
width: 2
}),
//对齐方式
textAlign: 'center',
//文本基线
textBaseline: 'middle',
//字体样式
font: 'normal 12px 微软雅黑',
//文本内容
text: text
})
}));
}
arryFeature.push(iconFeature)
}
return arryFeature
}
/*弹出框
parms={
title:'',
html:'',
point:[x,y],
}
* 自定义弹出框 打开*/
Vue.prototype.$setPopup = function (parms) {
var self = this;
if (!document.getElementById("PopupLayer")) {
var div = document.createElement("div");
div.className = parms.layerId
div.id = 'PopupLayer'
document.getElementById(this.$getId).parentNode.appendChild(div);
}
document.getElementById("PopupLayer").innerHTML = "<div class='popupTile'><span>" + parms.title + "</span><span class='closePopup'>X</span></div>" +
"<div style='padding: 4px;max-height: 340px;overflow: auto;'>" + parms.html + "</div>" +
"<div class='botD'></div>"
var webgissource = new Overlay({
id: parms.layerId,
element: document.getElementById("PopupLayer"),
autoPan: true,
positioning: 'bottom-left',
offset: parms.offset
});
this.$Map.addOverlay(webgissource);
webgissource.setPosition(parms.point)
$(".closePopup").unbind('click').bind('click', function (e) {
$("#PopupLayer").remove()
})
}
/*自定義小的彈框*/
Vue.prototype.$setPopupSmall = function (parms) {
var div = document.createElement("div");
div.className = 'tooltip tooltip-static ' + parms.layerId;
div.innerHTML = parms.html;
document.getElementById(this.$getId).parentNode.appendChild(div);
var infwindow = new Overlay({
id: parms.layerId,
element: div,
stopEvent: false,
positioning: 'bottom-center',
offset: [0, -5]
});
this.$Map.addOverlay(infwindow);
infwindow.setPosition(parms.point)
}
/*不是自定義的*/
Vue.prototype.$setPopupSmallId = function (parms) {
var infwindow = new Overlay({
id: parms.id,
element: document.getElementById(parms.id),
positioning: 'bottom-center',
offset: [0, -5]
});
this.$Map.addOverlay(infwindow);
infwindow.setPosition(parms.point)
}
/*跳动的点
* parm={
*img:'../../../static/img/ljdgreen.png',
layerId:'JumpPointClass',
point:[113.74597550136968,23.023338310886174]
* }*/
Vue.prototype.$setJumpPoint = function (parms, removeLater) {
var div = document.createElement('div');
div.className = 'OpJumpPoint animated bounce ' + parms.layerId;
let timer = 1000
if (parms.text) {
div.innerHTML = '<span class="textSpan">' + parms.text + '</span>'
}
if (parms.desctibe) {
div.title = parms.desctibe || ''
}
// 如果是停留点或者落脚点的话
if (parms.dataInfo) {
if (parms.dataInfo.label === '停留点' || parms.dataInfo.label === '落脚点') {
div.className = div.className + ' inforPoint';
timer = 3000;
div.id = `${parms.layerId}`;
div.setAttribute('data-info', `${JSON.stringify(parms.dataInfo)}`)
}
}
div.style.backgroundImage = "url(" + parms.img + ")"
// console.log(document.getElementById(this.$getId || "mapDiv"))
document.getElementById(this.$getId || "mapDiv").parentNode.appendChild(div);
webgissource.JumpPointOverlay = new Overlay({
element: div,
offset: [0, 20],
stopEvent: true,
positioning: 'bottom-center'
});
this.$Map.addOverlay(webgissource.JumpPointOverlay);
webgissource.JumpPointOverlay.setPosition(parms.point)
if (removeLater) {
let self = this;
setTimeout(() => {
div.parentNode.removeChild(div)
}, timer)
}
}
/*清空跳动的点
* parm={
* layerId:'JumpPointClass'
* }*/
Vue.prototype.$ClearJumpPoint = function (parms) {
$('.' + parms.layerId).remove();
// var ys=document.getElementsByClassName(parms.layerId)
// ys.forEach((i)=>{
// i.parentNode.remove()
// })
// for (var i=0;i<ys.length;i++){
// ys[i].parentNode.remove()
// }
}
/*闪闪的圆*/
Vue.prototype.$setFlashCircle = function (parms) {
var div = document.createElement('div');
div.className = 'OpJumpCcircle animated pulse ' + parms.layerId;
document.getElementById(this.$getId).parentNode.appendChild(div);
var JumpPointOverlay = new Overlay({
id: parms.layerId,
element: div,
offset: [0, 20],
stopEvent: parms.stopEvent != null ? parms.stopEvent : true,
positioning: 'bottom-center'
});
this.$Map.addOverlay(JumpPointOverlay);
JumpPointOverlay.setPosition(parms.point)
}
/*移除当前id全部移除关闭自定义弹出框*/
Vue.prototype.$removePopupSmall = function (parms) {
if (this.$Map.getOverlayById(parms.id)) {
this.$Map.getOverlayById(parms.id).setPosition(undefined)
}
}
/*自定义弹出框关闭*/
Vue.prototype.$closePopup = function (parms) {
$("." + parms.layerId).parent().remove()
}
/*清空跳动的点
* parm={
* layerId:'JumpPointClass'
* }*/
Vue.prototype.$ClearJumpPoint = function (parms) {
var ys = document.getElementsByClassName(parms.layerId)
for (var i = 0; i < ys.length; i++) {
ys[i].parentNode.remove()
}
}
/*比例尺控件*/
Vue.prototype.$ScaleLine = function (parms) {
var div = document.createElement('div');
div.id = 'scalebar';
div.style.position = 'absolute';
div.style.left = parms.left;
div.style.right = parms.right;
div.style.bottom = parms.bottom;
div.style.top = parms.top;
document.getElementById(this.$getId).parentNode.appendChild(div);
var scaleLineControl = new ScaleLine({
//设置度量单位为米
units: 'metric',
target: 'scalebar',
className: 'ol-scale-line'
});
this.$Map.addControl(scaleLineControl)
};
/*鼠标位置*/
Vue.prototype.$MousePosition = function (parms) {
var div = document.createElement('div');
div.id = 'mouse-position';
div.style.position = 'absolute';
div.style.left = parms.left;
div.style.right = parms.right;
div.style.bottom = parms.bottom;
div.style.top = parms.top;
document.getElementById(this.$getId).parentNode.appendChild(div);
var mousePosition = new MousePosition({
projection: 'EPSG:4326',
coordinateFormat: createStringXY(4),
className: 'custom-mouse-position', // 控件的CSS类名
target: div, // 将控件渲染在该DOM元素中
undefinedHTML: '&nbsp;'
});
this.$Map.addControl(mousePosition)
};
/*判断点是否在面内*/
Vue.prototype.$intersectsCoordinate = function (parms) {
var geo
if (parms.feature.getGeometry) {
geo = parms.feature.getGeometry(); //feture是几何元素
} else if (parms.feature.getType) {
geo = parms.feature
}
var isIn = geo.intersectsCoordinate(parms.point);
return isIn
};
/*筛选出输入点集在面内的相交部分*/
//返回在面里的数组
Vue.prototype.$getIntersection = function (parms) {
var features_isIn = [];
var features = parms.features; //点集
var geo = parms.geo;
if (geo) {
for (var i = 0; i < features.length; i++) {
var pt = features[i];
var isIn = true;
if (geo) {
isIn = geo.intersectsCoordinate([pt.x, pt.y]);
}
var feature = new Feature({
geometry: new Point([pt.x, pt.y]),
attributions: pt
})
feature.values_.features = [feature];
// pt.feature=feature;
if (isIn) { //若点在面内,加入
features_isIn.push(pt);
}
}
} else {
features_isIn = features;
}
return features_isIn;
}
/*加载arcgis services*/
Vue.prototype.$addTileArcGISRest = function (parms) {
var tileSource = new TileArcGISRest({
url: parms.url,
crossOrigin: 'anonymous'
});
if (parms.requestType && parms.requestType == "POST") {
tileSource.setTileLoadFunction(function (tile, src) {
var xhr = new XMLHttpRequest();
xhr.responseType = 'blob';
xhr.addEventListener('loadend', function (evt) {
var data = this.response;
if (data != undefined) {
tile.getImage().src = URL.createObjectURL(data);
} else {
tile.setState(TileState.ERROR)
}
});
xhr.addEventListener('error', function () {
tile.setState(TileState.ERROR)
});
xhr.open("POST", src);
xhr.send();
})
};
var VectorBaseMap = new Tile({
visible: true,
source: tileSource,
})
VectorBaseMap.set("layerId", parms.layerId)
this.$Map.addLayer(VectorBaseMap)
}
Vue.prototype.$addTileGrid = function (parms) {
var tileGrids = new TileGrid({
tileSize: 256,
origin: parms.origin,
resolutions: parms.resolutions
});
var tileSource = new XYZ({
tileGrid: tileGrids,
projection: get(parms.projection),
url: parms.url,
crossOrigin: 'anonymous'
});
if (parms.requestType && parms.requestType == "POST") {
tileSource.setTileLoadFunction(function (tile, src) {
var xhr = new XMLHttpRequest();
xhr.responseType = 'blob';
xhr.addEventListener('loadend', function (evt) {
var data = this.response;
if (data != undefined) {
tile.getImage().src = URL.createObjectURL(data);
} else {
tile.setState(TileState.ERROR)
}
});
xhr.addEventListener('error', function () {
tile.setState(TileState.ERROR)
});
xhr.open("POST", src);
xhr.send();
})
};
var VectorBaseMap = new Tile({
visible: true,
source: tileSource
})
VectorBaseMap.set("layerId", parms.layerId)
this.$Map.addLayer(VectorBaseMap)
}
//加载天地图
Vue.prototype.$addTianMap = function (parms) {
var key = "d6cc97f3dd311a14f3285e160beb4b21";
if (!key) {
throw "天地图需要一个key, 请在第一个参数种这么传入 {keyManager:你的key} "
}
var _layerType = "vec_w"
var layer = new Tile({
title: "天地图地图",
type: "base",
visible: true,
source: new XYZ({
crossOrigin: 'anonymous',
url: `http://t{1-7}.tianditu.com/DataServer?T=${_layerType}&x={x}&y={y}&l={z}&tk=${key}`
})
});
layer.set("layerId", "tinaditu")
this.$Map.addLayer(layer)
var _layerType2 = "cva_w"
var layer2 = new Tile({
title: "天地图标注",
type: "base",
visible: true,
source: new XYZ({
crossOrigin: 'anonymous',
url: `http://t{1-7}.tianditu.com/DataServer?T=${_layerType2}&x={x}&y={y}&l={z}&tk=${key}`
}),
});
layer2.set("layerId", "tinaditu2")
this.$Map.addLayer(layer2)
}
/*显示隐藏图层*/
Vue.prototype.$setVisible = function (parms) {
this.$getLayer(parms) ? this.$getLayer(parms).setVisible(parms.Visible) : "";
}
/*控制图层透明度*/
Vue.prototype.$setOpacity = function (parms) {
this.$getLayer(parms) ? this.$getLayer(parms).setOpacity(parms.Opacity) : "";
}
Vue.prototype.$getBaseMapUrl = function () {
for (var i = 0; i < this.$baseMapConfig.length; i++) {
var config = this.$baseMapConfig[i];
var layerId = config['layerId'];
var layer = this.$getLayer({ layerId: layerId });
if (layer) {
return config.url.split('tile')[0];
}
}
return '';
}
/*获取底图layerId */
Vue.prototype.$getBaseMapId = function () {
for (var i = 0; i < this.$baseMapConfig.length; i++) {
var config = this.$baseMapConfig[i];
var layerId = config['layerId'];
var layer = this.$getLayer({ layerId: layerId });
if (layer) {
return layerId;
}
}
return '';
}
/*修改point feature樣式,添加text文档
* var parms={
type:'',//Point、Circle、Polygon、LineString
text:'',
fillColor:'',
borderColor:'',
strokeWidth:2,
feature:feature,
src:"static/img/redpoint.png",
scale:1
* }*/
Vue.prototype.$featureStyle = function (parms) {
parms.feature.setStyle(new Style({
text: new Text({
fill: new Fill({
color: 'rgb(255,255,255)',
}),
stroke: new Stroke({
color: '#060306',
width: 2
}),
//对齐方式
textAlign: 'left',
//文本基线
textBaseline: 'middle',
//字体样式
font: 'normal 16px 微软雅黑',
//文本内容
text: parms.text != null ? (parms.text).toString() : '',
offsetX: 10,
offsetY: 0,
})
}))
if (parms.type == 'Point') {
parms.feature.getStyle().setImage(
new Icon({
scale: parms.scale,
src: parms.src
}))
} else if (parms.type == 'Circle' || parms.type == 'Polygon' || parms.type == 'LineString') {
parms.feature.getStyle().setFill(
new Fill({
color: parms.fillColor
}),
)
parms.feature.getStyle().setStroke(
new Stroke({
color: parms.borderColor,
width: parms.strokeWidth
}),
)
}
}
/*打印功能*/
Vue.prototype.$Printing = function () {
var self = this;
$("#mapPrint").toggle();
this.$Map.renderSync()
}
/*检索功能*/
//jinming add 2019 12 20
Vue.prototype.$Retrieval = function () {
var self = this;
$("#spatialRetrieval").toggle();
this.$Map.renderSync()
},
/*根据layerId查询到该layer所属的一级类型*/
//jinming add 2019 12 20
Vue.prototype.$getPoiTypeByParm = function (layerId) {
var specialResources = this.$SpecialResources;
for (var key in specialResources) {
var sources = specialResources[key];
for (var i = 0; i < sources.length; i++) {
var source = sources[i];
if (source.id == layerId) { //type属于该大类型
return key; //返回大类型
}
}
}
return "";
},
/*根据layerId查询到该layer所属的二级类型*/
//jinming add 2019 12 20
Vue.prototype.$getSecondTypeByParm = function (layerId) {
var specialResources = this.$SpecialResources;
for (var key in specialResources) {
var sources = specialResources[key];
for (var i = 0; i < sources.length; i++) {
var source = sources[i];
if (source.id == layerId) { //type属于该大类型
return source.text; //返回大类型
}
}
}
return "";
},
/*获取地图当前范围*/
Vue.prototype.$getExtent = function () {
return this.$Map.getView().calculateExtent(this.$Map.getSize())
}
/*合并extent*/
Vue.prototype.$mergeExtent = function (feature) {
var extent = new createEmpty();
for (var i = 0; i < feature.length; i++) {
new extend(extent, feature[i].getGeometry().getExtent())
}
return extent
}
/*获取两点之间的距离*/
Vue.prototype.$getDistance = function (startPoint, endPoint) {
return getDistance(startPoint, endPoint, 6371008.8)
}
/*缓冲区计算返回feature要素类 在index文件引入jsts。js*/
Vue.prototype.$buffer = function (parms) {
var parser = new jsts.io.OL3Parser();
parser.inject(Point, LineString, LinearRing, Polygon, MultiPoint, MultiLineString, MultiPolygon);
if (parms.type == 'Point') {
var lineFeatureh = new Feature({
geometry: new Point(parms.geometry),
attributions: parms.attributions
});
} else if (parms.type == 'Circle') {
var geometry = new CircleGeom(parms.geometry, parm.radius / 100000);
var lineFeatureh = new Feature({
geometry: geometry,
attributions: parm.attributions
})
} else if (parms.type == 'Polygon') {
var geometry = new Polygon(parm.geometry);
var lineFeatureh = new Feature({
geometry: geometry,
attributions: parm.attributions
})
} else if (parms.type == 'LineString') {
var geometry = new LineString(parm.geometry);
var lineFeatureh = new Feature({
geometry: geometry,
attributions: parm.attributions
})
}
var jstsGeom = parser.read(lineFeatureh.getGeometry());
var buffered = jstsGeom.buffer(0.008);
lineFeatureh.setGeometry(parser.write(buffered));
return lineFeatureh;
}
\ No newline at end of file
......@@ -15,7 +15,7 @@
jingdu != '' || jingdu != 'null' || weidu != '' || weidu != 'null'
"
>
当前经度:{{ jingdu }},纬度{{ weidu }}
当前经度:{{ extent[0] }},纬度{{ extent[1] }}
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="closeDialog">取 消</el-button>
......@@ -27,36 +27,11 @@
<script>
/*config为内网配置,config_internet为外网配置*/
import poi from "@/assets/img/img_poi.png";
import map from "@/utils/olMap/map.js";
import DrawModifySnap from "@/utils/olMap/DrawModifySnap.js";
export default {
head: {
script: [
{
src: "/jquery-3.3.1.js",
},
{
src: "/OpMap/ol.js",
},
{
src: "/OpMap/OpMap.js",
},
/*{
src: '/OpMap/config_internet.js'
},*/
{
src: "/OpMap/config.js",
},
],
link: [
{
rel: "stylesheet",
href: "/OpMap/ol.css",
},
],
},
name: "index",
components: {
},
components: {},
props: {
isShowMap: Boolean,
jd: String,
......@@ -73,6 +48,7 @@ export default {
emitWd: this.wd == null ? "" : this.wd,
initNum: 0,
nodeData: {},
extent: []
};
},
methods: {
......@@ -86,81 +62,19 @@ export default {
}
this.jwdDialog = false;
},
//初始化地图
initMap() {
let self = this;
let parms = {
id: "map", //地图id
PositionUi: "right-top", //(left-top,left-bottom,right-top,right-bottom)
ShowDisplay: false, //是否显示切换按钮,可以自己写样式控制图层切换
};
let map = new OpMap().$InitMAP(parms);
let parmL, parmLL;
/*创建要渲染的图层*/
parmL = {
layerId: "PointD", //必填
borderColor: "#12233", //边框颜色
strokeWidth: 2, //边框宽度
fillColor: "#222233", //填充颜色
img: { src: poi, scale: 1 }, //图片和图片大小
};
new OpMap().$setLayer(parmL);
if (
self.emitJd != "" &&
self.emitJd != "null" &&
self.emitJd != null &&
self.emitWd != "" &&
self.emitWd != "null" &&
self.emitWd != null
) {
var parmCenter = {
center: [self.emitJd, self.emitWd], //中心点
};
new OpMap().$Center(parmCenter);
/*创建要渲染的图层*/
parmLL = {
layerId: "PointD", //必填
type: "Point", //类型(Point、Circle、Polygon、LineString)//必要
data: [{ geometry: [self.emitJd, self.emitWd] }], //点类型和圆[x,y]、线类型[[x,y],[x,y]]、面类型[[[x,y],[x,y],[x,y]]]attributions:{}}]
borderColor: "#12233", //边框颜色
strokeWidth: 2, //边框宽度
fillColor: "#222233", //填充颜色
img: { src: poi, scale: 1 }, //图片和图片大小
};
new OpMap().$RenderLayer(parmLL);
}
/*地图点击事件、可对点击的地图元素进行查询(手动渲染的数据,不是底图数据)*/
new OpMap().$setDraw({
zIndex: 0,
layerId: "Retrieval", //必要
type: "Point", //类型(Point、Circle、Polygon、LineString) //必要
borderColor: "rgba(255,0,0,0.6)",
fillColor: "rgba(255,0,0,0.2)",
strokeWidth: 2,
img: { src: poi, scale: 1 },
this.$nextTick(() => {
self.$SetMap({
PositionUi: "left-top",
id: "map",
});
var dragBox = new OpMap().$getInteractions({ layerId: "Retrieval" });
map.addInteraction(dragBox);
dragBox.on("drawend", function (e) {
self.jingdu = e.feature.getGeometry().flatCoordinates[0].toFixed(6);
self.weidu = e.feature.getGeometry().flatCoordinates[1].toFixed(6);
});
dragBox.on("drawstart", function (e) {
/* new OpMap().$getLayer({layerId:'PointD'}).getSource().forEachFeature(function (e) {
/!*e是feature要素 下面是直接删除*!/
new OpMap().$getLayer({layerId:'PointD'}).getSource().removeFeature(e)
})*/
new OpMap().$getLayer({ layerId: "Retrieval" }).getSource().clear();
window.map = self.$Map;
self.zoom = self.$Map.getView().getZoom();
});
/*map.on('click', function (e) {
/!*self.$emit("parentAndChilenEvent",[e.coordinate]);*!/
self.jingdu=e.coordinate[0];
self.weidu=e.coordinate[1];
})*/
},
emitXzqhValue(node) {
debugger;
this.nodeData = node;
},
// handleClick(data){
......@@ -234,40 +148,34 @@ export default {
};
new OpMap().$Center(parmCenter);
},
setPoint() {
let self = this;
self.$setDraw({
zIndex: 0,
layerId: "poisearch_draw", //必要
type: "Point", //类型(Point、Circle、Polygon、LineString) //必要
borderColor: "rgb(255,190,0)",
fillColor: "rgba(255,164,0,0.12)",
strokeWidth: 2,
img: {
src: require("@/assets/img/bluepoint2.png"),
scale: 1,
},
});
self
.$getInteractions({ layerId: "poisearch_draw" })
.on("drawend", function (e) {
self.extent = e.feature.getGeometry().getCoordinates();
// self.$getInteractions({ layerId: "poisearch_draw" }).setActive(false);
self.$clearLayer({ layerId: "poisearch_draw" });
});
},
computed: {
},
computed: {},
watch: {
newValue(val, oldVal) {
let self = this;
debugger
self.$Map.getView().setZoom(10)
// if (val != oldVal) {
// //当前值与上一次得值若相等,地图框选则不变
// if (new OpMap().$getLayer({ layerId: "PointD" }) != undefined) {
// new OpMap()
// .$getLayer({ layerId: "PointD" })
// .getSource()
// .forEachFeature(function (e) {
// new OpMap()
// .$getLayer({ layerId: "PointD" })
// .getSource()
// .removeFeature(e);
// });
// }
// if (val != "") {
// // self.handleClick(self.nodeData);
// self
// .getJwd(JSON.stringify({ code: self.nodeData.id }))
// .then((res) => {
// var parmCenter = {
// center: [res.data.rows.jd, res.data.rows.wd], //中心点
// };
// new OpMap().$Center(parmCenter);
// new OpMap().getView().setZoom(10);
// });
// }
// }
self.$Map.getView().setZoom(10);
},
isShowMap(val) {
let self = this;
......@@ -275,6 +183,9 @@ export default {
if (val == true && self.initNum == 0) {
self.$nextTick(() => {
self.initMap();
setTimeout(() => {
self.setPoint();
}, 20);
self.initNum++;
});
}
......@@ -292,8 +203,7 @@ export default {
}
},
},
mounted() {
},
mounted() {},
};
</script>
......
/*
* @Author: your name
* @Date: 2021-10-18 09:49:48
* @LastEditTime: 2021-10-18 16:19:24
* @LastEditors: Please set LastEditors
* @LastEditTime: 2022-05-18 23:03:08
* @LastEditors: liyuhang19990520 1092680144@qq.com
* @Description: In User Settings Edit
* @FilePath: \founder_vue\vue.config.js
*/
......@@ -143,6 +143,22 @@ module.exports = {
"^/hainanMap": "/"
}
},
"/toMap": {
target: "http://74.6.54.80:8087/EzServer", // 线索审批管理平台
changeOrigin: true,
secure: false,
pathRewrite: {
"^/toMap": "/"
}
},
"/toQuanGuoMap": {
target: "http://68.174.25.205:6080/arcgis", // 线索审批管理平台
changeOrigin: true,
secure: false,
pathRewrite: {
"^/toQuanGuoMap": "/"
}
},
},
},
css: {
......
......@@ -909,6 +909,35 @@
cssnano-preset-default "^4.0.0"
postcss "^7.0.0"
"@mapbox/jsonlint-lines-primitives@~2.0.2":
version "2.0.2"
resolved "https://registry.yarnpkg.com/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz#ce56e539f83552b58d10d672ea4d6fc9adc7b234"
integrity sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ==
"@mapbox/mapbox-gl-style-spec@^13.20.1":
version "13.24.0"
resolved "https://registry.yarnpkg.com/@mapbox/mapbox-gl-style-spec/-/mapbox-gl-style-spec-13.24.0.tgz#38e6dbf64eeb934c148cb76b251710d00c0c124f"
integrity sha512-9yhRSqnKX+59MrG647x2pACfR2Ewk8Ii5X75Ag8oToEKZU+PSY0+r10EirIVCTDwuHPzp/VuuN3j6n+Hv/gGpQ==
dependencies:
"@mapbox/jsonlint-lines-primitives" "~2.0.2"
"@mapbox/point-geometry" "^0.1.0"
"@mapbox/unitbezier" "^0.0.0"
csscolorparser "~1.0.2"
json-stringify-pretty-compact "^2.0.0"
minimist "^1.2.5"
rw "^1.3.3"
sort-object "^0.3.2"
"@mapbox/point-geometry@^0.1.0":
version "0.1.0"
resolved "https://registry.yarnpkg.com/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz#8a83f9335c7860effa2eeeca254332aa0aeed8f2"
integrity sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ==
"@mapbox/unitbezier@^0.0.0":
version "0.0.0"
resolved "https://registry.yarnpkg.com/@mapbox/unitbezier/-/unitbezier-0.0.0.tgz#15651bd553a67b8581fb398810c98ad86a34524e"
integrity sha512-HPnRdYO0WjFjRTSwO3frz1wKaU649OBFPX3Zo/2WZvuRi6zMiRGui8SnPQiQABgqCf8YikDe5t3HViTVw1WUzA==
"@mrmlnc/readdir-enhanced@^2.2.1":
version "2.2.1"
resolved "https://registry.npm.taobao.org/@mrmlnc/readdir-enhanced/download/@mrmlnc/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde"
......@@ -922,6 +951,11 @@
resolved "https://registry.npm.taobao.org/@nodelib/fs.stat/download/@nodelib/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b"
integrity sha1-K1o6s/kYzKSKjHVMCBaOPwPrphs=
"@petamoriken/float16@^3.4.7":
version "3.6.3"
resolved "https://registry.yarnpkg.com/@petamoriken/float16/-/float16-3.6.3.tgz#7ed8f2ae05ea4096f0ccdf2c2655d04aca545d33"
integrity sha512-Yx6Z93kmz3JVPYoPPRFJXnt2/G4kfaxRROcZVVHsE4zOClJXvkOVidv/JfvP6hWn16lykbKYKVzUsId6mqXdGg==
"@soda/friendly-errors-webpack-plugin@^1.7.1":
version "1.7.1"
resolved "https://registry.npm.taobao.org/@soda/friendly-errors-webpack-plugin/download/@soda/friendly-errors-webpack-plugin-1.7.1.tgz#706f64bcb4a8b9642b48ae3ace444c70334d615d"
......@@ -1975,6 +2009,11 @@ balanced-match@^1.0.0:
resolved "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
base64-arraybuffer@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz#1c37589a7c4b0746e34bd1feb951da2df01c1bdc"
integrity sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==
base64-js@^1.0.2:
version "1.3.1"
resolved "https://registry.npm.taobao.org/base64-js/download/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1"
......@@ -2982,6 +3021,11 @@ crypto-browserify@^3.11.0:
randombytes "^2.0.0"
randomfill "^1.0.3"
crypto-js@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-4.1.1.tgz#9e485bcf03521041bd85844786b83fb7619736cf"
integrity sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==
css-color-names@0.0.4, css-color-names@^0.0.4:
version "0.0.4"
resolved "https://registry.npm.taobao.org/css-color-names/download/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0"
......@@ -2995,6 +3039,13 @@ css-declaration-sorter@^4.0.1:
postcss "^7.0.1"
timsort "^0.3.0"
css-line-break@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/css-line-break/-/css-line-break-2.1.0.tgz#bfef660dfa6f5397ea54116bb3cb4873edbc4fa0"
integrity sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==
dependencies:
utrie "^1.0.2"
css-loader@^3.5.3:
version "3.6.0"
resolved "https://registry.npm.taobao.org/css-loader/download/css-loader-3.6.0.tgz#2e4b2c7e6e2d27f8c8f28f61bffcd2e6c91ef645"
......@@ -3065,6 +3116,11 @@ css-what@^3.2.1:
resolved "https://registry.npm.taobao.org/css-what/download/css-what-3.4.2.tgz?cache=0&sync_timestamp=1602269495936&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-what%2Fdownload%2Fcss-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4"
integrity sha1-6nAm/LAXd+295SEk4h8yfnrpUOQ=
csscolorparser@~1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/csscolorparser/-/csscolorparser-1.0.3.tgz#b34f391eea4da8f3e98231e2ccd8df9c041f171b"
integrity sha1-s085HupNqPPpgjHizNjfnAQfFxs=
cssesc@^3.0.0:
version "3.0.0"
resolved "https://registry.npm.taobao.org/cssesc/download/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
......@@ -4338,6 +4394,19 @@ gensync@^1.0.0-beta.1:
resolved "https://registry.npm.taobao.org/gensync/download/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269"
integrity sha1-WPQ2H/mH5f9uHnohCCeqNx6qwmk=
geotiff@^2.0.2:
version "2.0.5"
resolved "https://registry.yarnpkg.com/geotiff/-/geotiff-2.0.5.tgz#ef94227aba5c1b64167b49c44304b1fea5b01c95"
integrity sha512-U5kVYm118YAmw2swiLu8rhfrYnDKOFI7VaMjuQwcq6Intuuid9Pyb4jjxYUxxkq8kOu2r7Am0Rmb52PObGp4pQ==
dependencies:
"@petamoriken/float16" "^3.4.7"
lerc "^3.0.0"
pako "^2.0.4"
parse-headers "^2.0.2"
quick-lru "^6.1.0"
web-worker "^1.2.0"
xml-utils "^1.0.2"
get-caller-file@^2.0.1:
version "2.0.5"
resolved "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
......@@ -4726,6 +4795,14 @@ html-webpack-plugin@^3.2.0:
toposort "^1.0.0"
util.promisify "1.0.0"
html2canvas@^1.0.0-rc.5:
version "1.4.1"
resolved "https://registry.yarnpkg.com/html2canvas/-/html2canvas-1.4.1.tgz#7cef1888311b5011d507794a066041b14669a543"
integrity sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==
dependencies:
css-line-break "^2.1.0"
text-segmentation "^1.0.3"
htmlparser2@^3.3.0:
version "3.10.1"
resolved "https://registry.npm.taobao.org/htmlparser2/download/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f"
......@@ -4832,6 +4909,11 @@ icss-utils@^4.0.0, icss-utils@^4.1.1:
dependencies:
postcss "^7.0.14"
ieee754@^1.1.12:
version "1.2.1"
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
ieee754@^1.1.4:
version "1.1.13"
resolved "https://registry.npm.taobao.org/ieee754/download/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84"
......@@ -5352,6 +5434,11 @@ js-base64@^2.1.8:
resolved "https://registry.npm.taobao.org/js-base64/download/js-base64-2.6.4.tgz?cache=0&sync_timestamp=1599897523811&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-base64%2Fdownload%2Fjs-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4"
integrity sha1-9OaGxd4eofhn28rT1G2WlCjfmMQ=
js-base64@^3.7.2:
version "3.7.2"
resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-3.7.2.tgz#816d11d81a8aff241603d19ce5761e13e41d7745"
integrity sha512-NnRs6dsyqUXejqk/yv2aiXlAvOs56sLkX6nUdeaNezI5LFFLlsZjOThmwnrcwh5ZZRwZlCMnVAY3CvhIhoVEKQ==
js-cookie@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-2.2.1.tgz#69e106dc5d5806894562902aa5baec3744e9b2b8"
......@@ -5422,6 +5509,11 @@ json-stable-stringify-without-jsonify@^1.0.1:
resolved "https://registry.npm.taobao.org/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
json-stringify-pretty-compact@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/json-stringify-pretty-compact/-/json-stringify-pretty-compact-2.0.0.tgz#e77c419f52ff00c45a31f07f4c820c2433143885"
integrity sha512-WRitRfs6BGq4q8gTgOy4ek7iPFXjbra0H3PmDLKm2xnZ+Gh1HUhiKGgCZkSPNULlP7mvfu6FV/mOLhCarspADQ==
json-stringify-safe@~5.0.1:
version "5.0.1"
resolved "https://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
......@@ -5502,6 +5594,11 @@ kind-of@^6.0.0, kind-of@^6.0.2:
resolved "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
integrity sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=
kindeditor@^4.1.10:
version "4.1.10"
resolved "https://registry.yarnpkg.com/kindeditor/-/kindeditor-4.1.10.tgz#bbbbba9de38e13f8568205be765ef7339eb6d515"
integrity sha1-u7u6neOOE/hWggW+dl73M5621RU=
launch-editor-middleware@^2.2.1:
version "2.2.1"
resolved "https://registry.npm.taobao.org/launch-editor-middleware/download/launch-editor-middleware-2.2.1.tgz#e14b07e6c7154b0a4b86a0fd345784e45804c157"
......@@ -5517,6 +5614,11 @@ launch-editor@^2.2.1:
chalk "^2.3.0"
shell-quote "^1.6.1"
lerc@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/lerc/-/lerc-3.0.0.tgz#36f36fbd4ba46f0abf4833799fff2e7d6865f5cb"
integrity sha512-Rm4J/WaHhRa93nCN2mwWDZFoRVF18G1f47C+kvQWyHGEZxFpTUi73p7lMVSAndyxGt6lJ2/CFbOcf9ra5p8aww==
leven@^3.1.0:
version "3.1.0"
resolved "https://registry.npm.taobao.org/leven/download/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2"
......@@ -5732,6 +5834,11 @@ map-visit@^1.0.0:
dependencies:
object-visit "^1.0.0"
mapbox-to-css-font@^2.4.1:
version "2.4.1"
resolved "https://registry.yarnpkg.com/mapbox-to-css-font/-/mapbox-to-css-font-2.4.1.tgz#41bf38faed36b7dab069828aa3654e4bd91a1eda"
integrity sha512-QQ/iKiM43DM9+aujTL45Iz5o7gDeSFmy4LPl3HZmNcwCE++NxGazf+yFpY+wCb+YS23sDa1ghpo3zrNFOcHlow==
md5.js@^1.3.4:
version "1.3.5"
resolved "https://registry.npm.taobao.org/md5.js/download/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f"
......@@ -6385,6 +6492,25 @@ obuf@^1.0.0, obuf@^1.1.2:
resolved "https://registry.npm.taobao.org/obuf/download/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e"
integrity sha1-Cb6jND1BhZ69RGKS0RydTbYZCE4=
ol-mapbox-style@^7.1.1:
version "7.1.1"
resolved "https://registry.yarnpkg.com/ol-mapbox-style/-/ol-mapbox-style-7.1.1.tgz#cf33c39badd943c25fc438c689bf678f9aa847a2"
integrity sha512-GLTEYiH/Ec9Zn1eS4S/zXyR2sierVrUc+OLVP8Ra0FRyqRhoYbXdko0b7OIeSHWdtJfHssWYefDOGxfTRUUZ/A==
dependencies:
"@mapbox/mapbox-gl-style-spec" "^13.20.1"
mapbox-to-css-font "^2.4.1"
webfont-matcher "^1.1.0"
ol@^6.12.0:
version "6.14.1"
resolved "https://registry.yarnpkg.com/ol/-/ol-6.14.1.tgz#8061bdcf7cd67a665fc8e76545442a702cbc7282"
integrity sha512-sIcUWkGud3Y2gT3TJubSHlkyMXiPVh1yxfCPHxmY8+qtm79bB9oRnei9xHVIbRRG0Ro6Ldp5E+BMVSvYCxSpaA==
dependencies:
geotiff "^2.0.2"
ol-mapbox-style "^7.1.1"
pbf "3.2.1"
rbush "^3.0.1"
on-finished@~2.3.0:
version "2.3.0"
resolved "https://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
......@@ -6546,6 +6672,11 @@ p-try@^2.0.0:
resolved "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
integrity sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=
pako@^2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/pako/-/pako-2.0.4.tgz#6cebc4bbb0b6c73b0d5b8d7e8476e2b2fbea576d"
integrity sha512-v8tweI900AUkZN6heMU/4Uy4cXRc2AYNRggVmTR+dEncawDJgCdLMximOVA2p4qO57WMynangsfGRb5WD6L1Bg==
pako@~1.0.5:
version "1.0.11"
resolved "https://registry.npm.taobao.org/pako/download/pako-1.0.11.tgz?cache=0&sync_timestamp=1580284192633&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpako%2Fdownload%2Fpako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf"
......@@ -6585,6 +6716,11 @@ parse-asn1@^5.0.0, parse-asn1@^5.1.5:
pbkdf2 "^3.0.3"
safe-buffer "^5.1.1"
parse-headers@^2.0.2:
version "2.0.5"
resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.5.tgz#069793f9356a54008571eb7f9761153e6c770da9"
integrity sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==
parse-json@^2.2.0:
version "2.2.0"
resolved "https://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz?cache=0&sync_timestamp=1598129247474&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
......@@ -6705,6 +6841,14 @@ path-type@^3.0.0:
dependencies:
pify "^3.0.0"
pbf@3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/pbf/-/pbf-3.2.1.tgz#b4c1b9e72af966cd82c6531691115cc0409ffe2a"
integrity sha512-ClrV7pNOn7rtmoQVF4TS1vyU0WhYRnP92fzbfF75jAIwpnzdJXf8iTd4CMEqO4yUenH6NDqLiwjqlh6QgZzgLQ==
dependencies:
ieee754 "^1.1.12"
resolve-protobuf-schema "^2.1.0"
pbkdf2@^3.0.3:
version "3.1.1"
resolved "https://registry.npm.taobao.org/pbkdf2/download/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94"
......@@ -7203,6 +7347,11 @@ promise-inflight@^1.0.1:
resolved "https://registry.npm.taobao.org/promise-inflight/download/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3"
integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM=
protocol-buffers-schema@^3.3.1:
version "3.6.0"
resolved "https://registry.yarnpkg.com/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz#77bc75a48b2ff142c1ad5b5b90c94cd0fa2efd03"
integrity sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==
proxy-addr@~2.0.5:
version "2.0.6"
resolved "https://registry.npm.taobao.org/proxy-addr/download/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf"
......@@ -7323,6 +7472,16 @@ querystringify@^2.1.1:
resolved "https://registry.npm.taobao.org/querystringify/download/querystringify-2.2.0.tgz?cache=0&sync_timestamp=1597686721254&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fquerystringify%2Fdownload%2Fquerystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6"
integrity sha1-M0WUG0FTy50ILY7uTNogFqmu9/Y=
quick-lru@^6.1.0:
version "6.1.1"
resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-6.1.1.tgz#f8e5bf9010376c126c80c1a62827a526c0e60adf"
integrity sha512-S27GBT+F0NTRiehtbrgaSE1idUAJ5bX8dPAQTdylEyNlrdcH5X4Lz7Edz3DYzecbsCluD5zO8ZNEe04z3D3u6Q==
quickselect@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/quickselect/-/quickselect-2.0.0.tgz#f19680a486a5eefb581303e023e98faaf25dd018"
integrity sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==
randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0:
version "2.1.0"
resolved "https://registry.npm.taobao.org/randombytes/download/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
......@@ -7358,6 +7517,13 @@ raw-loader@~0.5.1:
resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-0.5.1.tgz#0c3d0beaed8a01c966d9787bf778281252a979aa"
integrity sha1-DD0L6u2KAclm2Xh793goElKpeao=
rbush@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/rbush/-/rbush-3.0.1.tgz#5fafa8a79b3b9afdfe5008403a720cc1de882ecf"
integrity sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==
dependencies:
quickselect "^2.0.0"
read-pkg-up@^1.0.1:
version "1.0.1"
resolved "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
......@@ -7510,6 +7676,15 @@ relateurl@0.2.x:
resolved "https://registry.npm.taobao.org/relateurl/download/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9"
integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=
relation-graph@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/relation-graph/-/relation-graph-1.1.0.tgz#4fa47cd2fd766305e4e99627c1f464e7e98cd0a6"
integrity sha512-bPBjFOStki5kJqVDkcoTVg1pEg8tztsHk2XLjyc7i16RQFoZcAU0SJRwlAtG9ClLVNWlBYACxOS1lap9Ri3i6A==
dependencies:
html2canvas "^1.0.0-rc.5"
screenfull "^4.2.0"
vue "^2.5.9"
remove-trailing-separator@^1.0.1:
version "1.1.0"
resolved "https://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
......@@ -7606,6 +7781,13 @@ resolve-from@^4.0.0:
resolved "https://registry.npm.taobao.org/resolve-from/download/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
integrity sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY=
resolve-protobuf-schema@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz#9ca9a9e69cf192bbdaf1006ec1973948aa4a3758"
integrity sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==
dependencies:
protocol-buffers-schema "^3.3.1"
resolve-url@^0.2.1:
version "0.2.1"
resolved "https://registry.npm.taobao.org/resolve-url/download/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
......@@ -7695,6 +7877,11 @@ rust-result@^1.0.0:
dependencies:
individual "^2.0.0"
rw@^1.3.3:
version "1.3.3"
resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4"
integrity sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=
rxjs@^6.6.0:
version "6.6.3"
resolved "https://registry.npm.taobao.org/rxjs/download/rxjs-6.6.3.tgz?cache=0&sync_timestamp=1600896740146&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frxjs%2Fdownload%2Frxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552"
......@@ -7785,6 +7972,11 @@ schema-utils@^2.0.0, schema-utils@^2.5.0, schema-utils@^2.6.1, schema-utils@^2.6
ajv "^6.12.4"
ajv-keywords "^3.5.2"
screenfull@^4.2.0:
version "4.2.1"
resolved "https://registry.yarnpkg.com/screenfull/-/screenfull-4.2.1.tgz#3245b7bc73d2b7c9a15bd8caaf6965db7cbc7f04"
integrity sha512-PLSp6f5XdhvjCCCO8OjavRfzkSGL3Qmdm7P82bxyU8HDDDBhDV3UckRaYcRa/NDNTYt8YBpzjoLWHUAejmOjLg==
script-loader@^0.7.2:
version "0.7.2"
resolved "https://registry.yarnpkg.com/script-loader/-/script-loader-0.7.2.tgz#2016db6f86f25f5cf56da38915d83378bb166ba7"
......@@ -8051,6 +8243,16 @@ sockjs@0.3.20:
uuid "^3.4.0"
websocket-driver "0.6.5"
sort-asc@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/sort-asc/-/sort-asc-0.1.0.tgz#ab799df61fc73ea0956c79c4b531ed1e9e7727e9"
integrity sha1-q3md9h/HPqCVbHnEtTHtHp53J+k=
sort-desc@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/sort-desc/-/sort-desc-0.1.1.tgz#198b8c0cdeb095c463341861e3925d4ee359a9ee"
integrity sha1-GYuMDN6wlcRjNBhh45JdTuNZqe4=
sort-keys@^1.0.0:
version "1.1.2"
resolved "https://registry.npm.taobao.org/sort-keys/download/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad"
......@@ -8058,6 +8260,14 @@ sort-keys@^1.0.0:
dependencies:
is-plain-obj "^1.0.0"
sort-object@^0.3.2:
version "0.3.2"
resolved "https://registry.yarnpkg.com/sort-object/-/sort-object-0.3.2.tgz#98e0d199ede40e07c61a84403c61d6c3b290f9e2"
integrity sha1-mODRme3kDgfGGoRAPGHWw7KQ+eI=
dependencies:
sort-asc "^0.1.0"
sort-desc "^0.1.1"
sortablejs@1.10.2:
version "1.10.2"
resolved "https://registry.yarnpkg.com/sortablejs/-/sortablejs-1.10.2.tgz#6e40364d913f98b85a14f6678f92b5c1221f5290"
......@@ -8528,6 +8738,13 @@ terser@^4.1.2, terser@^4.6.12:
source-map "~0.6.1"
source-map-support "~0.5.12"
text-segmentation@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/text-segmentation/-/text-segmentation-1.0.3.tgz#52a388159efffe746b24a63ba311b6ac9f2d7943"
integrity sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==
dependencies:
utrie "^1.0.2"
text-table@^0.2.0:
version "0.2.0"
resolved "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
......@@ -8929,6 +9146,13 @@ utils-merge@1.0.1:
resolved "https://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=
utrie@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/utrie/-/utrie-1.0.2.tgz#d42fe44de9bc0119c25de7f564a6ed1b2c87a645"
integrity sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==
dependencies:
base64-arraybuffer "^1.0.2"
uuid@^3.3.2, uuid@^3.4.0:
version "3.4.0"
resolved "https://registry.npm.taobao.org/uuid/download/uuid-3.4.0.tgz?cache=0&sync_timestamp=1601826526166&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuuid%2Fdownload%2Fuuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
......@@ -9080,6 +9304,11 @@ vue-wechat-title@^2.0.7:
resolved "https://registry.yarnpkg.com/vue-wechat-title/-/vue-wechat-title-2.0.7.tgz#6ad4ca49fb2e7bcd0f1eed0a5fdcbe9461b2946b"
integrity sha512-qNkb56AWFHjOoGfW4lkstS4GC2W4YqVJYfnIUM73b/CBpMSOvcWSqtmb8ANa9owTKJr2dmBRmQV5K5YwrzbC5A==
vue@^2.5.9:
version "2.6.14"
resolved "https://registry.yarnpkg.com/vue/-/vue-2.6.14.tgz#e51aa5250250d569a3fbad3a8a5a687d6036e235"
integrity sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ==
vue@^2.6.11:
version "2.6.12"
resolved "https://registry.npm.taobao.org/vue/download/vue-2.6.12.tgz?cache=0&sync_timestamp=1600441210971&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue%2Fdownload%2Fvue-2.6.12.tgz#f5ebd4fa6bd2869403e29a896aed4904456c9123"
......@@ -9137,6 +9366,16 @@ wcwidth@^1.0.1:
dependencies:
defaults "^1.0.3"
web-worker@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/web-worker/-/web-worker-1.2.0.tgz#5d85a04a7fbc1e7db58f66595d7a3ac7c9c180da"
integrity sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA==
webfont-matcher@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/webfont-matcher/-/webfont-matcher-1.1.0.tgz#98ce95097b29e31fbe733053e10e571642d1c6c7"
integrity sha1-mM6VCXsp4x++czBT4Q5XFkLRxsc=
webpack-bundle-analyzer@^3.8.0:
version "3.9.0"
resolved "https://registry.npm.taobao.org/webpack-bundle-analyzer/download/webpack-bundle-analyzer-3.9.0.tgz#f6f94db108fb574e415ad313de41a2707d33ef3c"
......@@ -9388,6 +9627,11 @@ xlsx@^0.17.1:
wmf "~1.0.1"
word "~0.3.0"
xml-utils@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/xml-utils/-/xml-utils-1.0.2.tgz#8081bfefb87b72e03e4adbabdd217ccbbc395eeb"
integrity sha512-rEn0FvKi+YGjv9omf22oAf+0d6Ly/sgJ/CUufU/nOzS7SRLmgwSujrewc03KojXxt+aPaTRpm593TgehtUBMSQ==
xtend@^4.0.0, xtend@~4.0.1:
version "4.0.2"
resolved "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment