Commit e0cd7a51 by Alen Jose

july20

parent 082174de
...@@ -214,12 +214,12 @@ export class MyApp { ...@@ -214,12 +214,12 @@ export class MyApp {
} }
liveLoc(){ liveLoc(){
this.locSubs = this.geolocation.watchPosition().filter((p) => p.coords !== undefined) //Filter Out Errors // this.locSubs = this.geolocation.watchPosition().filter((p) => p.coords !== undefined) //Filter Out Errors
.subscribe(position => { // .subscribe(position => {
firebase.database().ref("drivers/" + this.pushId + "/").update({ lat: Number(position.coords.latitude), lng: Number(position.coords.longitude) }) // firebase.database().ref("drivers/" + this.pushId + "/").update({ lat: Number(position.coords.latitude), lng: Number(position.coords.longitude) })
// firebase.database().ref("drivers/" + this.pushId + "/").update({ firebase.database().ref("drivers/" + this.pushId + "/").update({
// lat: 10.014907, lng: 76.363020}) lat: 10.014638, lng: 76.364054})
}) // })
} }
} }
...@@ -49,8 +49,9 @@ tab_swap(type) { ...@@ -49,8 +49,9 @@ tab_swap(type) {
} }
rideDetails(data){ rideDetails(data){
this.data.setrideData(data) // this.data.setrideData(data)
this.navCtrl.push('RidedetailsPage') // this.navCtrl.push('RidedetailsPage')
// this.navCtrl.setRoot('QuickridePage', { id: '38'}) // this.navCtrl.setRoot('QuickridePage', { id: '38'})
this.events.publish('driver:locOn','')
} }
} }
...@@ -29,7 +29,11 @@ export class UserlocationPage { ...@@ -29,7 +29,11 @@ export class UserlocationPage {
started: boolean = false; started: boolean = false;
myloc = [] myloc = []
waypoints = [] waypoints = []
ride:any; ride: any;
markers: any;
lastPos: any;
count: number = 0;
tempPos: any;
constructor(public navCtrl: NavController, public navParams: NavParams, private geolocation: Geolocation, private db: AngularFireDatabase, private storage: Storage, private myservice: Myservice, private menu: MenuController, private data: dataService, public events: Events) { constructor(public navCtrl: NavController, public navParams: NavParams, private geolocation: Geolocation, private db: AngularFireDatabase, private storage: Storage, private myservice: Myservice, private menu: MenuController, private data: dataService, public events: Events) {
this.loadMap() this.loadMap()
...@@ -61,7 +65,7 @@ export class UserlocationPage { ...@@ -61,7 +65,7 @@ export class UserlocationPage {
This.gotoDirection(pick, This.myloc) This.gotoDirection(pick, This.myloc)
else { else {
This.gotoDirection(drop, This.myloc) This.gotoDirection(drop, This.myloc)
This.waypoints.push({ location: new google.maps.LatLng(position.coords.latitude, position.coords.longitude)}) This.waypoints.push({ location: new google.maps.LatLng(position.coords.latitude, position.coords.longitude) })
} }
}) })
} }
...@@ -90,7 +94,15 @@ export class UserlocationPage { ...@@ -90,7 +94,15 @@ export class UserlocationPage {
} }
gotoDirection(dest, myloc) { gotoDirection(dest, myloc) {
console.log('gtd')
if (this.count == 0)
this.lastPos = myloc //initially last and curnt postn is same
else if (this.count > 1) {//count == 1 means last postn is same as initial postn so dont want to check
this.lastPos = this.tempPos
}
this.tempPos = [myloc[0], myloc[1]]
var This = this; var This = this;
var directionsService = new google.maps.DirectionsService; var directionsService = new google.maps.DirectionsService;
...@@ -101,18 +113,32 @@ export class UserlocationPage { ...@@ -101,18 +113,32 @@ export class UserlocationPage {
var driverLoc = new google.maps.LatLng(Number(myloc[0]), Number(myloc[1])); var driverLoc = new google.maps.LatLng(Number(myloc[0]), Number(myloc[1]));
var dimage = { var dimage = {
url: 'assets/img/map_label.png', path: "M17.402,0H5.643C2.526,0,0,3.467,0,6.584v34.804c0,3.116,2.526,5.644,5.643,5.644h11.759c3.116,0,5.644-2.527,5.644-5.644 V6.584C23.044,3.467,20.518,0,17.402,0z M22.057,14.188v11.665l-2.729,0.351v-4.806L22.057,14.188z M20.625,10.773 c-1.016,3.9-2.219,8.51-2.219,8.51H4.638l-2.222-8.51C2.417,10.773,11.3,7.755,20.625,10.773z M3.748,21.713v4.492l-2.73-0.349 V14.502L3.748,21.713z M1.018,37.938V27.579l2.73,0.343v8.196L1.018,37.938z M2.575,40.882l2.218-3.336h13.771l2.219,3.336H2.575z M19.328,35.805v-7.872l2.729-0.355v10.048L19.328,35.805z", //svg image for car
scaledSize: new google.maps.Size(50, 22), fillColor: '#000',
origin: new google.maps.Point(0, 0), fillOpacity: .6,
anchor: new google.maps.Point(25, 12) anchor: new google.maps.Point(10, 25),
strokeWeight: 0,
scale: 1,
rotation: 0
}; };
new google.maps.Marker({ if (This.markers)
This.markers.setMap(null)
var marker = new google.maps.Marker({
position: driverLoc, position: driverLoc,
map: This.map, map: This.map,
icon: dimage icon: dimage
}); });
This.markers = marker
var cur = new google.maps.LatLng(myloc[0], myloc[0])
var lastPosn = new google.maps.LatLng(This.lastPos[0], This.lastPos[0])
var heading = google.maps.geometry.spherical.computeHeading(lastPosn, cur)
dimage.rotation = heading;
marker.setIcon(dimage);
// if (google.maps.geometry.spherical.computeDistanceBetween(destLoc, driverLoc) < 100) { // if (google.maps.geometry.spherical.computeDistanceBetween(destLoc, driverLoc) < 100) {
This.loc.to = This.details.drop_area This.loc.to = This.details.drop_area
This.loc.from = This.details.pickup_area This.loc.from = This.details.pickup_area
...@@ -139,6 +165,7 @@ export class UserlocationPage { ...@@ -139,6 +165,7 @@ export class UserlocationPage {
var bounds = response.routes[0].bounds; var bounds = response.routes[0].bounds;
This.map.fitBounds(bounds); This.map.fitBounds(bounds);
This.map.setCenter(bounds.getCenter()); This.map.setCenter(bounds.getCenter());
This.count++
} else { } else {
window.alert('Directions request failed due to ' + status); window.alert('Directions request failed due to ' + status);
} }
...@@ -146,7 +173,7 @@ export class UserlocationPage { ...@@ -146,7 +173,7 @@ export class UserlocationPage {
} }
startRide() { startRide() {
this.myservice.load_post({status:'Started',id:this.details.id},'changeStatus') this.myservice.load_post({ status: 'Started', id: this.details.id }, 'changeStatus')
this.details.actualPick = new Date().getTime() this.details.actualPick = new Date().getTime()
this.started = true; this.started = true;
...@@ -188,7 +215,7 @@ export class UserlocationPage { ...@@ -188,7 +215,7 @@ export class UserlocationPage {
// var realTime = (1530183600000 - 1530182700000) / 1000 //in seconds // var realTime = (1530183600000 - 1530182700000) / 1000 //in seconds
// console.log('google time', calcTime); // console.log('google time', calcTime);
// console.log('time taken',realTime); // console.log('time taken',realTime);
if (calcTime < realTime){ if (calcTime < realTime) {
var extraHr = Math.round(((realTime - calcTime) / 3600) * 100) / 100 //in hrs var extraHr = Math.round(((realTime - calcTime) / 3600) * 100) / 100 //in hrs
// console.log('extra time',extraHr) // console.log('extra time',extraHr)
This.details.timeAmount = Math.round(This.details.extrahour * extraHr) This.details.timeAmount = Math.round(This.details.extrahour * extraHr)
...@@ -218,8 +245,8 @@ export class UserlocationPage { ...@@ -218,8 +245,8 @@ export class UserlocationPage {
This.pushId = snapshot.val().push_id This.pushId = snapshot.val().push_id
console.log(This.pushId) console.log(This.pushId)
}); });
This.myservice.load_post({ id: data.id, timetype: This.ride.timetype},'getRateCard').subscribe(response=>{ This.myservice.load_post({ id: data.id, timetype: This.ride.timetype }, 'getRateCard').subscribe(response => {
if(response.status == 'success'){ if (response.status == 'success') {
This.ride = response.data This.ride = response.data
This.data.setrateData(This.ride) This.data.setrateData(This.ride)
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment