From 4097cc9ad6c60bbb5e9864d3f54a37cfbb40026e Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期三, 05 三月 2025 15:31:28 +0800
Subject: [PATCH] 临时:路网版本
---
src/model/Legend.js | 22 +++++++---
src/utils/map/index_old.js | 2
index.html | 2
src/model/Factor.js | 3 +
src/utils/map/line.js | 41 ++++++++------------
src/views/HomePage.vue | 42 ++++++++++++++++++++
6 files changed, 76 insertions(+), 36 deletions(-)
diff --git a/index.html b/index.html
index 7708be1..760c1a3 100644
--- a/index.html
+++ b/index.html
@@ -16,7 +16,7 @@
</script>
<script
type="text/javascript"
- src="https://webapi.amap.com/maps?v=1.4.5&key=520c5e5cf44c7793104e500cbf0ed711&plugin=Map3D,ElasticMarker,AMap.ControlBar,AMap.Geocoder"
+ src="https://webapi.amap.com/maps?v=1.4.5&key=520c5e5cf44c7793104e500cbf0ed711&plugin=Map3D,ElasticMarker,AMap.ControlBar,AMap.Geocoder,AMap.DistrictSearch"
></script>
<!-- <script src="/src/lib/jquery-3.5.1.min.js"></script> -->
<script type="module" src="/src/main.js"></script>
diff --git a/src/model/Factor.js b/src/model/Factor.js
index 28d65ce..b9983b1 100644
--- a/src/model/Factor.js
+++ b/src/model/Factor.js
@@ -60,7 +60,8 @@
this.standardMin = -1; //鐩戞祴鍥犲瓙绫诲瀷瀵瑰簲鐨勬爣鍑嗘渶灏忓��
this.standardMax = -1; //鐩戞祴鍥犲瓙绫诲瀷瀵瑰簲鐨勬爣鍑嗘渶澶у��
- this.legendType = Legend.S_TYPE; //鍥句緥妯″紡
+ // this.legendType = Legend.S_TYPE; //鍥句緥妯″紡
+ this.legendType = Legend.D_TYPE; //鍥句緥妯″紡
if (options != undefined) {
this.datas = options.datas;
diff --git a/src/model/Legend.js b/src/model/Legend.js
index 42abee3..9dfbcc4 100644
--- a/src/model/Legend.js
+++ b/src/model/Legend.js
@@ -142,13 +142,21 @@
]
},
+ // _custom: [
+ // [0.05, 0.9, 0.03, 0.75],
+ // [0.3, 0.65, 0.02, 0.75],
+ // [0.87, 0.92, 0.03, 0.75],
+ // [0.8, 0.67, 0.04, 0.75],
+ // [0.92, 0.28, 0.07, 0.75],
+ // [0.6, 0.05, 0.05, 0.75]
+ // ],
_custom: [
- [0.05, 0.9, 0.03, 0.75],
- [0.3, 0.65, 0.02, 0.75],
- [0.87, 0.92, 0.03, 0.75],
- [0.8, 0.67, 0.04, 0.75],
- [0.92, 0.28, 0.07, 0.75],
- [0.6, 0.05, 0.05, 0.75]
+ [0, 0.89, 0, 0.75],
+ [1, 1, 0, 0.75],
+ [1, 0.49, 0, 0.75],
+ [1, 0, 0, 0.75],
+ [0.6, 0, 0.3, 0.75],
+ [0.49, 0, 0.14, 0.75]
],
getStandardRange: function (name) {
@@ -241,7 +249,7 @@
getCustomColor: function (data, min, max) {
var per = (max - min) / this._custom.length;
- var i = parseInt(data / per);
+ var i = parseInt((data - min) / per);
if (i >= this._custom.length) {
i = this._custom.length - 1;
}
diff --git a/src/utils/map/index_old.js b/src/utils/map/index_old.js
index c296864..77cc81e 100644
--- a/src/utils/map/index_old.js
+++ b/src/utils/map/index_old.js
@@ -47,7 +47,7 @@
alwaysRender: false,
showLabel: true,
showBuildingBlock: true,
- mapStyle: 'amap://styles/e1e78509de64ddcd2efb4cb34c6fae2a',
+ // mapStyle: 'amap://styles/e1e78509de64ddcd2efb4cb34c6fae2a',
features: ['bg', 'road'],
pitch: 45, // 鍦板浘淇话瑙掑害锛屾湁鏁堣寖鍥� 0 搴�- 83 搴�
viewMode: '3D', // 鍦板浘妯″紡
diff --git a/src/utils/map/line.js b/src/utils/map/line.js
index 6c72bb5..d2211a5 100644
--- a/src/utils/map/line.js
+++ b/src/utils/map/line.js
@@ -40,40 +40,31 @@
const lastC = colors[i - 1];
if (distance > 500 || c != lastC) {
let _path, _color;
+ _path = path.slice(sIndex, i);
+ _color = getHexColor(
+ lastC.map((v, index) => {
+ if (index < lastC.length - 1) {
+ return v * 255;
+ } else {
+ return v;
+ }
+ })
+ );
// 褰撲袱鐐硅窛绂昏秴杩�500鏃讹紝璁や负涓ょ偣涓嶈繛缁紝涓嶇粯鍒惰繛绾�
if (distance > 500) {
- _path = path.slice(sIndex, i);
- _color = getHexColor(
- lastC.map((v, index) => {
- if (index < lastC.length - 1) {
- return v * 255;
- } else {
- return v;
- }
- })
- );
+ sIndex = i;
} else {
- _path = path.slice(sIndex, i + 1);
- _color = getHexColor(
- c.map((v, index) => {
- if (index < c.length - 1) {
- return v * 255;
- } else {
- return v;
- }
- })
- );
+ sIndex = i - 1;
}
// 鍒涘缓鎶樼嚎瀹炰緥
const polyline = newPolyline(_path, _color);
_polylineArr.push(polyline);
-
- sIndex = i;
}
}
- if (sIndex == 0) {
- const c = colors[sIndex];
+ if (sIndex < path.length - 1) {
+ const c = colors[path.length - 1];
+ const _path = path.slice(sIndex, path.length);
const _color = getHexColor(
c.map((v, index) => {
if (index < c.length - 1) {
@@ -83,7 +74,7 @@
}
})
);
- const polyline = newPolyline(path, _color);
+ const polyline = newPolyline(_path, _color);
_polylineArr.push(polyline);
}
// 灏嗘姌绾挎坊鍔犺嚦鍦板浘瀹炰緥
diff --git a/src/views/HomePage.vue b/src/views/HomePage.vue
index 6e0f275..0d22cf3 100644
--- a/src/views/HomePage.vue
+++ b/src/views/HomePage.vue
@@ -17,7 +17,47 @@
</template>
<script setup>
-import SatelliteTelemetry from '@/views/satellitetelemetry/SatelliteTelemetry.vue';
+import { map, onMapMounted } from '@/utils/map/index_old';
+
+let districtPolygon;
+// 缁樺埗鍖哄幙杈圭晫
+function drawDistrict(districtName, isNew) {
+ onMapMounted(() => {
+ if (districtPolygon && !isNew) {
+ map.remove(districtPolygon);
+ map.add(districtPolygon);
+ } else {
+ // eslint-disable-next-line no-undef
+ var district = new AMap.DistrictSearch({
+ extensions: 'all', //杩斿洖琛屾斂鍖鸿竟鐣屽潗鏍囩瓑鍏蜂綋淇℃伅
+ level: 'district' //璁剧疆鏌ヨ琛屾斂鍖虹骇鍒负鍖�
+ });
+ district.search(districtName, function (status, result) {
+ var bounds = result.districtList[0].boundaries; //鑾峰彇鏈濋槼鍖虹殑杈圭晫淇℃伅
+ if (bounds) {
+ for (var i = 0; i < bounds.length; i++) {
+ //鐢熸垚琛屾斂鍖哄垝 polygon
+ // eslint-disable-next-line no-undef
+ districtPolygon = new AMap.Polygon({
+ map: map, //鏄剧ず璇ヨ鐩栫墿鐨勫湴鍥惧璞�
+ strokeWeight: 1, //杞粨绾垮搴�
+ path: bounds[i], //澶氳竟褰㈣疆寤撶嚎鐨勮妭鐐瑰潗鏍囨暟缁�
+ fillOpacity: 0.6, //澶氳竟褰㈠~鍏呴�忔槑搴�
+ // fillColor: '#CCF3FF', //澶氳竟褰㈠~鍏呴鑹�
+ fillColor: '#0077ff',
+ // strokeColor: '#ffffff' //绾挎潯棰滆壊
+ strokeColor: 'white', //绾挎潯棰滆壊
+ zIndex: 9
+ });
+ }
+ map.setFitView(); //灏嗚鐩栫墿璋冩暣鍒板悎閫傝閲�
+ }
+ });
+ }
+ });
+}
+
+drawDistrict('闀垮畞鍖�');
</script>
<style scoped>
--
Gitblit v1.9.3