нуждаюсь в помощи ,как добавить 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 © ' + 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: '© '}),
//PODKŁAD 2
podklad2 = L.tileLayer('http://{s}.tile.thunderforest.com/outdoors/{z}/{x}/{y}.png', {attribution: '© '}); //.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);
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
ПриветствуюЕсть ли какая то возможность (через jQuery или CSS) добавить знаки + после инпута и знак - перед ним? При этом чтоб они располагались...
Нужно создать таблицу персонажа (character)Он имеет множество параметров(attribute, build, skill, quirk, advantage, disadvantege)
Приветствую товарищи, помогите пожалуйста составить следующий запрос: Вывести всех продавцов, которые продали больше за месяц чем продавец...