|
@@ -24,7 +24,10 @@
|
|
|
<div class="container">
|
|
|
<ul>
|
|
|
<li v-for="(item, index) in mapList" :key="index">
|
|
|
- <p :class="['bg', item.class, { active: item.active }]" @click="changeMap(item)">
|
|
|
+ <p
|
|
|
+ :class="['bg', item.class, { active: item.active }]"
|
|
|
+ @click="changeMap(item)"
|
|
|
+ >
|
|
|
<span>{{ item.title }}</span>
|
|
|
</p>
|
|
|
</li>
|
|
@@ -129,7 +132,7 @@ export default {
|
|
|
};
|
|
|
},
|
|
|
components: {},
|
|
|
- created() { },
|
|
|
+ created() {},
|
|
|
|
|
|
mounted() {
|
|
|
let that = this;
|
|
@@ -204,7 +207,11 @@ export default {
|
|
|
// });
|
|
|
// 监听地图变化时,缩放级别
|
|
|
map.getView().on("change:center", function (e) {
|
|
|
- let lonlat = transform(globalVariable.map.getView().getCenter(), "EPSG:3857", "EPSG:4326");
|
|
|
+ let lonlat = transform(
|
|
|
+ globalVariable.map.getView().getCenter(),
|
|
|
+ "EPSG:3857",
|
|
|
+ "EPSG:4326"
|
|
|
+ );
|
|
|
that.$store.commit("setMouseLocation", [
|
|
|
Number(lonlat[0].toFixed(6)),
|
|
|
Number(lonlat[1].toFixed(6)),
|
|
@@ -214,14 +221,94 @@ export default {
|
|
|
that.$store.commit("setZoom", e.target.getZoom());
|
|
|
});
|
|
|
// 图层选中事件
|
|
|
- this.selectSingleClick = new Select();
|
|
|
+ this.selectSingleClick = new Select({
|
|
|
+ style: function (feature) {
|
|
|
+ let type = feature.getGeometry().getType();
|
|
|
+ if (feature.getProperties().properties.layerInfo) {
|
|
|
+ let layerInfo = feature.getProperties().properties.layerInfo;
|
|
|
+ let t = {
|
|
|
+ LineString: [
|
|
|
+ new Style({
|
|
|
+ stroke: new Stroke({
|
|
|
+ color: [255, 255, 255, 1],
|
|
|
+ width: layerInfo.lineWidth + 2,
|
|
|
+ }),
|
|
|
+ }),
|
|
|
+ new Style({
|
|
|
+ stroke: new Stroke({
|
|
|
+ color: [0, 153, 255, 1],
|
|
|
+ width: layerInfo.lineWidth,
|
|
|
+ }),
|
|
|
+ }),
|
|
|
+ ],
|
|
|
+ MultiLineString: [
|
|
|
+ new Style({
|
|
|
+ stroke: new Stroke({
|
|
|
+ color: [255, 255, 255, 1],
|
|
|
+ width: layerInfo.lineWidth + 2,
|
|
|
+ }),
|
|
|
+ }),
|
|
|
+ new Style({
|
|
|
+ stroke: new Stroke({
|
|
|
+ color: [0, 153, 255, 1],
|
|
|
+ width: layerInfo.lineWidth,
|
|
|
+ }),
|
|
|
+ }),
|
|
|
+ ],
|
|
|
+ Polygon: [
|
|
|
+ new Style({
|
|
|
+ stroke: new Stroke({
|
|
|
+ color: [255, 255, 255, 1],
|
|
|
+ width: layerInfo.lineWidth + 2,
|
|
|
+ }),
|
|
|
+ }),
|
|
|
+ new Style({
|
|
|
+ stroke: new Stroke({
|
|
|
+ color: [0, 153, 255, 1],
|
|
|
+ width: layerInfo.lineWidth,
|
|
|
+ }),
|
|
|
+ }),
|
|
|
+ new Style({
|
|
|
+ fill: new Fill({
|
|
|
+ color: [255, 255, 255, 0.5],
|
|
|
+ }),
|
|
|
+ }),
|
|
|
+ ],
|
|
|
+ MultiPolygon: [
|
|
|
+ new Style({
|
|
|
+ stroke: new Stroke({
|
|
|
+ color: [255, 255, 255, 1],
|
|
|
+ width: layerInfo.lineWidth + 2,
|
|
|
+ }),
|
|
|
+ }),
|
|
|
+ new Style({
|
|
|
+ stroke: new Stroke({
|
|
|
+ color: [0, 153, 255, 1],
|
|
|
+ width: layerInfo.lineWidth,
|
|
|
+ }),
|
|
|
+ }),
|
|
|
+ new Style({
|
|
|
+ fill: new Fill({
|
|
|
+ color: [255, 255, 255, 0.5],
|
|
|
+ }),
|
|
|
+ }),
|
|
|
+ ],
|
|
|
+ };
|
|
|
+ return t[type];
|
|
|
+ } else {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ });
|
|
|
globalVariable.map.addInteraction(this.selectSingleClick);
|
|
|
this.selectSingleClick.on("select", function (selectEvent) {
|
|
|
let selectSingleClickFeatures = that.selectSingleClick.getFeatures();
|
|
|
let selected = selectEvent.selected[0];
|
|
|
if (!selected) return;
|
|
|
if (selectEvent.target.getLayer(selectEvent.selected[0]) != null) {
|
|
|
- switch (selectEvent.target.getLayer(selectEvent.selected[0]).values_.name) {
|
|
|
+ switch (
|
|
|
+ selectEvent.target.getLayer(selectEvent.selected[0]).values_.name
|
|
|
+ ) {
|
|
|
case "singlepoint":
|
|
|
if (selected.values_.callback) {
|
|
|
selected.values_.callback(selected, selectSingleClickFeatures);
|
|
@@ -263,8 +350,9 @@ export default {
|
|
|
default:
|
|
|
if (selected.values_.callback) {
|
|
|
selected.values_.callback(selected, selectSingleClickFeatures);
|
|
|
+ } else {
|
|
|
+ selectSingleClickFeatures.clear();
|
|
|
}
|
|
|
- selectSingleClickFeatures.clear();
|
|
|
break;
|
|
|
}
|
|
|
} else {
|
|
@@ -577,7 +665,7 @@ export default {
|
|
|
searchData(content, layerType) {
|
|
|
let that = this;
|
|
|
// 上传loading
|
|
|
- const loading = this.$createLoading("数据获取中,请稍后!")
|
|
|
+ const loading = this.$createLoading("数据获取中,请稍后!");
|
|
|
getLayerData(content, this.setPopup, loading)
|
|
|
.then((result) => {
|
|
|
let source = new VectorSource();
|