Как преобразовать массив данных в массив Leaflet LatLngs? - PullRequest
0 голосов
/ 16 февраля 2020

Я ПОЛУЧАЮ все местоположения (широта + долгота), которые работают хорошо, я могу напечатать их работу с ними один за другим, но проблема в том, что я хочу добавить все местоположения ligne ligne в waypoints в одной функции, как в примере ниже:

 for (i in response.data) {
    if (response.data.hasOwnProperty(i)) {
      console.log( response.data[i].latitude  +' , '+  response.data[i].longitude );
    }
  }


  L.Routing.control({
    waypoints: [
      L.latLng(33.86477205,-5.57643056),
      L.latLng(33.86494131,-5.57304561),
      L.latLng(33.86425534,-5.57063162),
    ],
    show: false
  }).addTo(map);

Я хочу добавить все широты и долготы, напечатанные с помощью FOR, но за один шаг, а не один за другим, потому что я думаю, что нет другого способа работы с этим методом Leaflet. enter image description here

1 Ответ

2 голосов
/ 16 февраля 2020

Это похоже на простой случай Array манипуляции в Javascript. Для массива с произвольными данными вам нужен второй массив с экземплярами L.LatLng.

. Простой подход заключается в map() массиве , например:

  // For every data point in response.data, create a LatLng
  var waypoints = response.data.map(function(dataPoint){
    // console.log(dataPoint); // It might be useful to inspect these values
    return L.latLng(dataPoint.latitude, dataPoint.longitude);
  });

  // console.log(waypoints);  // Uncommenting this should display an Array of LatLngs

  L.Routing.control({
    waypoints: waypoints,
    show: false
  }).addTo(map);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...