Commit 631b88f0 by Alen Jose

july20

parent 8a43edf9
...@@ -220,7 +220,7 @@ export class HomePage { ...@@ -220,7 +220,7 @@ export class HomePage {
if (this.markers[i]) { if (this.markers[i]) {
this.markers[i].setMap(null); this.markers[i].setMap(null);
this.markers[i] = null; this.markers[i] = null;
console.log(this.markers[i]) // console.log(this.markers[i])
} }
} }
directionsService.route({ directionsService.route({
......
...@@ -20,6 +20,10 @@ export class MapPage { ...@@ -20,6 +20,10 @@ export class MapPage {
locSubs: any; locSubs: any;
driver: any; driver: any;
pushed: number = 0; pushed: number = 0;
lastPos: any;
count: number = 0
markers: any;
tempLast: any;
constructor(public navCtrl: NavController, public navParams: NavParams, private data: dataService, private geolocation: Geolocation, private myservice: Myservice) { constructor(public navCtrl: NavController, public navParams: NavParams, private data: dataService, private geolocation: Geolocation, private myservice: Myservice) {
} }
...@@ -34,9 +38,17 @@ export class MapPage { ...@@ -34,9 +38,17 @@ export class MapPage {
var locRef = firebase.database().ref().child('/drivers/'); var locRef = firebase.database().ref().child('/drivers/');
locRef.orderByChild("id").equalTo(Number(This.driver.driverId)).on("value", function (snapshot) { locRef.orderByChild("id").equalTo((This.driver.driverId)).on("value", function (snapshot) {
if (This.count > 1)
This.lastPos = res_arr
var res_arr = [] var res_arr = []
res_arr = (<any>Object).entries(snapshot.val()).map(e => Object.assign(e[1], { key: e[0] })); res_arr = (<any>Object).entries(snapshot.val()).map(e => Object.assign(e[1], { key: e[0] }));
if (This.count == 0)
This.lastPos = res_arr//inially last and current position is same
console.log(res_arr[0]) console.log(res_arr[0])
if (res_arr[0].started == true) { if (res_arr[0].started == true) {
...@@ -49,24 +61,40 @@ export class MapPage { ...@@ -49,24 +61,40 @@ export class MapPage {
var directionsService = new google.maps.DirectionsService; var directionsService = new google.maps.DirectionsService;
This.directionsDisplay.setMap(This.map); This.directionsDisplay.setMap(This.map);
This.directionsDisplay.setOptions({ suppressMarkers: true }); This.directionsDisplay.setOptions({ suppressMarkers: true });//hide default marker
var pickLoc = new google.maps.LatLng(This.bookData.pickLat, This.bookData.pickLng); var pickLoc = new google.maps.LatLng(This.bookData.pickLat, This.bookData.pickLng);
var driverLoc = new google.maps.LatLng(res_arr[0].lat, res_arr[0].lng); var driverLoc = new google.maps.LatLng(res_arr[0].lat, res_arr[0].lng);
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
}; };
if (This.markers) {
This.markers.setMap(null);
}
var marker = new google.maps.Marker({ 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 = driverLoc
var lastPosn = new google.maps.LatLng(This.lastPos[0].lat, This.lastPos[0].lng)
var heading = google.maps.geometry.spherical.computeHeading(lastPosn, cur)
dimage.rotation = heading;
marker.setIcon(dimage);
////
This.calculateAndDisplayRoute(directionsService, This.directionsDisplay, pickLoc, driverLoc); This.calculateAndDisplayRoute(directionsService, This.directionsDisplay, pickLoc, driverLoc);
} }
...@@ -106,6 +134,7 @@ export class MapPage { ...@@ -106,6 +134,7 @@ export class MapPage {
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);
} }
...@@ -113,6 +142,7 @@ export class MapPage { ...@@ -113,6 +142,7 @@ export class MapPage {
} }
startRide() { startRide() {
this.count = 0
this.temp = true this.temp = true
console.log('started') console.log('started')
var This = this; var This = this;
...@@ -120,7 +150,13 @@ export class MapPage { ...@@ -120,7 +150,13 @@ export class MapPage {
This.locSubs = this.geolocation.watchPosition() This.locSubs = this.geolocation.watchPosition()
.filter((p) => p.coords !== undefined) //Filter Out Errors .filter((p) => p.coords !== undefined) //Filter Out Errors
.subscribe(position => { .subscribe(position => {
console.log(position.coords.longitude + ' ' + position.coords.latitude);
if (this.count > 0){
This.lastPos[0].lat = this.tempLast[0]
This.lastPos[0].lng = this.tempLast[1]
}
this.tempLast = [position.coords.latitude, position.coords.longitude]
var directionsService = new google.maps.DirectionsService; var directionsService = new google.maps.DirectionsService;
...@@ -131,23 +167,37 @@ export class MapPage { ...@@ -131,23 +167,37 @@ export class MapPage {
var myLoc = new google.maps.LatLng(position.coords.latitude, position.coords.longitude); var myLoc = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
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
}; };
if (This.markers) {
This.markers.setMap(null);
}
var marker = new google.maps.Marker({ var marker = new google.maps.Marker({
position: myLoc, position: myLoc,
map: This.map, map: This.map,
icon: dimage icon: dimage
}); });
console.log(marker)
This.markers = marker
var cur = new google.maps.LatLng(position.coords.latitude, position.coords.longitude)
var lastPosn = new google.maps.LatLng(This.lastPos[0].lat, This.lastPos[0].lng)
var heading = google.maps.geometry.spherical.computeHeading(lastPosn, cur)
dimage.rotation = heading;
marker.setIcon(dimage);
// if (google.maps.geometry.spherical.computeDistanceBetween(myLoc, destLoc) < 50){ // if (google.maps.geometry.spherical.computeDistanceBetween(myLoc, destLoc) < 50){
var locRef = firebase.database().ref().child('/drivers/'); var locRef = firebase.database().ref().child('/drivers/');
locRef.orderByChild("id").equalTo(Number(This.driver.driverId)).on("value", function (snapshot) { locRef.orderByChild("id").equalTo((This.driver.driverId)).on("value", function (snapshot) {
var res_arr = [] var res_arr = []
res_arr = (<any>Object).entries(snapshot.val()).map(e => Object.assign(e[1], { key: e[0] })); res_arr = (<any>Object).entries(snapshot.val()).map(e => Object.assign(e[1], { key: e[0] }));
console.log(res_arr[0]) console.log(res_arr[0])
......
...@@ -21,7 +21,7 @@ export class RidedetailPage { ...@@ -21,7 +21,7 @@ export class RidedetailPage {
count: number = 0; count: number = 0;
loader: any; loader: any;
driver: any; driver: any;
bkid: any; bkid: any =38;
drivers = [] drivers = []
constructor(public navCtrl: NavController, public navParams: NavParams, private data: dataService, private zone: NgZone, private myservice: Myservice, private storage: Storage, public platform: Platform, public loadingCtrl: LoadingController, private alertCtrl: AlertController) { constructor(public navCtrl: NavController, public navParams: NavParams, private data: dataService, private zone: NgZone, private myservice: Myservice, private storage: Storage, public platform: Platform, public loadingCtrl: LoadingController, private alertCtrl: AlertController) {
...@@ -101,25 +101,25 @@ export class RidedetailPage { ...@@ -101,25 +101,25 @@ export class RidedetailPage {
This.myservice.show_alert('', 'No drivers found') This.myservice.show_alert('', 'No drivers found')
} }
else { else {
var bdata = { 'book_date': This.book.date, 'drop_area': This.book.dropArea, 'pickup_area': This.book.pickArea, 'taxi_type': This.book.carDetails.car_type, 'amount': '', 'km': '', 'promocode': This.book.promocode, 'token': This.local.token, 'userid': This.local.id, 'type': 'now', 'drivers': [], 'discount': This.book.discount ? This.book.discount : 0, 'pickup_latlng': this.book.pickLat + ',' + this.book.pickLng, 'drop_latlng': this.book.dropLat + ',' + this.book.dropLng } // var bdata = { 'book_date': This.book.date, 'drop_area': This.book.dropArea, 'pickup_area': This.book.pickArea, 'taxi_type': This.book.carDetails.car_type, 'amount': '', 'km': '', 'promocode': This.book.promocode, 'token': This.local.token, 'userid': This.local.id, 'type': 'now', 'drivers': [], 'discount': This.book.discount ? This.book.discount : 0, 'pickup_latlng': this.book.pickLat + ',' + this.book.pickLng, 'drop_latlng': this.book.dropLat + ',' + this.book.dropLng }
bdata.drivers = This.drivers; // bdata.drivers = This.drivers;
console.log(bdata) // console.log(bdata)
This.myservice.load_post(bdata, 'book_cab').subscribe(response => { // This.myservice.load_post(bdata, 'book_cab').subscribe(response => {
if (response.status == 'success') { // if (response.status == 'success') {
This.bkid = response.data // This.bkid = response.data
This.book.bookingId = This.bkid // This.book.bookingId = This.bkid
This.data.setbookingData(This.book); // This.data.setbookingData(This.book);
This.checkResp(); This.checkResp();
} // }
else { // else {
This.myservice.show_alert('Failed', 'Please try again') // This.myservice.show_alert('Failed', 'Please try again')
This.navCtrl.pop() // This.navCtrl.pop()
} // }
}) // })
} }
} }
......
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