12345678910111213141516171819202122232425262728293031323334353637383940 |
- import mapboxToken from "./../config/mapboxToken.js";
- export const mapStyles = {
- "light": "mapbox://styles/mapbox/light-v9",
- "bright": "mapbox://styles/mapbox/bright-v9",
- "dark": "mapbox://styles/mapbox/dark-v9",
- "basic": "mapbox://styles/mapbox/basic-v9",
- "outdoor": "mapbox://styles/mapbox/outdoors-v10"
- }
- export function getRoute(lng, lat){
- let pathCopy = this.state.path.slice();
- var end = [lng, lat];
- if (this.state.path.length < 1){
- pathCopy.push(end)
- this.setState({path: pathCopy})
- this.getDistance()
- } else {
- var start = this.state.path[this.state.path.length-1];
- var baseUrl = "https://api.mapbox.com/directions/v5/mapbox/"
- var url = baseUrl + "walking/" + start[0] + "," + start[1] + ";" + end[0] + "," + end[1] + "?alternatives=true&geometries=geojson&steps=true&access_token=" + mapboxToken;
- fetch(url)
- .then(response => response.json())
- .then(data => {
- if("routes" in data){
- let route = data.routes[0].geometry.coordinates
- route.map((pos) => pathCopy.push(pos))
- pathCopy.push(end)
- } else{
- pathCopy.push(end)
- }
- this.setState({path: pathCopy})
- this.getDistance()
- })
- .catch((error) =>{
- console.error(error);
- });
- }
- }
|