
<view class="carmap">
<map
id="myMap"
class="map"
latitude="{{latitude}}"
longitude="{{longitude}}"
markers="{{markers}}"
polyline="{{polyline}}"
scale="{{scale}}"
></map>
</view>
import {
isChenckRt,
getRt,
cfn152
} from "../../utils/requst/api.js";
Page({
data: {
polyline: [],
timer: "",
vehicleNo: "", //车牌号
refresh_token: "",
latitude: null,
longitude: null,
markers: [],
scale: 7
},
onLoad: function(options) {
var that = this
that.setData({
vehicleNo: decodeURIComponent(options.vehicleNo)
// vehicleNo:"苏JS6126"
});
if (that.data.vehicleNo == '' || that.data.vehicleNo == 'undefined' || that.data.vehicleNo == undefined) {
that.setData({
latitude: 31.369014,
longitude: 121.583243,
markers: [],
vehicleNo: ''
})
wx.showModal({
content: '车牌号为空!',
showCancel: false,
//点击确定
success: function(res) {
wx.navigateBack({
delta: 1
})
}
})
} else {
that.setData({
latitude: 31.369014,
longitude: 121.583243,
markers: []
})
that.getMap();
}
},
onShow: function() {
},
onReady: function() {
},
getMap() {
var that = this
var refresh_token = wx.getStorageSync('token')
that.setData({
refresh_token: refresh_token
})
let parmas = {
refreshToken: that.data.refresh_token,
vehicleNo: that.data.vehicleNo
}
cfn152(parmas).then(function(res) {
if (res.data.meta.code == 200) {
if (res.data.data) {
if (res.data.data.markers.length != 0) {
delete res.data.data.markers[1].callout;
let start_longitude = parseInt(res.data.data.markers[0].longitude);
let end_longitude = parseInt(res.data.data.markers[1].longitude);
let start_latitude = parseInt(res.data.data.markers[0].latitude);
let end_latitude = parseInt(res.data.data.markers[1].latitude);
if ((end_latitude - start_latitude > 1) || (end_longitude - start_longitude > 1)) {
that.scale = 7;
} else {
that.scale = 12;
}
} else {
wx.showModal({
content: '暂无24小时轨迹数据!',
showCancel: false,
//点击确定
success: function(res) {
wx.navigateBack({
delta: 1
})
}
})
}
that.setData({
latitude: res.data.data.markers[0].latitude,
longitude: res.data.data.markers[0].longitude,
markers: res.data.data.markers,
polyline: res.data.data.polyline
});
setTimeout(() => {
that.MapContext = wx.createMapContext('myMap', that);
that.MapContext.moveAlong({
markerId: 3,
path: that.data.polyline[0].points,
autoRotate: true,
duration: 20000,
})
}, 500)
} else {
that.setData({
latitude: 31.369014,
longitude: 121.583243,
markers: []
})
}
} else {
that.setData({
latitude: 31.369014,
longitude: 121.583243,
markers: []
})
}
})
},
})