Skip to content

vehiclePath

Leon edited this page Oct 17, 2022 · 1 revision

vehiclePath

Emitted whens vehicle starts new route

  • Event

    vehiclePath

  • Event Receive Content

     {
       "userVehicleID": 15,
       "vehicleID": 41,
       "userVehicleFMS": 3,
       "userVehicleName": "FF HH 07-HLF20-01",
       "path": [
         [51.222222, 6.815271, 4000], 
         [51.462412, 6.95241, 2000], 
         ["..."]
       ],
       "vehicleGraphicID": "3 //Only if userVehicleFMS = 1,3 or 7",
       "filePath": "vehicleGraphicFile.php?folderName=83g5-m0zu-ks&fileName=gcxu52dakx3m",
       "anchorX": 50,
       "anchorY": 30,
       "widthPX": 100,
       "heightPX": 60
     }
  • Server Example

    //Create user
    $user = User::fromUserID(14);
    
    //Create ReSiSocket
    $socket = ReSiSocket::getInstance();
    
    //Get SocketID of User
    $userSocketCode = $user->getSocketID();
    
    //Generate Path
    $path = UserVehiclePath::fromUserVehicleID($userVehicleID);
    
    //Emit Vehicle Path as Array to user with $userSocketID
    $socket->emitVehiclePath($userSocketCode,VehiclePath::fromUserVehiclePath($path)->toArray());
  • Client Example

    socket.on("vehiclePath", (vehiclePathObject) =>{   
     //remove old possible vehicleMarker
     //Create Vehicle Marker on map
     let startLocation = vehiclePathObject.path[0];
     if(vehiclePathObject.userVehicleFMS == 3)
     {
       L.marker([startLocation[0], startLocation[1]], {icon: eval("vehicle_" + vehiclePathObject.vehicleID + "_animation")}).addTo(mymap);
     }else
     {
       L.marker([startLocation[0], startLocation[1]], {icon: eval("vehicle_" + vehiclePathObject.vehicleID)}).addTo(mymap);
     }   
     //Draw Route on Map
     //Animate Vehicle Marker along route on map
     console.log(`
        Vehicle ${vehiclePathObject.userVehicleID} (${vehiclePathObject.userVehicleName})
        of type ${vehiclePathObject.vehicleID}
        is in Status ${vehiclePathObject.userVehicleFMS}
        and has ${vehiclePathObject.path.length} Path Points
     `);
     //Change Status in department List
    });
Clone this wiki locally