Отдельные полилинии в Google Maps V3 - PullRequest
0 голосов
/ 24 апреля 2018

Я создаю систему, которая регистрирует моих птиц с помощью GPS-трекера. Данные с GPS-трекеров хранятся в базе данных MYSQL. Сейчас я пытаюсь заставить зрителя, такого как Flightrader 24, нарисовать птиц, чтобы увидеть, где они находятся.

Я борюсь с показаниями нескольких полилиний. Что я делаю, так это считываю каждый маршрут птиц с помощью цикла for, чтобы собрать каждый путь по птице. Но проблема в том, что он соединяет путь птицы 1 и птицы 2, и я хотел бы отделить пути друг от друга.

Текущая система с подключенными путями

Мой код:

<script>
  function initialize() {
    var mapOptions = {
      zoom: 2,
      center: new google.maps.LatLng(0,0),
      mapTypeId: google.maps.MapTypeId.TERRAIN,
      disableDefaultUI: true,
      gestureHandling: 'greedy'

    };
    var map = new google.maps.Map(document.getElementById('map-canvas'),
      mapOptions);
    <?php
    echo 'var birdTracks = [';
    for ($x = 0; $x <= 99; $x++) {
        $query = mysqli_query($connection,"SELECT * FROM route WHERE falcon_id = '$x'");
        while($row = mysqli_fetch_assoc($query)){
           $lat = $row['lat'];
           $lon = $row['lng'];
            echo 'new google.maps.LatLng('.$lat.', '.$lon.'),'; // Echo begin position
         }
       }
       echo '];';
       ?>

       var colors = ["#ff1663"];

       for (var i = 0; i < birdTracks.length ; i++) {
        var flightPath = new google.maps.Polyline({
          path: birdTracks,
          geodesic: true,
          strokeColor: colors[i],
          strokeOpacity: 1.0,
          strokeWeight: 4
        });
        console.log(colors[i]);
      }

      flightPath.setMap(map);
    }
    google.maps.event.addDomListener(window, 'load', initialize);

  </script>

Я думаю, что это решение для создания нескольких массивов birdTracks с циклом For. Но у меня это не получается.

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