This commit is contained in:
SRP-mango 2023-12-09 13:26:13 +07:00
commit 9d17f846f8
3 changed files with 50 additions and 20 deletions

View file

@ -5,6 +5,7 @@ Description=Little Lines frontend container
ContainerName=little-lines-frontend ContainerName=little-lines-frontend
Image=localhost/little-lines-frontend Image=localhost/little-lines-frontend
PublishPort=8081:5173 PublishPort=8081:5173
Volume=/media/sasha/Data1/Apps/ll-frontend/.env:/opt/little-lines-frontend/.env
[Service] [Service]
Restart=always Restart=always

View file

@ -248,6 +248,10 @@ export default {
methods: { methods: {
closePopup() { closePopup() {
this.showPopup = false; this.showPopup = false;
this.$emit('updateRouting', {route:null,isRouting:false});
this.isRouting = false;
this.onClose(); this.onClose();
}, },
viewRoute() { viewRoute() {
@ -277,8 +281,11 @@ export default {
console.error('Error getting location:', error); console.error('Error getting location:', error);
}, },
viewPopup(){ viewPopup(){
this.showPopup = true; this.showPopup = true;
this.showRoute = false; this.showRoute = false;
this.$emit('updateRouting', {route:null,isRouting:false});
this.isRouting = false;
}, },
addToFavorites() { addToFavorites() {
const currentUser = JSON.parse(sessionStorage.getItem('current_user')); const currentUser = JSON.parse(sessionStorage.getItem('current_user'));
@ -319,24 +326,26 @@ export default {
} }
}, },
Routing(){ Routing(){
console.log('Start routing!!'); if(!this.isRouting){
console.log(`nearestStructureData : ${this.nearestStructureData.lon},${this.nearestStructureData.lat}`); console.log('Start routing!!');
console.log(`userLocation : ${this.userLocation.lon},${this.userLocation.lat}`); console.log(`nearestStructureData : ${this.nearestStructureData.lon},${this.nearestStructureData.lat}`);
// Make a request to OpenRouteService API for a sample route console.log(`userLocation : ${this.userLocation.lon},${this.userLocation.lat}`);
const apiKey = import.meta.env.VITE_OPENROUTESERVICE_API_KEY; // Make a request to OpenRouteService API for a sample route
const startCoord = `${this.userLocation.lon},${this.userLocation.lat}`;//'100.53860,13.76410'; const apiKey = import.meta.env.VITE_OPENROUTESERVICE_API_KEY;
const endCoord = `${this.nearestStructureData.lon},${this.nearestStructureData.lat}`;//'100.53928,13.76526'; const startCoord = `${this.userLocation.lon},${this.userLocation.lat}`;//'100.53860,13.76410';
const endCoord = `${this.nearestStructureData.lon},${this.nearestStructureData.lat}`;//'100.53928,13.76526';
axios.get(`https://api.openrouteservice.org/v2/directions/wheelchair?api_key=${apiKey}&start=${startCoord}&end=${endCoord}`) axios.get(`https://api.openrouteservice.org/v2/directions/wheelchair?api_key=${apiKey}&start=${startCoord}&end=${endCoord}`)
.then(response => { .then(response => {
const route = response.data.features[0].geometry.coordinates; const route = response.data.features[0].geometry.coordinates;
console.log('This is route :',{route:route}) console.log('This is route :',{route:route})
this.$emit('updateRouting', {route:route}); this.$emit('updateRouting', {route:route,isRouting:true});
// this.plotRoute(route); this.isRouting = true;
}) })
.catch(error => { .catch(error => {
console.error('Error fetching route:', error); console.error('Error fetching route:', error);
}); });
}
}, },
}, },

View file

@ -177,6 +177,26 @@ const handleMapClick = async event => {
} catch (error) { } catch (error) {
console.error("Error fetching reverse geocoding data:", error); console.error("Error fetching reverse geocoding data:", error);
} }
const overpassQuery = `[out:json];
(
node(around:1000,${clickedCoordinate[1]},${clickedCoordinate[0]})["wheelchair"="yes"];
way(around:1000,${clickedCoordinate[1]},${clickedCoordinate[0]})["wheelchair"="yes"];
relation(around:1000,${clickedCoordinate[1]},${clickedCoordinate[0]})["wheelchair"="yes"];
);
out;`;
const overpassUrl = 'https://overpass-api.de/api/interpreter';
axios.post(overpassUrl, `data=${encodeURIComponent(overpassQuery)}`, {
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
}).then(response => {
// Process the data returned by the Overpass API
console.log(response.data);
}).catch(error => {
console.error('Error fetching data from Overpass API:', error);
});
}; };
const closePopup = () => { const closePopup = () => {
@ -186,7 +206,7 @@ const closePopup = () => {
const handleRouting = (res) => { const handleRouting = (res) => {
console.log("Received Route:", res); console.log("Received Route:", res);
route.value = res.route; route.value = res.route;
isRouting.value = true; isRouting.value = res.isRouting;
}; };