|
|
// pages/navigation/navigation.js
|
|
|
const appData = getApp().globalData;
|
|
|
|
|
|
Page({
|
|
|
|
|
|
/**
|
|
|
* 页面的初始数据
|
|
|
*/
|
|
|
data: {
|
|
|
startPointBean:true,
|
|
|
endPointBean:false,
|
|
|
hasanimate:'',
|
|
|
toolData: ["驾车", "公交", "步行", "骑行",],
|
|
|
_num:0,
|
|
|
changeData:'',
|
|
|
hasHistory:true,
|
|
|
historyRoute:'',
|
|
|
homePart:'',
|
|
|
companyPart:'',
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 生命周期函数--监听页面加载
|
|
|
*/
|
|
|
onLoad: function (options) {
|
|
|
|
|
|
this.setData({
|
|
|
changeData:options,
|
|
|
homePart: appData.homePart,
|
|
|
companyPart: appData.companyPart
|
|
|
})
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
|
*/
|
|
|
chooseStartPoint:function(){
|
|
|
|
|
|
var that = this
|
|
|
wx.chooseLocation({
|
|
|
type: 'gcj02', // 返回可以用于wx.openLocation的经纬度
|
|
|
success(res) {
|
|
|
|
|
|
if (res.name != '') {
|
|
|
if (that.data.endPointBean) {
|
|
|
wx.navigateTo({
|
|
|
url: "../route/route?startName=" + res.name + "&startPoint=" + res.longitude + ',' + res.latitude + "&endName=" + that.data.changeData.endName + "&endPoint=" + that.data.changeData.endPoint + "&ways=" + that.data._num
|
|
|
})
|
|
|
|
|
|
that.setData({
|
|
|
changeData: {
|
|
|
startName: res.name,
|
|
|
startPoint: res.longitude + ',' + res.latitude,
|
|
|
endName: that.data.changeData.endName,
|
|
|
endPoint: that.data.changeData.endPoint
|
|
|
},
|
|
|
startPointBean:true
|
|
|
})
|
|
|
|
|
|
that.storageHistory();
|
|
|
|
|
|
|
|
|
} else {
|
|
|
that.setData({
|
|
|
changeData: {
|
|
|
startName: res.name,
|
|
|
startPoint: res.longitude + ',' + res.latitude,
|
|
|
|
|
|
},
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
} else {
|
|
|
wx.showToast({
|
|
|
title: '请选择正确的地址',
|
|
|
icon: 'none',
|
|
|
duration: 1500
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
})
|
|
|
|
|
|
},
|
|
|
changePoint:function(){
|
|
|
|
|
|
this.setData({
|
|
|
|
|
|
hasanimate:'animate'
|
|
|
|
|
|
})
|
|
|
var that = this
|
|
|
setTimeout(function(){
|
|
|
that.setData({
|
|
|
|
|
|
hasanimate: ''
|
|
|
|
|
|
})
|
|
|
|
|
|
},300)
|
|
|
|
|
|
if (this.data.endPointBean && this.data.startPointBean) {
|
|
|
this.setData({
|
|
|
changeData: {
|
|
|
startName: this.data.changeData.endName,
|
|
|
startPoint: this.data.changeData.endPoint,
|
|
|
endName: this.data.changeData.startName,
|
|
|
endPoint: this.data.changeData.startPoint,
|
|
|
},
|
|
|
|
|
|
})
|
|
|
|
|
|
} else if (this.data.startPointBean){
|
|
|
this.setData({
|
|
|
changeData: {
|
|
|
startName: '输入起点',
|
|
|
startPoint: '',
|
|
|
endName: this.data.changeData.startName,
|
|
|
endPoint: this.data.changeData.startPoint,
|
|
|
},
|
|
|
endPointBean: true,
|
|
|
startPointBean: false
|
|
|
})
|
|
|
|
|
|
} else if (this.data.endPointBean){
|
|
|
this.setData({
|
|
|
changeData: {
|
|
|
startName: this.data.changeData.endName,
|
|
|
startPoint: this.data.changeData.endPoint,
|
|
|
endName: '输入终点',
|
|
|
endPoint: "",
|
|
|
},
|
|
|
startPointBean: true,
|
|
|
endPointBean: false
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
},
|
|
|
changetool:function(e){
|
|
|
|
|
|
this.setData({
|
|
|
_num: e.target.dataset.num
|
|
|
})
|
|
|
|
|
|
},
|
|
|
chooseEndPoint:function(){
|
|
|
var that = this
|
|
|
wx.chooseLocation({
|
|
|
type: 'gcj02', // 返回可以用于wx.openLocation的经纬度
|
|
|
success(res) {
|
|
|
|
|
|
if (res.name != '') {
|
|
|
|
|
|
if (that.data.startPointBean){
|
|
|
wx.navigateTo({
|
|
|
url: "../route/route?startName=" + that.data.changeData.startName + "&startPoint=" + that.data.changeData.startPoint + "&endName=" + res.name + "&endPoint=" + res.longitude + ',' + res.latitude + "&ways=" + that.data._num
|
|
|
})
|
|
|
|
|
|
that.setData({
|
|
|
changeData: {
|
|
|
startName: that.data.changeData.startName,
|
|
|
startPoint: that.data.changeData.startPoint,
|
|
|
endName: res.name,
|
|
|
endPoint: res.longitude + ',' + res.latitude,
|
|
|
},
|
|
|
endPointBean: true
|
|
|
|
|
|
})
|
|
|
|
|
|
that.storageHistory();
|
|
|
|
|
|
|
|
|
}else{
|
|
|
that.setData({
|
|
|
changeData: {
|
|
|
endName: res.name,
|
|
|
endPoint: res.longitude + ',' + res.latitude,
|
|
|
|
|
|
},
|
|
|
})
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
wx.showToast({
|
|
|
title: '请选择正确的地址',
|
|
|
icon: 'none',
|
|
|
duration: 1500
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
})
|
|
|
|
|
|
},
|
|
|
goTo:function(){
|
|
|
|
|
|
if (this.data.endPointBean && this.data.startPointBean){
|
|
|
wx.navigateTo({
|
|
|
url: "../route/route?startName=" + this.data.changeData.startName + "&startPoint=" + this.data.changeData.startPoint + "&endName=" + this.data.changeData.endName + "&endPoint=" + this.data.changeData.endPoint + "&ways=" + this.data._num,
|
|
|
})
|
|
|
|
|
|
this.storageHistory();
|
|
|
|
|
|
}else{
|
|
|
|
|
|
if (this.data.startPointBean == false){
|
|
|
wx.showToast({
|
|
|
title: '请输入起点',
|
|
|
icon: 'none',
|
|
|
duration: 1500
|
|
|
})
|
|
|
|
|
|
}
|
|
|
if (this.data.endPointBean == false) {
|
|
|
wx.showToast({
|
|
|
title: '请输入终点',
|
|
|
icon: 'none',
|
|
|
duration: 1500
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
},
|
|
|
emptyHistory: function () {
|
|
|
var that = this
|
|
|
wx.showModal({
|
|
|
title: '提示',
|
|
|
content: '是否清空历史纪录',
|
|
|
success(res) {
|
|
|
if (res.confirm) {
|
|
|
that.setData({
|
|
|
historyRoute: '',
|
|
|
hasHistory: false
|
|
|
})
|
|
|
appData.historyRoute = [];
|
|
|
} else if (res.cancel) {
|
|
|
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
setupHome:function(){
|
|
|
var that = this
|
|
|
if (this.data.homePart.homeText == "设置一个地址"){
|
|
|
wx.chooseLocation({
|
|
|
type: 'gcj02', // 返回可以用于wx.openLocation的经纬度
|
|
|
success(res) {
|
|
|
|
|
|
if (res.name != '') {
|
|
|
|
|
|
appData.homePart.homeText = res.name
|
|
|
appData.homePart.homePoint = res.longitude + ',' + res.latitude
|
|
|
|
|
|
|
|
|
} else {
|
|
|
wx.showToast({
|
|
|
title: '请选择正确的地址',
|
|
|
icon: 'none',
|
|
|
duration: 1500
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
})
|
|
|
|
|
|
}else{
|
|
|
|
|
|
wx.showActionSheet({
|
|
|
itemList: ['从这出发', '到这里去', '删除'],
|
|
|
success(res) {
|
|
|
switch (res.tapIndex) {
|
|
|
case 0:
|
|
|
|
|
|
if ( that.data.changeData.endPoint == undefined ){
|
|
|
that.setData({
|
|
|
changeData:{
|
|
|
startName: that.data.homePart.homeText,
|
|
|
startPoint: that.data.homePart.homePoint
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
}else{
|
|
|
wx.navigateTo({
|
|
|
url: "../route/route?startName=" + that.data.homePart.homeText + "&startPoint=" + that.data.homePart.homePoint + "&endName=" + that.data.changeData.endName + "&endPoint=" + that.data.changeData.endPoint + "&ways=" + that.data._num,
|
|
|
})
|
|
|
|
|
|
that.setData({
|
|
|
changeData: {
|
|
|
startName: that.data.homePart.homeText,
|
|
|
startPoint: that.data.homePart.homePoint,
|
|
|
endName: that.data.changeData.endName,
|
|
|
endPoint: that.data.changeData.endPoint
|
|
|
},
|
|
|
startPointBean: true
|
|
|
})
|
|
|
|
|
|
that.storageHistory();
|
|
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
case 1:
|
|
|
|
|
|
if ( that.data.changeData.startPoint == undefined ) {
|
|
|
that.setData({
|
|
|
changeData: {
|
|
|
endName: that.data.homePart.homeText,
|
|
|
endPoint: that.data.homePart.homePoint,
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
} else {
|
|
|
|
|
|
wx.navigateTo({
|
|
|
url: "../route/route?startName=" + that.data.changeData.startName + "&startPoint=" + that.data.changeData.startPoint + "&endName=" + that.data.homePart.homeText + "&endPoint=" + that.data.homePart.homePoint + "&ways=" + that.data._num,
|
|
|
})
|
|
|
|
|
|
that.setData({
|
|
|
|
|
|
changeData: {
|
|
|
startName: that.data.changeData.startName,
|
|
|
startPoint: that.data.changeData.startPoint,
|
|
|
endName: that.data.homePart.homeText,
|
|
|
endPoint: that.data.homePart.homePoint
|
|
|
},
|
|
|
endPointBean: true
|
|
|
|
|
|
})
|
|
|
|
|
|
that.storageHistory();
|
|
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
case 2:
|
|
|
|
|
|
that.setData({
|
|
|
homePart:{
|
|
|
homeText: "设置一个地址",
|
|
|
homePoint: ""
|
|
|
}
|
|
|
|
|
|
})
|
|
|
appData.homePart.homeText = "设置一个地址";
|
|
|
appData.homePart.homePoint = "";
|
|
|
|
|
|
}
|
|
|
},
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
setupCompany: function () {
|
|
|
var that = this
|
|
|
if (this.data.companyPart.companyText == "设置一个地址") {
|
|
|
wx.chooseLocation({
|
|
|
type: 'gcj02', // 返回可以用于wx.openLocation的经纬度
|
|
|
success(res) {
|
|
|
|
|
|
if (res.name != '') {
|
|
|
|
|
|
appData.companyPart.companyText = res.name
|
|
|
appData.companyPart.companyPoint = res.longitude + ',' + res.latitude
|
|
|
|
|
|
|
|
|
} else {
|
|
|
wx.showToast({
|
|
|
title: '请选择正确的地址',
|
|
|
icon: 'none',
|
|
|
duration: 1500
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
})
|
|
|
|
|
|
} else {
|
|
|
|
|
|
wx.showActionSheet({
|
|
|
itemList: ['从这出发', '到这里去', '删除'],
|
|
|
success(res) {
|
|
|
switch (res.tapIndex) {
|
|
|
case 0:
|
|
|
|
|
|
if (that.data.changeData.endPoint == undefined) {
|
|
|
that.setData({
|
|
|
changeData: {
|
|
|
startName: that.data.companyPart.companyText,
|
|
|
startPoint: that.data.companyPart.companyPoint
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
} else {
|
|
|
wx.navigateTo({
|
|
|
url: "../route/route?startName=" + that.data.homePart.homeText + "&startPoint=" + that.data.companyPart.companyPoint + "&endName=" + that.data.changeData.endName + "&endPoint=" + that.data.changeData.endPoint + "&ways=" + that.data._num,
|
|
|
})
|
|
|
|
|
|
that.setData({
|
|
|
changeData: {
|
|
|
startName: that.data.companyPart.companyText,
|
|
|
startPoint: that.data.companyPart.companyPoint,
|
|
|
endName: that.data.changeData.endName,
|
|
|
endPoint: that.data.changeData.endPoint
|
|
|
},
|
|
|
startPointBean: true
|
|
|
})
|
|
|
|
|
|
that.storageHistory();
|
|
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
case 1:
|
|
|
|
|
|
if (that.data.changeData.startPoint == undefined) {
|
|
|
that.setData({
|
|
|
changeData: {
|
|
|
endName: that.data.companyPart.companyText,
|
|
|
endPoint: that.data.companyPart.companyPoint,
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
} else {
|
|
|
|
|
|
wx.navigateTo({
|
|
|
url: "../route/route?startName=" + that.data.changeData.startName + "&startPoint=" + that.data.changeData.startPoint + "&endName=" + that.data.companyPart.companyText + "&endPoint=" + that.data.companyPart.companyPoint + "&ways=" + that.data._num,
|
|
|
})
|
|
|
|
|
|
that.setData({
|
|
|
|
|
|
changeData: {
|
|
|
startName: that.data.changeData.startName,
|
|
|
startPoint: that.data.changeData.startPoint,
|
|
|
endName: that.data.companyPart.companyText,
|
|
|
endPoint: that.data.companyPart.companyPoint
|
|
|
},
|
|
|
endPointBean: true
|
|
|
|
|
|
})
|
|
|
|
|
|
that.storageHistory();
|
|
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
case 2:
|
|
|
|
|
|
that.setData({
|
|
|
companyPart: {
|
|
|
companyText: "设置一个地址",
|
|
|
companyPoint: ""
|
|
|
}
|
|
|
|
|
|
})
|
|
|
appData.companyPart.companyText = "设置一个地址";
|
|
|
appData.companyPart.companyPoint = "";
|
|
|
|
|
|
}
|
|
|
},
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
storageHistory:function(){
|
|
|
//历史纪录
|
|
|
if (appData.historyRoute != '') {
|
|
|
var bean = true;
|
|
|
|
|
|
for (var i = 0; i < appData.historyRoute.length; i++) {
|
|
|
|
|
|
if (appData.historyRoute[i].startPoint == this.data.changeData.startPoint && appData.historyRoute[i].endPoint == this.data.changeData.endPoint && appData.historyRoute[i].ways == this.data._num){
|
|
|
bean = false
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
if(bean){
|
|
|
appData.historyRoute.unshift({
|
|
|
startName: this.data.changeData.startName,
|
|
|
startPoint: this.data.changeData.startPoint,
|
|
|
endName: this.data.changeData.endName,
|
|
|
endPoint: this.data.changeData.endPoint,
|
|
|
ways: this.data._num
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
} else {
|
|
|
appData.historyRoute.unshift({
|
|
|
startName: this.data.changeData.startName,
|
|
|
startPoint: this.data.changeData.startPoint,
|
|
|
endName: this.data.changeData.endName,
|
|
|
endPoint: this.data.changeData.endPoint,
|
|
|
ways: this.data._num
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
},
|
|
|
onReady: function () {
|
|
|
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 生命周期函数--监听页面显示
|
|
|
*/
|
|
|
onShow: function () {
|
|
|
if (appData.historyRoute != '') {
|
|
|
this.setData({
|
|
|
hasHistory: true,
|
|
|
|
|
|
})
|
|
|
|
|
|
} else {
|
|
|
this.setData({
|
|
|
hasHistory: false,
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
this.setData({
|
|
|
|
|
|
historyRoute: appData.historyRoute,
|
|
|
homePart: appData.homePart,
|
|
|
companyPart: appData.companyPart
|
|
|
})
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 生命周期函数--监听页面隐藏
|
|
|
*/
|
|
|
onHide: function () {
|
|
|
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 生命周期函数--监听页面卸载
|
|
|
*/
|
|
|
onUnload: function () {
|
|
|
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|
|
*/
|
|
|
onPullDownRefresh: function () {
|
|
|
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 页面上拉触底事件的处理函数
|
|
|
*/
|
|
|
onReachBottom: function () {
|
|
|
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 用户点击右上角分享
|
|
|
*/
|
|
|
onShareAppMessage: function () {
|
|
|
return {
|
|
|
title: '导航lite,地图导航、路线导航、公交地铁换乘方案',
|
|
|
path: '/pages/index/index',
|
|
|
success: function (res) {
|
|
|
// 转发成功
|
|
|
wx.showToast({
|
|
|
title: '分享成功',
|
|
|
icon: 'success',
|
|
|
duration: 1000
|
|
|
})
|
|
|
},
|
|
|
fail: function (res) {
|
|
|
// 转发失败
|
|
|
wx.showToast({
|
|
|
title: '分享取消',
|
|
|
icon: 'success',
|
|
|
duration: 1000
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}) |