|
@@ -1,6 +1,6 @@
|
|
|
<template>
|
|
|
<view class="service-main">
|
|
|
- <!-- <map @markertap='markertapFn' class="my_app" id="myMap" :longitude="myLocation.longitude"
|
|
|
+ <map @markertap='markertapFn' class="my_app" id="myMap" :longitude="myLocation.longitude"
|
|
|
:latitude="myLocation.latitude" :scale="18" show-location enable-3D show-compass enable-overlooking
|
|
|
:enable-satellite="false" :markers="markers" :polyline="polylines" :enable-traffic="false"
|
|
|
style="width: 100%; height: calc(50vh - 0rpx)">
|
|
@@ -9,12 +9,7 @@
|
|
|
{{ item.available_cnt }}
|
|
|
</cover-view>
|
|
|
</block>
|
|
|
- </map> -->
|
|
|
- <view id="container">
|
|
|
- <view style="width: 100%; height: calc(50vh - 0rpx)" id="mapModule" :prop="nearShopList"
|
|
|
- :change:prop="mapModule.update" :lngLat="renderLngLat" :change:lngLat="mapModule.initAmap"
|
|
|
- :curLngLat="curLngLat" :change:curLngLat="mapModule.loadPanTo"></view>
|
|
|
- </view>
|
|
|
+ </map>
|
|
|
<!-- 地图控件 -->
|
|
|
<cover-view :class="[
|
|
|
'control-icon-view',
|
|
@@ -84,23 +79,15 @@
|
|
|
import {
|
|
|
LEASE_TYPE_ARR
|
|
|
} from '@/common/constant.js'
|
|
|
-
|
|
|
- var transform = require('../../common/transform.js');
|
|
|
- var meMarker = []
|
|
|
- var polylinePath = null
|
|
|
-
|
|
|
const SHOPSELECTIMG = `https://qiniu.bms16.com/FkS7hjd6tl6ydLIi9-SQI0vGboMW`
|
|
|
const CABINET_ICON_URL =
|
|
|
"https://zxappfile.bms16.com/zx_client/shop_mark.png";
|
|
|
-
|
|
|
+
|
|
|
const CABINET_ICON_URLS =
|
|
|
- "https://qiniu.bms16.com/FmYKRICv7sPvsFuFB3wo9MIkpd0-";
|
|
|
+ "https://qiniu.bms16.com/FmYKRICv7sPvsFuFB3wo9MIkpd0-";
|
|
|
export default {
|
|
|
data() {
|
|
|
return {
|
|
|
- curLngLat: {},
|
|
|
- map:{},
|
|
|
- nearShopList: [],
|
|
|
activeMarkersId: 0,
|
|
|
myLocation: {
|
|
|
latitude: 23.099994,
|
|
@@ -152,136 +139,6 @@
|
|
|
},
|
|
|
|
|
|
methods: {
|
|
|
- moveToLocation: function() {
|
|
|
- const that = this;
|
|
|
- uni.getLocation({
|
|
|
- // type: 'gcj02',
|
|
|
- success: function(res) {
|
|
|
- that.setData({
|
|
|
- myLocation: {
|
|
|
- longitude: res.longitude,
|
|
|
- latitude: res.latitude
|
|
|
- },
|
|
|
- centerLocation: {
|
|
|
- longitude: res.longitude,
|
|
|
- latitude: res.latitude
|
|
|
- },
|
|
|
- curLngLat: {
|
|
|
- time: new Date().valueOf(),
|
|
|
- longitude: res.longitude,
|
|
|
- latitude: res.latitude
|
|
|
- }
|
|
|
- });
|
|
|
- storage.setUserCurrentLocation(that.myLocation);
|
|
|
- that.mapCtx.moveToLocation();
|
|
|
- that.setData({
|
|
|
- showShopInfo: false,
|
|
|
- isIcShow: false,
|
|
|
- scale: 14
|
|
|
- });
|
|
|
- },
|
|
|
- fail: function(res) {
|
|
|
- console.log(res)
|
|
|
- common.simpleToast(JSON.stringify(res));
|
|
|
- // common.simpleToast(that.$t('获取地址失败,请授权重新打开'));
|
|
|
- },
|
|
|
- complete: function(res) {}
|
|
|
- });
|
|
|
- },
|
|
|
-
|
|
|
- initAmap(lngLat, _, ownerInstance) {
|
|
|
- console.log('谷歌跑通')
|
|
|
- lngLat = {
|
|
|
- lat: lngLat.latitude,
|
|
|
- lng: lngLat.longitude
|
|
|
- }
|
|
|
- lngLat = transform.wgs_gcj_encrypts(lngLat)
|
|
|
- // lngLat = transform.gcj_wgs_encrypts(lngLat)
|
|
|
- // console.log(lngLat, "坐标系lngLat")
|
|
|
- let _this = this
|
|
|
- const script = document.createElement('script')
|
|
|
- script.src =
|
|
|
- 'https://map.gpsall.cc/maps/api/js?key=AIzaSyA70JUgslynjmVv0NPz3hcvkTbPZpr2i_c&callback=initMap&libraries=&v=weekly'
|
|
|
- window.initMap = function() {
|
|
|
- setTimeout(() => {
|
|
|
- _this.loadAmap(lngLat)
|
|
|
- }, 1500);
|
|
|
- };
|
|
|
- document.head.appendChild(script)
|
|
|
- },
|
|
|
- loadAmap(lngLat) {
|
|
|
- let _this = this
|
|
|
- var myOptions = {
|
|
|
- center: {
|
|
|
- lat: parseFloat(lngLat.latitude),
|
|
|
- lng: parseFloat(lngLat.longitude)
|
|
|
- },
|
|
|
- zoom: 16,
|
|
|
- panControl: false,
|
|
|
- zoomControl: false,
|
|
|
- scaleControl: false,
|
|
|
- streetViewControl: false
|
|
|
- }
|
|
|
- _this.map = new google.maps.Map(document.getElementById("mapModule"), myOptions);
|
|
|
- // const marker = new google.maps.Marker({
|
|
|
- // position: {
|
|
|
- // lat: parseFloat(lngLat.latitude),
|
|
|
- // lng: parseFloat(lngLat.longitude)
|
|
|
- // },
|
|
|
- // icon: {
|
|
|
- // url: "https://zxappfile.bms16.com/zx_client/red.png",
|
|
|
- // scaledSize: new google.maps.Size(10, 10)
|
|
|
- // },
|
|
|
- // map: _this.map
|
|
|
- // });
|
|
|
- //地图绑定事件
|
|
|
- new google.maps.event.addListener(_this.map, "click", function(event) {
|
|
|
- _this.$ownerInstance.callMethod('bindTapMap')
|
|
|
- });
|
|
|
- console.log("render初始化数据")
|
|
|
- _this.$ownerInstance.callMethod('loadInitData')
|
|
|
- },
|
|
|
- loadPanTo(lngLat, _, ownerInstance) {
|
|
|
- lngLat = {
|
|
|
- lat: lngLat.latitude,
|
|
|
- lng: lngLat.longitude
|
|
|
- }
|
|
|
- console.log("lngLat", lngLat)
|
|
|
- lngLat = transform.wgs_gcj_encrypts(lngLat)
|
|
|
- console.log("lngLat", lngLat)
|
|
|
-
|
|
|
- this.map.panTo(new google.maps.LatLng(lngLat.latitude, lngLat.longitude))
|
|
|
- },
|
|
|
- update(newValue, _, ownerInstance) {
|
|
|
- // console.log("newValue新数据")
|
|
|
- // console.log(newValue)
|
|
|
- // const _this = this
|
|
|
- // _this.nearShopList = newValue
|
|
|
- // for (var i = 0; _this.markersArray.length > i; i++) {
|
|
|
- // _this.markersArray[i].setMap(null);
|
|
|
- // }
|
|
|
- // for (var i = 0; _this.nearShopList.length > i; i++) {
|
|
|
- // var nearShop = _this.nearShopList[i]
|
|
|
- // const marker = new google.maps.Marker({
|
|
|
- // id: nearShop.id,
|
|
|
- // map: _this.map,
|
|
|
- // data: nearShop,
|
|
|
- // title: "",
|
|
|
- // position:new google.maps.LatLng( parseFloat(nearShop.latitude), parseFloat(nearShop.longitude)),
|
|
|
- // icon: {
|
|
|
- // url: nearShop.iconPath,
|
|
|
- // size: new google.maps.Size(30, 32),
|
|
|
- // scaledSize: new google.maps.Size(30, 32)
|
|
|
- // },
|
|
|
- // zIndex: 20
|
|
|
- // });
|
|
|
- // _this.markersArray.push(marker)
|
|
|
- // google.maps.event.addListener(marker, 'click', (event) => {
|
|
|
- // console.log(JSON.stringify(marker.data))
|
|
|
- // _this.loadMarkertap(ownerInstance, marker.data)
|
|
|
- // })
|
|
|
- // }
|
|
|
- },
|
|
|
markertapFn(e) {
|
|
|
let markerId = e.markerId
|
|
|
if (markerId == 5000) return
|
|
@@ -309,23 +166,24 @@
|
|
|
item.label = {}
|
|
|
}
|
|
|
})
|
|
|
- }else if(this.selectType == 'cabinet'){
|
|
|
-
|
|
|
+ } else if (this.selectType == 'cabinet') {
|
|
|
+
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
async locationFn() {
|
|
|
- let res = await uni.getLocation()
|
|
|
- if (res[1]) {
|
|
|
- this.myLocation = {
|
|
|
- latitude: res[1].latitude,
|
|
|
- longitude: res[1].longitude,
|
|
|
+ let _this = this
|
|
|
+ uni.getLocation({
|
|
|
+ success(res) {
|
|
|
+ _this.myLocation = {
|
|
|
+ latitude: res.latitude,
|
|
|
+ longitude: res.longitude,
|
|
|
+ }
|
|
|
+ _this.loadCarRentalList();
|
|
|
}
|
|
|
- this.loadCarRentalList();
|
|
|
-
|
|
|
- }
|
|
|
+ })
|
|
|
},
|
|
|
|
|
|
tapSelectType(e) {
|
|
@@ -411,10 +269,12 @@
|
|
|
};
|
|
|
const me = this;
|
|
|
var nearCabinetList = [];
|
|
|
- let {data} = await http_gyq.postApi(config_gyq.API_FLK_CABINET_NEAR_LIST,pData)
|
|
|
+ let {
|
|
|
+ data
|
|
|
+ } = await http_gyq.postApi(config_gyq.API_FLK_CABINET_NEAR_LIST, pData)
|
|
|
if (data.code === 200) {
|
|
|
nearCabinetList = data.data.cabinetList || [];
|
|
|
- this.markers = nearCabinetList.map(item=>{
|
|
|
+ this.markers = nearCabinetList.map(item => {
|
|
|
return {
|
|
|
width: 50,
|
|
|
height: 52,
|
|
@@ -422,15 +282,15 @@
|
|
|
longitude: item.longitude,
|
|
|
latitude: item.latitude,
|
|
|
iconPath: CABINET_ICON_URLS,
|
|
|
- label:{
|
|
|
- content:"21",
|
|
|
- color:"#0074FF",
|
|
|
- fontSize:10,
|
|
|
- bgColor:"#fff",
|
|
|
- borderRadius:1000,
|
|
|
- padding:3,
|
|
|
- anchorX:0,
|
|
|
- anchorY:-50
|
|
|
+ label: {
|
|
|
+ content: "21",
|
|
|
+ color: "#0074FF",
|
|
|
+ fontSize: 10,
|
|
|
+ bgColor: "#fff",
|
|
|
+ borderRadius: 1000,
|
|
|
+ padding: 3,
|
|
|
+ anchorX: 0,
|
|
|
+ anchorY: -50
|
|
|
}
|
|
|
}
|
|
|
})
|
|
@@ -438,7 +298,7 @@
|
|
|
me.setData({
|
|
|
nearCabinetList: nearCabinetList,
|
|
|
});
|
|
|
-
|
|
|
+
|
|
|
} else {
|
|
|
common.simpleToast(data.msg);
|
|
|
}
|