Как сделать динамические роуты?

114
12 ноября 2019, 02:30

Добрый день пишу приложение на Vue.JS, и столкнулся с проблемой, на определенной страницы есть datePicker, с помощью клика я беру оттуда дату и пересылаю на сервер, затем я получаю ответ в в виде координатов, и мне нужно эти координаты обновлять на карте. Координаты хранятся в state. И мне нужно динамическое обновление.

Карта -- Here.com

Код строительство роутинга

const routingParameters = {
        mode: 'fastest;car',
        waypoint0: this.$store.getters.startWaypoint,
        waypoint1: this.$store.getters.endWaypoint,
        representation: 'display',
      };

Код распределение точек:

placesSearch(platform)
      const onResult = function (result) {
        let route;
        let routeShape;
        let startPoint;
        let endPoint;
        let linestring;
        if (result.response.route) {
          route = result.response.route[0];
          routeShape = route.shape;
          linestring = new H.geo.LineString();
          routeShape.forEach((point) => {
            const parts = point.split(',');
            linestring.pushLatLngAlt(parts[0], parts[1]);
          });
          startPoint = route.waypoint[0].mappedPosition;
          endPoint = route.waypoint[1].mappedPosition;
          const routeLine = new H.map.Polyline(linestring, {
            style: {fillColor: 'white', lineWidth: 7, frequency: 1},
          });
          const startMarker = new H.map.Marker({
            lat: startPoint.latitude,
            lng: startPoint.longitude,
          });
          const endMarker = new H.map.Marker({
            lat: endPoint.latitude,
            lng: endPoint.longitude,
          });
          map.addObjects([routeLine, startMarker, endMarker]);
          map.setViewBounds(routeLine.getBounds());
        }
      };
      const router = platform.getRoutingService();
      router.calculateRoute(routingParameters, onResult,
        (error) => {
          alert(error.message);
        });
      placesSearch(platform);
    }

И код отправки на сервер:

datePicker({commit}, payload) {
      axios.get(url + payload).then((response) => {
        let datePicker = response.data.results[0]
        console.log(datePicker)
        let endWaypoint = `geo!${datePicker.end_location.latitude},${datePicker.end_location.longitude}`;
        let startWaypoint = `geo!${datePicker.start_location.latitude},${datePicker.start_location.longitude}`;
        commit('startWaypoint', startWaypoint);
        commit('endWaypoint', endWaypoint);
      })
    }
READ ALSO
JavaScript передача object HtmlVideoElement

JavaScript передача object HtmlVideoElement

Получаю доступ к камере пользователя следующим кодом:

99
Фильтрация массива в JS

Фильтрация массива в JS

Есть два массива:

105
не работает overflow:hidden у body и html на iPhone

не работает overflow:hidden у body и html на iPhone

есть событие на открытие модального окнапри открытии окна у html и body должен блокироваться скролл (используем overflow:hidden), но он не работает именно...

107
Promise в цикле при запросах из бд

Promise в цикле при запросах из бд

Есть метод в классе, который должен достать из базы данных из одной таблицы текущее значение проектов, из другой таблицы их историю в разбивке...

125