|
@@ -136,7 +136,7 @@ export const baseLayer = {
|
|
|
},
|
|
},
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-const myMap = (function() {
|
|
|
|
|
|
|
+const myMap = (function () {
|
|
|
var myMaps = {
|
|
var myMaps = {
|
|
|
_basemap: null,
|
|
_basemap: null,
|
|
|
_domid: null,
|
|
_domid: null,
|
|
@@ -196,7 +196,7 @@ const myMap = (function() {
|
|
|
});
|
|
});
|
|
|
myMap[type].addLayer(la, type);
|
|
myMap[type].addLayer(la, type);
|
|
|
var _this = this;
|
|
var _this = this;
|
|
|
- myMap[type].on("singleclick", function(evt) {
|
|
|
|
|
|
|
+ myMap[type].on("singleclick", function (evt) {
|
|
|
var lonlat = myMap.webMercatorToWgs84(
|
|
var lonlat = myMap.webMercatorToWgs84(
|
|
|
evt.coordinate[0],
|
|
evt.coordinate[0],
|
|
|
evt.coordinate[1]
|
|
evt.coordinate[1]
|
|
@@ -206,7 +206,7 @@ const myMap = (function() {
|
|
|
layer,
|
|
layer,
|
|
|
`${lonlat[0]},${lonlat[1]}`,
|
|
`${lonlat[0]},${lonlat[1]}`,
|
|
|
view.getResolution() * 6.7,
|
|
view.getResolution() * 6.7,
|
|
|
- function(d, f) {
|
|
|
|
|
|
|
+ function (d, f) {
|
|
|
if (d.length) {
|
|
if (d.length) {
|
|
|
var layerConfig = MapConfig[layer];
|
|
var layerConfig = MapConfig[layer];
|
|
|
var layers = myMap.getLayerByNameAndMap(layer, type);
|
|
var layers = myMap.getLayerByNameAndMap(layer, type);
|
|
@@ -231,7 +231,7 @@ const myMap = (function() {
|
|
|
);
|
|
);
|
|
|
});
|
|
});
|
|
|
},
|
|
},
|
|
|
- loadMap: function(domId, par = {}) {
|
|
|
|
|
|
|
+ loadMap: function (domId, par = {}) {
|
|
|
var _op = {
|
|
var _op = {
|
|
|
center: MapCenter.point,
|
|
center: MapCenter.point,
|
|
|
zoom: 8,
|
|
zoom: 8,
|
|
@@ -288,22 +288,22 @@ const myMap = (function() {
|
|
|
if (!option.hideCity) this.cityLineDefault(!par.zoom);
|
|
if (!option.hideCity) this.cityLineDefault(!par.zoom);
|
|
|
else if (!par.zoom) myMap.zoomToextent(MapCenter.extent);
|
|
else if (!par.zoom) myMap.zoomToextent(MapCenter.extent);
|
|
|
},
|
|
},
|
|
|
- mapOnClick: function(evt) {
|
|
|
|
|
|
|
+ mapOnClick: function (evt) {
|
|
|
var pixel = myMap.map.getEventPixel(evt.originalEvent);
|
|
var pixel = myMap.map.getEventPixel(evt.originalEvent);
|
|
|
var hit = myMap.map.hasFeatureAtPixel(pixel);
|
|
var hit = myMap.map.hasFeatureAtPixel(pixel);
|
|
|
if (hit) {
|
|
if (hit) {
|
|
|
- myMap.map.forEachFeatureAtPixel(pixel, function(feature, layer) {
|
|
|
|
|
|
|
+ myMap.map.forEachFeatureAtPixel(pixel, function (feature, layer) {
|
|
|
if (!layer) {
|
|
if (!layer) {
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
//显示弹窗
|
|
//显示弹窗
|
|
|
function popShow(config, html) {
|
|
function popShow(config, html) {
|
|
|
arcMap.popupInfo({
|
|
arcMap.popupInfo({
|
|
|
- feature: feature,
|
|
|
|
|
- position: evt,
|
|
|
|
|
- title: feature.get(config.title),
|
|
|
|
|
- attrs: config.attrs,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ feature: feature,
|
|
|
|
|
+ position: evt,
|
|
|
|
|
+ title: feature.get(config.title),
|
|
|
|
|
+ attrs: config.attrs,
|
|
|
|
|
+ },
|
|
|
html
|
|
html
|
|
|
);
|
|
);
|
|
|
arcMap.map.updateSize();
|
|
arcMap.map.updateSize();
|
|
@@ -336,7 +336,7 @@ const myMap = (function() {
|
|
|
dview_factor_Layer: null,
|
|
dview_factor_Layer: null,
|
|
|
dview_location_Layer: null,
|
|
dview_location_Layer: null,
|
|
|
redtemp_Layer: null,
|
|
redtemp_Layer: null,
|
|
|
- init: function() {
|
|
|
|
|
|
|
+ init: function () {
|
|
|
if (!myMap.getLayer(this._draw)) {
|
|
if (!myMap.getLayer(this._draw)) {
|
|
|
myMap.addLayer(myMap.CreateVecLayer(this._draw));
|
|
myMap.addLayer(myMap.CreateVecLayer(this._draw));
|
|
|
this.dview_draw_Layer = myMap.getLayer(this._draw);
|
|
this.dview_draw_Layer = myMap.getLayer(this._draw);
|
|
@@ -420,7 +420,7 @@ const myMap = (function() {
|
|
|
this.redtemp_Layer = myMap.getLayer(this._redlayer);
|
|
this.redtemp_Layer = myMap.getLayer(this._redlayer);
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
- clear: function(layer) {
|
|
|
|
|
|
|
+ clear: function (layer) {
|
|
|
if (layer) {
|
|
if (layer) {
|
|
|
layer.getSource().clear();
|
|
layer.getSource().clear();
|
|
|
} else {
|
|
} else {
|
|
@@ -446,7 +446,7 @@ const myMap = (function() {
|
|
|
if (zoom) myMap.zoomToextent(f[0].getGeometry().getExtent());
|
|
if (zoom) myMap.zoomToextent(f[0].getGeometry().getExtent());
|
|
|
});
|
|
});
|
|
|
},
|
|
},
|
|
|
- updateSize: function(settime) {
|
|
|
|
|
|
|
+ updateSize: function (settime) {
|
|
|
var count = 0;
|
|
var count = 0;
|
|
|
|
|
|
|
|
function usize() {
|
|
function usize() {
|
|
@@ -463,9 +463,9 @@ const myMap = (function() {
|
|
|
} else usize();
|
|
} else usize();
|
|
|
},
|
|
},
|
|
|
//按name获取
|
|
//按name获取
|
|
|
- getLayer: function(name) {
|
|
|
|
|
|
|
+ getLayer: function (name) {
|
|
|
var layer_ = null;
|
|
var layer_ = null;
|
|
|
- this.map.getLayers().forEach(function(layer, i) {
|
|
|
|
|
|
|
+ this.map.getLayers().forEach(function (layer, i) {
|
|
|
if (
|
|
if (
|
|
|
layer &&
|
|
layer &&
|
|
|
layer.get("name") &&
|
|
layer.get("name") &&
|
|
@@ -478,11 +478,11 @@ const myMap = (function() {
|
|
|
return layer_;
|
|
return layer_;
|
|
|
},
|
|
},
|
|
|
//按id获取
|
|
//按id获取
|
|
|
- getLayerById: function(id, type) {
|
|
|
|
|
|
|
+ getLayerById: function (id, type) {
|
|
|
var map = this.map;
|
|
var map = this.map;
|
|
|
if (type) map = this[type];
|
|
if (type) map = this[type];
|
|
|
var layer_ = null;
|
|
var layer_ = null;
|
|
|
- map.getLayers().forEach(function(layer, i) {
|
|
|
|
|
|
|
+ map.getLayers().forEach(function (layer, i) {
|
|
|
if (layer && layer.get("id") && layer.get("id") == id) {
|
|
if (layer && layer.get("id") && layer.get("id") == id) {
|
|
|
layer_ = layer;
|
|
layer_ = layer;
|
|
|
return;
|
|
return;
|
|
@@ -491,9 +491,9 @@ const myMap = (function() {
|
|
|
return layer_;
|
|
return layer_;
|
|
|
},
|
|
},
|
|
|
//获取指定地图的图层
|
|
//获取指定地图的图层
|
|
|
- getLayerByNameAndMap: function(name, type) {
|
|
|
|
|
|
|
+ getLayerByNameAndMap: function (name, type) {
|
|
|
var layer_ = null;
|
|
var layer_ = null;
|
|
|
- this[type].getLayers().forEach(function(layer) {
|
|
|
|
|
|
|
+ this[type].getLayers().forEach(function (layer) {
|
|
|
if (layer && layer.get("name") && layer.get("name") == name) {
|
|
if (layer && layer.get("name") && layer.get("name") == name) {
|
|
|
layer_ = layer;
|
|
layer_ = layer;
|
|
|
return;
|
|
return;
|
|
@@ -501,12 +501,12 @@ const myMap = (function() {
|
|
|
});
|
|
});
|
|
|
return layer_;
|
|
return layer_;
|
|
|
},
|
|
},
|
|
|
- zoomToextent: function(extent, meters) {
|
|
|
|
|
|
|
+ zoomToextent: function (extent, meters) {
|
|
|
meters = meters || 1000;
|
|
meters = meters || 1000;
|
|
|
var view = myMap.map.getView();
|
|
var view = myMap.map.getView();
|
|
|
view.fit(buffer(extent, meters), arcMap.map.getSize());
|
|
view.fit(buffer(extent, meters), arcMap.map.getSize());
|
|
|
},
|
|
},
|
|
|
- zoomToFeature: function(feature, meters) {
|
|
|
|
|
|
|
+ zoomToFeature: function (feature, meters) {
|
|
|
meters = meters || 1000;
|
|
meters = meters || 1000;
|
|
|
let extent;
|
|
let extent;
|
|
|
//添加支持多个feature sky220622
|
|
//添加支持多个feature sky220622
|
|
@@ -528,13 +528,13 @@ const myMap = (function() {
|
|
|
myMap.zoomToextent(extent, meters);
|
|
myMap.zoomToextent(extent, meters);
|
|
|
},
|
|
},
|
|
|
//缩放到中心点
|
|
//缩放到中心点
|
|
|
- zoomToCenter: function(zoom) {
|
|
|
|
|
|
|
+ zoomToCenter: function (zoom) {
|
|
|
var view = arcMap.map.getView();
|
|
var view = arcMap.map.getView();
|
|
|
view.setZoom(zoom || 12);
|
|
view.setZoom(zoom || 12);
|
|
|
view.setCenter(fromLonLat(myMaps._center));
|
|
view.setCenter(fromLonLat(myMaps._center));
|
|
|
},
|
|
},
|
|
|
//缩放到图层 sky20220623
|
|
//缩放到图层 sky20220623
|
|
|
- zoomToLayer: function(layurl, cl) {
|
|
|
|
|
|
|
+ zoomToLayer: function (layurl, cl) {
|
|
|
var url = layurl + "?f=pjson"; //空间查询url;
|
|
var url = layurl + "?f=pjson"; //空间查询url;
|
|
|
request({
|
|
request({
|
|
|
method: "get",
|
|
method: "get",
|
|
@@ -551,7 +551,7 @@ const myMap = (function() {
|
|
|
});
|
|
});
|
|
|
},
|
|
},
|
|
|
//移动
|
|
//移动
|
|
|
- moveToFeature: function(feature) {
|
|
|
|
|
|
|
+ moveToFeature: function (feature) {
|
|
|
let extent;
|
|
let extent;
|
|
|
//sky220622 添加支持多个feature
|
|
//sky220622 添加支持多个feature
|
|
|
if (Array.isArray(feature)) {
|
|
if (Array.isArray(feature)) {
|
|
@@ -573,7 +573,7 @@ const myMap = (function() {
|
|
|
view.setCenter(center);
|
|
view.setCenter(center);
|
|
|
arcMap.map.render();
|
|
arcMap.map.render();
|
|
|
},
|
|
},
|
|
|
- addLayer: function(layer, type) {
|
|
|
|
|
|
|
+ addLayer: function (layer, type) {
|
|
|
if (type) {
|
|
if (type) {
|
|
|
this[type].addLayer(layer);
|
|
this[type].addLayer(layer);
|
|
|
} else {
|
|
} else {
|
|
@@ -581,13 +581,13 @@ const myMap = (function() {
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
//删除图层
|
|
//删除图层
|
|
|
- removeLayer: function(layer) {
|
|
|
|
|
|
|
+ removeLayer: function (layer) {
|
|
|
var _layer = layer;
|
|
var _layer = layer;
|
|
|
if (typeof layer == "string") _layer = myMap.getLayer(layer);
|
|
if (typeof layer == "string") _layer = myMap.getLayer(layer);
|
|
|
this.map.removeLayer(_layer);
|
|
this.map.removeLayer(_layer);
|
|
|
},
|
|
},
|
|
|
//删除以XX开头的图层(图层名称)
|
|
//删除以XX开头的图层(图层名称)
|
|
|
- removeLayers: function(name) {
|
|
|
|
|
|
|
+ removeLayers: function (name) {
|
|
|
var lys = this.map.getLayers().array_;
|
|
var lys = this.map.getLayers().array_;
|
|
|
for (var i = 0; i < lys.length; i++) {
|
|
for (var i = 0; i < lys.length; i++) {
|
|
|
var layer = lys[i];
|
|
var layer = lys[i];
|
|
@@ -602,7 +602,7 @@ const myMap = (function() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
- CreateVecLayer: function(layername, style, popup, zindex) {
|
|
|
|
|
|
|
+ CreateVecLayer: function (layername, style, popup, zindex) {
|
|
|
style =
|
|
style =
|
|
|
style ||
|
|
style ||
|
|
|
new Style({
|
|
new Style({
|
|
@@ -631,7 +631,7 @@ const myMap = (function() {
|
|
|
if (popup) this.CreateLayerPopup(_VectorLayer, popup);
|
|
if (popup) this.CreateLayerPopup(_VectorLayer, popup);
|
|
|
return _VectorLayer;
|
|
return _VectorLayer;
|
|
|
},
|
|
},
|
|
|
- SetSelectStyle: function(feature, resolution) {
|
|
|
|
|
|
|
+ SetSelectStyle: function (feature, resolution) {
|
|
|
var strs = new Array();
|
|
var strs = new Array();
|
|
|
var l = feature.getId();
|
|
var l = feature.getId();
|
|
|
if (l != undefined) {
|
|
if (l != undefined) {
|
|
@@ -659,22 +659,22 @@ const myMap = (function() {
|
|
|
}),
|
|
}),
|
|
|
});
|
|
});
|
|
|
},
|
|
},
|
|
|
- CreateVecLayerOfPopup: function(layername, style) {
|
|
|
|
|
|
|
+ CreateVecLayerOfPopup: function (layername, style) {
|
|
|
return this.CreateVecLayer(layername, style, true);
|
|
return this.CreateVecLayer(layername, style, true);
|
|
|
},
|
|
},
|
|
|
- CreateLayerPopup: function(layer, popup) {
|
|
|
|
|
|
|
+ CreateLayerPopup: function (layer, popup) {
|
|
|
if (layer && typeof layer != "object") layer = myMap.getLayer(layer);
|
|
if (layer && typeof layer != "object") layer = myMap.getLayer(layer);
|
|
|
if (layer) layer.popupInfo = popup;
|
|
if (layer) layer.popupInfo = popup;
|
|
|
return layer;
|
|
return layer;
|
|
|
},
|
|
},
|
|
|
- lonLatToWebMercator: function(lon, lat) {
|
|
|
|
|
|
|
+ lonLatToWebMercator: function (lon, lat) {
|
|
|
var x = (lon * 20037508.34) / 180;
|
|
var x = (lon * 20037508.34) / 180;
|
|
|
var y =
|
|
var y =
|
|
|
Math.log(Math.tan(((90 + lat) * Math.PI) / 360)) / (Math.PI / 180);
|
|
Math.log(Math.tan(((90 + lat) * Math.PI) / 360)) / (Math.PI / 180);
|
|
|
y = (y * 20037508.34) / 180;
|
|
y = (y * 20037508.34) / 180;
|
|
|
return [x, y];
|
|
return [x, y];
|
|
|
},
|
|
},
|
|
|
- webMercatorToWgs84: function(x, y) {
|
|
|
|
|
|
|
+ webMercatorToWgs84: function (x, y) {
|
|
|
var lon = (x / 20037508.34) * 180;
|
|
var lon = (x / 20037508.34) * 180;
|
|
|
var lat = (y / 20037508.34) * 180;
|
|
var lat = (y / 20037508.34) * 180;
|
|
|
lat =
|
|
lat =
|
|
@@ -703,28 +703,55 @@ const myMap = (function() {
|
|
|
});
|
|
});
|
|
|
return geoJson;
|
|
return geoJson;
|
|
|
},
|
|
},
|
|
|
- LonLatDisplay: function() {
|
|
|
|
|
|
|
+ // 手动计算比例尺
|
|
|
|
|
+ getScaleFromResolution(resolution, units) {
|
|
|
|
|
+ const dpi = 96; // 标准DPI
|
|
|
|
|
+ const inchesPerMeter = 39.37;
|
|
|
|
|
+ const dotsPerMeter = dpi * inchesPerMeter;
|
|
|
|
|
+ if (units === 'degrees') {
|
|
|
|
|
+ // 经纬度投影特殊处理
|
|
|
|
|
+ return resolution * dotsPerMeter * (1 / 0.0254);
|
|
|
|
|
+ }
|
|
|
|
|
+ return resolution * dotsPerMeter;
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ LonLatDisplay: function () {
|
|
|
var mousePositionControl = new MousePosition({
|
|
var mousePositionControl = new MousePosition({
|
|
|
- coordinateFormat: function(e) {
|
|
|
|
|
|
|
+ coordinateFormat: function (e) {
|
|
|
|
|
+ const view = myMap.map.getView();
|
|
|
|
|
+ const resolution = view.getResolution();
|
|
|
|
|
+ const units = view.getProjection().getUnits();
|
|
|
|
|
+ const scale = myMap.getScaleFromResolution(resolution, units);
|
|
|
var es = myMap.webMercatorToWgs84(e[0], e[1]);
|
|
var es = myMap.webMercatorToWgs84(e[0], e[1]);
|
|
|
return (
|
|
return (
|
|
|
- "经度:" + es[0].toFixed(2) + "° , 纬度:" + es[1].toFixed(2) + "°"
|
|
|
|
|
|
|
+ " 经度:" + es[0].toFixed(2) + "° ,纬度:" + es[1].toFixed(2) + "°,"
|
|
|
);
|
|
);
|
|
|
},
|
|
},
|
|
|
projection: get("EPSG:3857"),
|
|
projection: get("EPSG:3857"),
|
|
|
className: "lonlat",
|
|
className: "lonlat",
|
|
|
target: document.getElementById("lonlat"),
|
|
target: document.getElementById("lonlat"),
|
|
|
- undefinedHTML: " ",
|
|
|
|
|
|
|
+ // undefinedHTML: " ",
|
|
|
});
|
|
});
|
|
|
mousePositionControl.setMap(myMap.map);
|
|
mousePositionControl.setMap(myMap.map);
|
|
|
|
|
+ // 监听视图的 change:resolution 事件
|
|
|
|
|
+ myMap.map.getView().on('change:resolution', function (event) {
|
|
|
|
|
+ console.log("change:resolution");
|
|
|
|
|
+ const view = myMap.map.getView();
|
|
|
|
|
+ const resolution = view.getResolution();
|
|
|
|
|
+ const units = view.getProjection().getUnits();
|
|
|
|
|
+ const scale = myMap.getScaleFromResolution(resolution, units);
|
|
|
|
|
+ $("#resolution").html(
|
|
|
|
|
+ "级别:" + Math.round(myMap.map.getView().getZoom()) + ",比例尺:" + Math.round(scale) + ""
|
|
|
|
|
+ );
|
|
|
|
|
+ });
|
|
|
},
|
|
},
|
|
|
- removePopupOverlay: function() {
|
|
|
|
|
|
|
+ removePopupOverlay: function () {
|
|
|
myMap.map.removeOverlay(myMap.getPopupOverlay());
|
|
myMap.map.removeOverlay(myMap.getPopupOverlay());
|
|
|
},
|
|
},
|
|
|
- getPopupOverlay: function() {
|
|
|
|
|
|
|
+ getPopupOverlay: function () {
|
|
|
return this.map.getOverlayById("popup_temp");
|
|
return this.map.getOverlayById("popup_temp");
|
|
|
},
|
|
},
|
|
|
- addOverlay: function(Overlay, type) {
|
|
|
|
|
|
|
+ addOverlay: function (Overlay, type) {
|
|
|
if (type) {
|
|
if (type) {
|
|
|
this[type].addOverlay(Overlay);
|
|
this[type].addOverlay(Overlay);
|
|
|
} else {
|
|
} else {
|
|
@@ -732,7 +759,7 @@ const myMap = (function() {
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
//图表overlayer
|
|
//图表overlayer
|
|
|
- addOverLayerByEcharts: function(data, type) {
|
|
|
|
|
|
|
+ addOverLayerByEcharts: function (data, type) {
|
|
|
var details = formatKeyValue(type);
|
|
var details = formatKeyValue(type);
|
|
|
var dom = document.querySelectorAll(".echartsOverlay");
|
|
var dom = document.querySelectorAll(".echartsOverlay");
|
|
|
if (dom && dom.length) {
|
|
if (dom && dom.length) {
|
|
@@ -757,7 +784,7 @@ const myMap = (function() {
|
|
|
};
|
|
};
|
|
|
echartbar.chart = echarts.init(document.getElementById(code));
|
|
echartbar.chart = echarts.init(document.getElementById(code));
|
|
|
echartbar.chart.setOption(echartbar.option, true);
|
|
echartbar.chart.setOption(echartbar.option, true);
|
|
|
- window.addEventListener("resize", function() {
|
|
|
|
|
|
|
+ window.addEventListener("resize", function () {
|
|
|
echartbar.chart.resize();
|
|
echartbar.chart.resize();
|
|
|
});
|
|
});
|
|
|
var _overlay = new Overlay({
|
|
var _overlay = new Overlay({
|
|
@@ -776,7 +803,7 @@ const myMap = (function() {
|
|
|
});
|
|
});
|
|
|
},
|
|
},
|
|
|
//地图弹窗--点
|
|
//地图弹窗--点
|
|
|
- popupInfo: function(option) {
|
|
|
|
|
|
|
+ popupInfo: function (option) {
|
|
|
var feature = option.feature;
|
|
var feature = option.feature;
|
|
|
var evt = option.position;
|
|
var evt = option.position;
|
|
|
var _popupId_ = "popup_temp" + option.index;
|
|
var _popupId_ = "popup_temp" + option.index;
|
|
@@ -825,13 +852,13 @@ const myMap = (function() {
|
|
|
document.getElementById(myMap._domid);
|
|
document.getElementById(myMap._domid);
|
|
|
text.appendChild(para);
|
|
text.appendChild(para);
|
|
|
if (option.type) {
|
|
if (option.type) {
|
|
|
- document.getElementById("closePop").onclick = function() {
|
|
|
|
|
|
|
+ document.getElementById("closePop").onclick = function () {
|
|
|
myMap[option.type].removeOverlay(
|
|
myMap[option.type].removeOverlay(
|
|
|
myMap[option.type].getOverlayById(_popupId_)
|
|
myMap[option.type].getOverlayById(_popupId_)
|
|
|
);
|
|
);
|
|
|
};
|
|
};
|
|
|
} else {
|
|
} else {
|
|
|
- document.getElementById("closePop").onclick = function() {
|
|
|
|
|
|
|
+ document.getElementById("closePop").onclick = function () {
|
|
|
myMap.map1.removeOverlay(myMap.getPopupOverlay());
|
|
myMap.map1.removeOverlay(myMap.getPopupOverlay());
|
|
|
};
|
|
};
|
|
|
}
|
|
}
|
|
@@ -876,7 +903,7 @@ const myMap = (function() {
|
|
|
// setVisible(Status);
|
|
// setVisible(Status);
|
|
|
return _overlay0, _overlay1;
|
|
return _overlay0, _overlay1;
|
|
|
},
|
|
},
|
|
|
- SearchWfsByLoc: function(layers, feature, buffer, callback) {
|
|
|
|
|
|
|
+ SearchWfsByLoc: function (layers, feature, buffer, callback) {
|
|
|
if (typeof feature == "string") {
|
|
if (typeof feature == "string") {
|
|
|
var lonlat = (feature || "").split(",");
|
|
var lonlat = (feature || "").split(",");
|
|
|
var point = fromLonLat(
|
|
var point = fromLonLat(
|
|
@@ -906,12 +933,12 @@ const myMap = (function() {
|
|
|
} else {
|
|
} else {
|
|
|
geom = feature.getGeometry();
|
|
geom = feature.getGeometry();
|
|
|
}
|
|
}
|
|
|
- myMap.SearchWfsData(layers, geom, function(datas) {
|
|
|
|
|
|
|
+ myMap.SearchWfsData(layers, geom, function (datas) {
|
|
|
callback(datas, bf);
|
|
callback(datas, bf);
|
|
|
});
|
|
});
|
|
|
},
|
|
},
|
|
|
//WFS查询
|
|
//WFS查询
|
|
|
- SearchWfsData: function(layers, data, cl) {
|
|
|
|
|
|
|
+ SearchWfsData: function (layers, data, cl) {
|
|
|
var filter;
|
|
var filter;
|
|
|
if (typeof data == "object") {
|
|
if (typeof data == "object") {
|
|
|
filter = intersects("geom", data, "");
|
|
filter = intersects("geom", data, "");
|
|
@@ -930,13 +957,13 @@ const myMap = (function() {
|
|
|
filter: filter,
|
|
filter: filter,
|
|
|
});
|
|
});
|
|
|
fetch("/geoserver/p002/ows", {
|
|
fetch("/geoserver/p002/ows", {
|
|
|
- method: "POST",
|
|
|
|
|
- body: new XMLSerializer().serializeToString(featureRequest),
|
|
|
|
|
- })
|
|
|
|
|
- .then(function(response) {
|
|
|
|
|
|
|
+ method: "POST",
|
|
|
|
|
+ body: new XMLSerializer().serializeToString(featureRequest),
|
|
|
|
|
+ })
|
|
|
|
|
+ .then(function (response) {
|
|
|
return response.json();
|
|
return response.json();
|
|
|
})
|
|
})
|
|
|
- .then(function(json) {
|
|
|
|
|
|
|
+ .then(function (json) {
|
|
|
var features = new GeoJSON().readFeatures(json);
|
|
var features = new GeoJSON().readFeatures(json);
|
|
|
if (cl) cl(features);
|
|
if (cl) cl(features);
|
|
|
});
|
|
});
|
|
@@ -954,19 +981,19 @@ const myMap = (function() {
|
|
|
filter: filter,
|
|
filter: filter,
|
|
|
});
|
|
});
|
|
|
fetch("/geoserver/p002/wfs", {
|
|
fetch("/geoserver/p002/wfs", {
|
|
|
- method: "POST",
|
|
|
|
|
- body: new XMLSerializer().serializeToString(featureRequest),
|
|
|
|
|
- })
|
|
|
|
|
- .then(function(response) {
|
|
|
|
|
|
|
+ method: "POST",
|
|
|
|
|
+ body: new XMLSerializer().serializeToString(featureRequest),
|
|
|
|
|
+ })
|
|
|
|
|
+ .then(function (response) {
|
|
|
return response.json();
|
|
return response.json();
|
|
|
})
|
|
})
|
|
|
- .then(function(json) {
|
|
|
|
|
|
|
+ .then(function (json) {
|
|
|
var features = new GeoJSON().readFeatures(json);
|
|
var features = new GeoJSON().readFeatures(json);
|
|
|
if (cl) cl(features);
|
|
if (cl) cl(features);
|
|
|
});
|
|
});
|
|
|
},
|
|
},
|
|
|
//图层数据叠加
|
|
//图层数据叠加
|
|
|
- addDjLayer(url, type) {},
|
|
|
|
|
|
|
+ addDjLayer(url, type) { },
|
|
|
//图层类型
|
|
//图层类型
|
|
|
WMSImage(url, name) {
|
|
WMSImage(url, name) {
|
|
|
var _layer = new ImageLayer({
|
|
var _layer = new ImageLayer({
|
|
@@ -984,7 +1011,7 @@ const myMap = (function() {
|
|
|
});
|
|
});
|
|
|
return _layer;
|
|
return _layer;
|
|
|
},
|
|
},
|
|
|
- WMSTile: function(record) {
|
|
|
|
|
|
|
+ WMSTile: function (record) {
|
|
|
var _layer = new TileLayer({
|
|
var _layer = new TileLayer({
|
|
|
name: record.url,
|
|
name: record.url,
|
|
|
id: record.id,
|
|
id: record.id,
|
|
@@ -1002,7 +1029,7 @@ const myMap = (function() {
|
|
|
});
|
|
});
|
|
|
myMap.addLayer(_layer);
|
|
myMap.addLayer(_layer);
|
|
|
},
|
|
},
|
|
|
- XYZTile: function(record) {
|
|
|
|
|
|
|
+ XYZTile: function (record) {
|
|
|
var imgsource = new XYZ({
|
|
var imgsource = new XYZ({
|
|
|
crossOrigin: "anonymous",
|
|
crossOrigin: "anonymous",
|
|
|
url: record.url,
|
|
url: record.url,
|
|
@@ -1014,7 +1041,7 @@ const myMap = (function() {
|
|
|
});
|
|
});
|
|
|
myMap.addLayer(untiled);
|
|
myMap.addLayer(untiled);
|
|
|
},
|
|
},
|
|
|
- vector: function(url, name, style) {
|
|
|
|
|
|
|
+ vector: function (url, name, style) {
|
|
|
var _layer = new VectorLayer({
|
|
var _layer = new VectorLayer({
|
|
|
name: name,
|
|
name: name,
|
|
|
declutter: false,
|
|
declutter: false,
|
|
@@ -1028,7 +1055,7 @@ const myMap = (function() {
|
|
|
});
|
|
});
|
|
|
return _layer;
|
|
return _layer;
|
|
|
},
|
|
},
|
|
|
- TILE: function(record, call, zoom) {
|
|
|
|
|
|
|
+ TILE: function (record, call, zoom) {
|
|
|
var imgsource = new XYZ({
|
|
var imgsource = new XYZ({
|
|
|
crossOrigin: "anonymous",
|
|
crossOrigin: "anonymous",
|
|
|
url: record.url,
|
|
url: record.url,
|
|
@@ -1048,7 +1075,7 @@ const myMap = (function() {
|
|
|
myMap.zoomToLayer(record.url);
|
|
myMap.zoomToLayer(record.url);
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
- WMS: function(record, call, zoom) {
|
|
|
|
|
|
|
+ WMS: function (record, call, zoom) {
|
|
|
var format = "image/png";
|
|
var format = "image/png";
|
|
|
var imgsource = new TileWMS({
|
|
var imgsource = new TileWMS({
|
|
|
ratio: 1,
|
|
ratio: 1,
|
|
@@ -1072,7 +1099,7 @@ const myMap = (function() {
|
|
|
}
|
|
}
|
|
|
myMap.addLayer(untiled);
|
|
myMap.addLayer(untiled);
|
|
|
},
|
|
},
|
|
|
- WMTS: function(record, call, zoom) {
|
|
|
|
|
|
|
+ WMTS: function (record, call, zoom) {
|
|
|
var imgsource = new XYZ({
|
|
var imgsource = new XYZ({
|
|
|
crossOrigin: "anonymous",
|
|
crossOrigin: "anonymous",
|
|
|
url: record.url + `/tile/{z}/{y}/{x}`,
|
|
url: record.url + `/tile/{z}/{y}/{x}`,
|
|
@@ -1093,7 +1120,7 @@ const myMap = (function() {
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
//加载图层
|
|
//加载图层
|
|
|
- addProLayer: function(record, call, zoom) {
|
|
|
|
|
|
|
+ addProLayer: function (record, call, zoom) {
|
|
|
var format = "image/png";
|
|
var format = "image/png";
|
|
|
var imgsource = new TileWMS({
|
|
var imgsource = new TileWMS({
|
|
|
ratio: 1,
|
|
ratio: 1,
|
|
@@ -1118,7 +1145,7 @@ const myMap = (function() {
|
|
|
myMap.addLayer(untiled);
|
|
myMap.addLayer(untiled);
|
|
|
},
|
|
},
|
|
|
// 加载geojson数据
|
|
// 加载geojson数据
|
|
|
- addGeoJson: function(name, json, epsg) {
|
|
|
|
|
|
|
+ addGeoJson: function (name, json, epsg) {
|
|
|
let layer = myMap.getLayer(name);
|
|
let layer = myMap.getLayer(name);
|
|
|
if (layer) {
|
|
if (layer) {
|
|
|
layer.getSource().clear();
|
|
layer.getSource().clear();
|
|
@@ -1134,7 +1161,7 @@ const myMap = (function() {
|
|
|
layer.getSource().addFeatures(features);
|
|
layer.getSource().addFeatures(features);
|
|
|
return layer;
|
|
return layer;
|
|
|
},
|
|
},
|
|
|
- zoomToFeatureJson: function(json) {
|
|
|
|
|
|
|
+ zoomToFeatureJson: function (json) {
|
|
|
var feature = new GeoJSON().readFeature(json, {
|
|
var feature = new GeoJSON().readFeature(json, {
|
|
|
defaultDataProjection: "EPSG:4326",
|
|
defaultDataProjection: "EPSG:4326",
|
|
|
featureProjection: "EPSG:3857",
|
|
featureProjection: "EPSG:3857",
|