столкнулся с вопросом как добавить в Leaflet, L.realtime

270
30 октября 2017, 22:30

нуждаюсь в помощи ,как добавить L.realtime , чтобы маркеры двигались в текущем времени как тут : http://embed.plnkr.co/wwd1Xk/ ,https://github.com/perliedman/leaflet-realtime и Clusters группировалось так как на карте много групп маркеров бывает

// вид иконки 
    var tram_icon = L.icon({ 
        iconUrl: 'icons/icons8-Трамвай-48.png', 
        iconSize: [30, 30], 
        iconAnchor: [22, 94], 
        popupAnchor: [-3, -76] 
    }); 
    var bus_icon = L.icon({ 
        iconUrl: 'icons/icons8-Автобус-40.png', 
        iconSize: [30, 30], 
        iconAnchor: [22, 94], 
        popupAnchor: [-3, -76] 
    }); 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
// получение данных  
    var transcort =[];// 
    var transcort2 =[];// 
    // var coords_2 =[]; 
      function new_coord(transcort,transcort2) { 
              // получение данных 1 
              //получение точек 
                $.ajax({ 
                        type: "GET", 
                        url: "***", 
                        async: false, 
                        success: function(rdata, status) { 
                          //vdata=JSON.parse(rdata); 
                          //console.log(rdata); 
                          for (var i =0; i < rdata["data"].length; i++) { 
                            var tmp_xy = rdata["data"][i]["latLng"]; 
                            var dev_id = rdata["data"][i]["device_id"]; 
                            var rajon_id = rdata["data"][i]["ds_id"]; 
                            transcort.push([tmp_xy,dev_id,rajon_id]); 
                          } 
                          //console.log(coords_2); 
                        } 
                }); 
              // console.log(transcort); 
 
              // получение данных 2 
              //получение точек 
                $.ajax({ 
                        type: "GET", 
                        url: "***", 
                        async: false, 
                        success: function(rdata, status) { 
                          //vdata=JSON.parse(rdata); 
                          //console.log(rdata); 
                          for (var i =0; i < rdata["data"].length; i++) { 
                            var tmp_xy = rdata["data"][i]["latLng"]; 
                            var dev_id = rdata["data"][i]["device_id"]; 
                            var rajon_id = rdata["data"][i]["ds_id"]; 
                            transcort2.push([tmp_xy,dev_id,rajon_id]); 
                          } 
                          //console.log(coords_2); 
                        } 
                }); 
      }; 
       new_coord(transcort,transcort2); //функция получения точек 
    // setTimeout(new_coord(transcort), 1000); 
    console.log(transcort); 
    console.log(transcort2); 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
// Create the group 
    var group = L.layerGroup(), 
        list = document.getElementById('list'); 
      // Loop through the data 
            transcort.map(function (person) { 
              var marker = L.marker(person[0], { 
                title: person[1], 
                icon:tram_icon, 
                riseOnHover: true 
              }).bindPopup("id="+person[1].toString() +" ;район "+person[2].toString()+" ;координаты "+person[0].toString()); 
              // return L.marker(e).addTo(map).bindPopup("id="+e[2].toString() +" ;district "+e[3].toString()); 
            // Add each marker to the group 
            group.addLayer(marker); 
            // Save the ID of the marker with it's data 
            person.marker_id = group.getLayerId(marker); 
          }); 
    // Add the group to the map  //group.addTo(map); 
 
// Create the group2 
    var group2 = L.layerGroup(), 
        list2 = document.getElementById('list2'); 
      // Loop through the data 
            transcort2.map(function (person) { 
              var marker2 = L.marker(person[0], { 
                title: person[1], 
                icon:bus_icon, 
                riseOnHover: true 
              }).bindPopup("id="+person[1].toString() +" ;район "+person[2].toString()+" ;координаты "+person[0].toString()); 
              // return L.marker(e).addTo(map).bindPopup("id="+e[2].toString() +" ;district "+e[3].toString()); 
            // Add each marker to the group2 
            group2.addLayer(marker2); 
            // Save the ID of the marker with it's data 
            person.marker_id = group2.getLayerId(marker2); 
          }); 
    // Add the group to the map  //group2.addTo(map); 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
 
  // PODKŁAD 1 
   var mapLink = '<a href="http://openstreetmap.org">OpenStreetMap</a>'; 
   var podklad1 = L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',{attribution: 'Map data &copy; ' + mapLink}), //.addTo(map); 
   //KONIEC PODKŁAD 1 
    podklad3 = L.tileLayer('http://172.20.0.73:4829/nii_api/v0.5.9/tiles_go?token=j6eZ5nKzSi9ftSRiYDBtoNy329wRgDvn&z={z}&x={x}&y={y}', {attribution: '&copy; '}), 
   //PODKŁAD 2 
   podklad2 = L.tileLayer('http://{s}.tile.thunderforest.com/outdoors/{z}/{x}/{y}.png', {attribution: '&copy; '}); //.addTo(map); 
   //KONIEC PODKŁAD 2 
   var googleLayer = new L.Google('ROADMAP'); 
 
   var map = L.map('map',{layers: [podklad1, group, group2]}).setView([55.7504, 37.6728], 12); 
 
   var mapyPodkladowe = { 
     "osm": podklad1, 
     "Google":googleLayer, 
     "thunderforest": podklad2, 
      "наша": podklad3, 
   }; 
   var warstwy = { 
     "трамваи": group, 
     "автобусы": group2, 
 
   }; 
 
   L.control.layers(mapyPodkladowe, warstwy).addTo(map); 
 
 
 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
// Click handler for handling 
    function onClick(data) { 
      var marker_id = data.marker_id; 
      var marker = group.getLayer(marker_id); 
      map.setView(marker.getLatLng(), 20); 
      marker.openPopup();//открытие маркера, принажатии в таблице 
      map.panTo(marker.getLatLng()); 
    }; 
    function onClick2(data) { 
      var marker_id = data.marker_id; 
      var marker2 = group2.getLayer(marker_id); 
      map.setView(marker2.getLatLng(), 20); 
      marker2.openPopup();//открытие маркера, принажатии в таблице 
      map.panTo(marker2.getLatLng()); 
    }; 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
 
 
 
 
 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
// Append list items // <th { width=250px; }>tram</th> 
function tabletshow(){ 
   
    transcort.forEach(function (person) { 
      var item = document.createElement('tr'); 
      // item.innerHTML = '<a href="#">' + person.name + '</a>'; 
      item.innerHTML = ` <table> 
              <thead> 
                  <tr> 
                      <th { width=250px; }>${person[1]}</th> 
                      <th { width=250px; }>${person[2]}</th> 
                  </tr> 
              </thead> 
          </table>`      ; 
      item.addEventListener('click', onClick.bind(null, person)); 
      list.appendChild(item); 
    }); 
 
// Append list items 
    transcort2.forEach(function (person) { 
      var item = document.createElement('tr'); 
      // item.innerHTML = '<a href="#">' + person.name + '</a>'; 
      item.innerHTML = ` <table> 
              <thead> 
                  <tr> 
                      <th { width=250px; }>${person[1]}</th> 
                      <th { width=250px; }>${person[2]}</th> 
                  </tr> 
              </thead> 
          </table>`      ; 
      item.addEventListener('click', onClick2.bind(null, person)); 
      list2.appendChild(item); 
    }); 
 
} 
 
tabletshow();//вызов отображение таблиц 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
 
 
// поиск 
new L.Control.GeoSearch({ provider: new L.GeoSearch.Provider.OpenStreetMap()  }).addTo(map);

READ ALSO
Не работают ссылки на tablet &amp; mobile

Не работают ссылки на tablet & mobile

Есть слайдер CarouselВзял отсюда http://materializecss

264
Добавить &ldquo;+/-&rdquo; до и после input

Добавить “+/-” до и после input

ПриветствуюЕсть ли какая то возможность (через jQuery или CSS) добавить знаки + после инпута и знак - перед ним? При этом чтоб они располагались...

313
Создание таблицы many to many

Создание таблицы many to many

Нужно создать таблицу персонажа (character)Он имеет множество параметров(attribute, build, skill, quirk, advantage, disadvantege)

236
MySQL Запрос с подзапросом SUM и сравнить

MySQL Запрос с подзапросом SUM и сравнить

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

234