From ca4fb5cd88a6015e8dd323789ad495ed2ee59bf0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=B0=8F=E5=B0=8F?= <736883394@qq.com>
Date: Wed, 30 Apr 2025 15:19:20 +0800
Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=90=88=E5=B9=B6=E4=BB=A3?=
=?UTF-8?q?=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ebike-user/package-lock.json | 4 +-
ebike-user/pages.json | 7 +-
ebike-user/pages/map/map-findbike.vue | 99 -------
ebike-user/pages/map/map-location.vue | 5 +-
ebike-user/pages/user/home/home.vue | 2 +-
ebike-user/utils/map.js | 405 --------------------------
ebike-user/utils/usermap.js | 8 +-
7 files changed, 15 insertions(+), 515 deletions(-)
delete mode 100644 ebike-user/pages/map/map-findbike.vue
delete mode 100644 ebike-user/utils/map.js
diff --git a/ebike-user/package-lock.json b/ebike-user/package-lock.json
index 92ae901..a41b462 100644
--- a/ebike-user/package-lock.json
+++ b/ebike-user/package-lock.json
@@ -16,7 +16,9 @@
},
"node_modules/@dcloudio/uni-ui": {
"version": "1.5.7",
- "integrity": "sha512-DugxSIrQrze1FLdUOj9a+JEQ0bHGjnJTcGUK1mN/MivKg7nuKJBRWk5Ipa9sUdoBznX6ndz5h2e7Uao6x1CdCw=="
+ "resolved": "https://registry.npmjs.org/@dcloudio/uni-ui/-/uni-ui-1.5.7.tgz",
+ "integrity": "sha512-DugxSIrQrze1FLdUOj9a+JEQ0bHGjnJTcGUK1mN/MivKg7nuKJBRWk5Ipa9sUdoBznX6ndz5h2e7Uao6x1CdCw==",
+ "license": "Apache-2.0"
},
"node_modules/crypto-js": {
"version": "4.2.0",
diff --git a/ebike-user/pages.json b/ebike-user/pages.json
index fb4107a..cc9ad45 100644
--- a/ebike-user/pages.json
+++ b/ebike-user/pages.json
@@ -27,12 +27,7 @@
],
"subPackages": [{
"root": "pages/map",
- "pages": [{
- "path": "map-findbike",
- "style": {
- "navigationBarTitleText": "地图找车"
- }
- },
+ "pages": [
{
"path": "map-location",
"style": {
diff --git a/ebike-user/pages/map/map-findbike.vue b/ebike-user/pages/map/map-findbike.vue
deleted file mode 100644
index fe82405..0000000
--- a/ebike-user/pages/map/map-findbike.vue
+++ /dev/null
@@ -1,99 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ebike-user/pages/map/map-location.vue b/ebike-user/pages/map/map-location.vue
index 0a9748c..8db72ba 100644
--- a/ebike-user/pages/map/map-location.vue
+++ b/ebike-user/pages/map/map-location.vue
@@ -16,7 +16,7 @@
onMounted,
getCurrentInstance
} from "vue";
- import * as map from "@/utils/map.js";
+ import * as map from "@/utils/usermap.js";
import {
findIndex
} from "lodash";
@@ -55,7 +55,7 @@
}
const getLoalcationPoint = () => {
- map.getLoalcation(oMap, (res) => {
+ map.getLoalcation( (res) => {
const {
longitude: lng,
latitude: lat
@@ -63,6 +63,7 @@
latitude.value = lat;
longitude.value = lng;
changPoint(lng, lat);
+ oMap.moveToLocation();
});
}
diff --git a/ebike-user/pages/user/home/home.vue b/ebike-user/pages/user/home/home.vue
index daa81cd..f62fc43 100644
--- a/ebike-user/pages/user/home/home.vue
+++ b/ebike-user/pages/user/home/home.vue
@@ -193,7 +193,7 @@
latitude,
longitude
};
- oMap.moveToLocation({})
+ oMap.moveToLocation()
const params = {
latitude,
longitude,
diff --git a/ebike-user/utils/map.js b/ebike-user/utils/map.js
deleted file mode 100644
index 875aed0..0000000
--- a/ebike-user/utils/map.js
+++ /dev/null
@@ -1,405 +0,0 @@
-import {
- showModelMessage
-} from "./tools.js";
-import * as api from "./api.js";
-import config from "./config.js";
-
-const imgPath = config.imgPath;
-export const sdkKey = 'BECBZ-EJIEQ-LUU5N-B5ISQ-3TLMZ-BXFLG';
-
-export const getMap = (mapid, instance) => {
- return uni.createMapContext(mapid, {
- this: instance.proxy
- });
-}
-//获取当前定位
-export const getLoalcation = (oMap, success, fail,nomove) => {
- uni.getLocation({
- type: 'gcj02', // 返回可以用于 wx.openLocation 的经纬度
- geocode: true,
- success(res) {
- const {
- latitude,
- longitude
- } = res;
- if(!nomove){
- moveToLocation(oMap, longitude, latitude);
- }
- // if (markers) { //定位
- // const arrData = markers.value || [];
- // let index = arrData.findIndex((item) => {
- // return item.id == 0;
- // });
- // index = index == -1 ? arrData.length : index;
- // arrData[index] = addMarker(0, longitude, latitude, "dw.png");
- // markers.value = arrData;
- // }
- if (success) success({
- latitude,
- longitude
- });
- },
- fail(res) {
- if (fail) fail(res);
- }
- });
-}
-
-//逆解析地址
-export const reverseGeocoder = (qqmapsdk, longitude, latitude, success, fail) => {
- qqmapsdk.reverseGeocoder({
- location: {
- latitude: latitude,
- longitude: longitude
- },
- success: (res) => {
- if (success) success(res.result);
- },
- fail: (res) => {
- if (fail) success(fail);
- }
- })
-}
-
-//添加点
-export const addMarker = (id, longitude, latitude, icon) => {
- return {
- id: id,
- latitude,
- longitude,
- width: 40,
- height: 40,
- zIndex: "100",
- iconPath: imgPath + "static/map/" + icon
- }
-}
-
-//添加线
-export const addLine = (scolor, arrPoint) => {
- // let scolor = "";
- // switch (lx) {
- // case "add":
- // scolor = "#e50413";
- // break;
- // case "edit":
- // scolor = "#e58b04";
- // break;
- // default:
- // scolor = "#0473e5";
- // break
- // }
- return {
- points: arrPoint,
- color: scolor,
- width: 4
- }
-}
-
-//添加面
-export const addPolygon = (scolor, fcolor, arrPolygonsPoits) => {
- /* let scolor = "",
- fcolor = "";
- switch (lx) {
- case "add":
- scolor = "#e50413";
- fcolor = "#f79bac73";
- break;
- case "edit":
- scolor = "#e58b04";
- fcolor = "#e58b0440";
- break;
- default:
- scolor = "#0473e5";
- fcolor = "#0473e540";
- break
- } */
- return {
- points: arrPolygonsPoits,
- fillColor: fcolor,
- strokeWidth: 3,
- strokeColor: scolor,
- zIndex: 11
- }
-}
-
-//添加圆
-export const addCirle = (scolor, fcolor, longitude, latitude, radius) => {
- /* let scolor = "",
- fcolor = "";
- switch (lx) {
- case "add":
- scolor = "#e50413";
- fcolor = "#f79bac73";
- break;
- case "edit":
- scolor = "#e58b04";
- fcolor = "#e58b0440";
- break;
- default:
- scolor = "#0473e5";
- fcolor = "#0473e540";
- break
- } */
- return {
- latitude,
- longitude,
- radius,
- color: scolor,
- fillColor: fcolor,
- strokeWidth: 3
- }
-}
-
-//绘制多边形
-export const drawPolygons = (obj, e) => {
- /* const {
- detail: {
- latitude,
- longitude
- }
- } = e;
- let {
- markers,
- polylines,
- polygons,
- arrPolygonsPoits,
- datacicle,
- circles
- } = obj
- if (datacicle) { //移除圆
- obj.datacicle = null;
- obj.circles.splice(circles.length - 1, 1);
- }
- const len = arrPolygonsPoits.length;
- arrPolygonsPoits.push({
- latitude,
- longitude
- });
- switch (len) {
- case 0:
- const marker = addMarker("add", 10000, latitude, longitude);
- markers.push(marker);
- break;
- case 1:
- polylines.push(addLine("add", arrPolygonsPoits));
- break;
- case 2:
- obj.polylines = [];
- polygons.push(addPolygon("add", arrPolygonsPoits));
- break;
- default:
- polygons[polygons.length - 1] = addPolygon("add", arrPolygonsPoits);
- console.log("333333333333", JSON.stringify(arrPolygonsPoits));
- break;
- } */
-}
-
-//移至中心点
-export const moveToLocation = (oMap, longitude, latitude) => {
- const point = {
- latitude,
- longitude
- }
- oMap.moveToLocation(point);
-}
-
-//站点、停车区
-export const getRegionData = (arrRegionID, callback) => {
- if (!arrRegionID || arrRegionID.length == 0) return;
- const arrMethods = [];
- arrRegionID.map(regionId => {
- const params = {
- regionId
- };
- arrMethods.push(api.callOperateApi("ebikeRegion/getRegion", params, "get"));
- });
-
- Promise.all(arrMethods).then(res => {
- const arrCircles = [];
- const arrPolygons = [];
- const arrData = [];
- res.map(item => {
- const {
- code,
- message,
- data: arrRegion
- } = item;
- if (code != 200) return;
- arrRegion.map(data => {
- const {
- regionId,
- shapeType,
- radius,
- points
- } = data;
- arrData.push(data);
- const scolor = "#58d4c0";
- const fcolor = "#c1f5f1";
- if (shapeType == 1) {
- const {
- longitude: lng,
- latitude: lat
- } = points[0];
- arrCircles.push(addCirle(scolor, fcolor, lng, lat, radius));
- } else if (shapeType == 2) {
- const arrPoint = points.map(p => {
- return {
- longitude: p.longitude,
- latitude: p.latitude
- }
- })
- arrPolygons.push(addPolygon(scolor, fcolor, arrPoint));
- }
- })
- })
- if (callback) callback({
- arrData,
- arrCircles,
- arrPolygons
- });
- })
-}
-
-//获取车辆数据
-export const getBikeData = (arrRegionID, callback) => {
- if (!arrRegionID || arrRegionID.length == 0) return;
- const arrMethods = [];
- arrRegionID.map(regionId => {
- const params = {
- regionId
- };
- arrMethods.push(api.callOperateApi("ebikeRegion/getOperationBike", params, "get"));
- });
- Promise.all(arrMethods).then(arrRes => {
- const arrPoints = [];
- const arrData = [];
- let icnt = 0;
- let icnt_0 = 0;
- let icnt_2 = 0;
- arrRes.map(res => {
- const {
- code,
- message,
- data
- } = res;
- if (code != 200) {
- showModelMessage(message);
- } else {
- if (data.length > 0) arrData.push(...data);
- data.map(item => {
- const {
- bikeId,
- longitude,
- latitude,
- state,
- soc
- } = item;
- const id = arrPoints.length;
- if (soc <= 20) {
- icnt_0++;
- } else if (soc <= 60) {
- icnt_2++;
- } else {
- icnt++;
- }
- arrPoints.push(addMarker_Q(id, item));
- })
- }
- });
- callback({
- arrData,
- arrPoints,
- icnt,
- icnt_0,
- icnt_2
- });
- })
-}
-
-//电量车辆点
-export function addMarker_Q(id, data) {
- const {
- longitude,
- latitude,
- soc
- } = data;
- let icon = "bike.png";
- if (soc <= 20) {
- icon = "bike_0.png";
- } else if (soc <= 60) {
- icon = "bike_2.png";
- }
- return {
- id: id,
- latitude,
- longitude,
- width: 40,
- height: 40,
- zIndex: "100",
- iconPath: imgPath + "static/map/" + icon,
- label: {
- content: soc + "%",
- color: "#FFF",
- anchorY: -30,
- fontSize: 9,
- textAlign: "center",
- }
- }
-}
-
-
-//导航
-export function direction({
- qqmapsdk,
- slng,
- slat,
- elng,
- elat,
- success,
- fail
-}) {
- const options = {
- from: {
- longitude: slng,
- latitude: slat
- },
- to: {
- longitude: elng,
- latitude: elat
- },
- success: (res) => {
-
- console.log("111111111111111111",res)
- const {
- polyline,
- distance
- } = res.result.routes[0];
- let coors = polyline;
- for (let i = 2; i < coors.length; i++) {
- coors[i] = coors[i - 2] + coors[i] / 1000000
- }
- let arrPoint = [];
- for (let i = 0; i < coors.length; i += 2) {
- arrPoint.push({
- latitude: coors[i],
- longitude: coors[i + 1]
- })
- }
- const cnt = (distance / 1000).toFixed(2);
- let sdistance = distance + "m";
- if (cnt >= 1){
- sdistance = cnt + "km";
- }
- const data = {
- arrPoint,
- distance: sdistance
- }
-
- if (success) success(data);
- },
- fail: (res) => {
- fail(res);
- }
- }
- qqmapsdk.direction(options);
-}
\ No newline at end of file
diff --git a/ebike-user/utils/usermap.js b/ebike-user/utils/usermap.js
index 0ba3e84..3e6ed51 100644
--- a/ebike-user/utils/usermap.js
+++ b/ebike-user/utils/usermap.js
@@ -8,7 +8,13 @@ import {
const imgPath = config.imgPath;
-export const sdkKey = 'BECBZ-EJIEQ-LUU5N-B5ISQ-3TLMZ-BXFLG';
+export const sdkKey = '44FBZ-K4ZC3-NDE33-O6JAE-VN3GO-NDFRQ';
+
+export function getMap (mapid, instance) {
+ return uni.createMapContext(mapid, {
+ this: instance.proxy
+ });
+}
//获取当前定位
export function getLoalcation(success, fail) {