Я создаю систему, которая регистрирует моих птиц с помощью 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. Но у меня это не получается.