var map;
var tenantList = [];
var providerList = [];
function init() {
map = L.map('map', { zoomControl:true }).setView([47.078, 3.812], 6);
// #6/46.823/6.669
if (L.Browser.mobile) {
map.removeControl(map.zoomControl);
}
var mapnikUrl = 'http://b.www.toolserver.org/tiles/bw-mapnik/{z}/{x}/{y}.png';
var vmfabsUrl = 'https://tiles.wmflabs.org/hillshading/{z}/{x}/{y}.png';
var osmUrl='https://a.tile.openstreetmap.org/{z}/{x}/{y}.png';
var ignsatUrl='https://wxs.ign.fr/3tz7turb776yzy17kwux3nkf/geoportail/wmts?layer=ORTHOIMAGERY.ORTHOPHOTOS&style=normal&tilematrixset=PM&Service=WMTS&Request=GetTile&Version=1.0.0&Format=image/jpeg&TileMatrix={z}&TileCol={x}&TileRow={y}';
var ignUrl='https://wxs.ign.fr/3tz7turb776yzy17kwux3nkf/geoportail/wmts?layer=GEOGRAPHICALGRIDSYSTEMS.MAPS&style=normal&tilematrixset=PM&Service=WMTS&Request=GetTile&Version=1.0.0&Format=image/jpeg&TileMatrix={z}&TileCol={x}&TileRow={y}';
var minimal = L.tileLayer(mapnikUrl, { maxZoom: 18 });
var vmfabs = L.tileLayer(vmfabsUrl, { maxZoom: 18 });
var osm = L.tileLayer(osmUrl, { maxZoom: 18 });
var ignsat = L.tileLayer(ignsatUrl, { maxZoom: 18 });
var ign = L.tileLayer(ignUrl, { maxZoom: 18 });
var baseMaps = {
'HillShade': vmfabs,
'OSM': osm,
'IGN': ign,
'Minimal': minimal,
'Satellite': ignsat,
};
facilities=new L.layerGroup();
network=new L.layerGroup();
var overlayMaps = {
'Locations': facilities,
'Network': network,
}
L.control.layers(baseMaps, overlayMaps, { autoZIndex: true }).addTo(map);
osm.addTo(map);
load_geojson(tenantList, providerList);
$('#sidebar').hide();
$("#sidebar_button").click(function() {
$("#sidebar").toggle();
}).tooltip({
placement : 'left',
title : 'Afficher/masquer la sidebar'
});
var first_coord = [0, 0];
var second_coord = [0, 0];
var string_coord = '';
$("#gpspos").html('C1 : ' + first_coord[0] + " / " + first_coord[1] + '
C2 : ' + second_coord[0] + " / " + second_coord[1]);
map.on('click', function(e) {
if (first_coord[0] == 0) {
first_coord = [ e.latlng.lat.toString().slice(0,9), e.latlng.lng.toString().slice(0,8) ];
string_coord = 'GPSPOS : '+ first_coord[0] + " / " + first_coord[1] + '
Spectre hertzien à proximité';
} else if (second_coord[0] == 0) {
second_coord = [ e.latlng.lat.toString().slice(0,9), e.latlng.lng.toString().slice(0,8) ];
string_coord = 'C1 : ' + first_coord[0] + " / " + first_coord[1] + '
C2 : ' + second_coord[0] + " / " + second_coord[1] + '
Vue élevation';
} else {1
first_coord = [0, 0];
second_coord = [0, 0];
string_coord = '';
}
$("#gpspos").html(string_coord);
});
var hash = new L.Hash(map);
}
function load_geojson (tenantList, providerList) {
var geojsonMarkerOptions = {
radius: 6,
color: "#000",
fill: 1,
weight: 1,
opacity: 1,
zindex: 1,
fillOpacity: 1,
draggable: true
};
var geojsonPolyLineOptions = {
weight: 3,
fill: 1,
zindex: 2,
opacity: 0.8,
};
var okProdMarker = L.icon({
iconUrl: 'images/green.png',
iconAnchor: [ 8, 8 ],
});
var nokProdMarker = L.icon({
iconUrl: 'images/red.png',
iconAnchor: [ 8, 8 ],
});
var worktodoProdMarker = L.icon({
iconUrl: 'images/worker_sign.png',
iconAnchor: [ 10, 10 ],
});
var waitingMarker = L.icon({
iconUrl: 'images/yellow.png',
iconAnchor: [ 8, 8 ],
});
var terminatedMarker = L.icon({
iconUrl: 'images/blue.png',
inconAnchor: [ 8, 8 ],
});
var eligibleMarker = L.icon({
iconUrl: 'images/purple.png',
iconAnchor: [ 8, 8 ],
});
// On load le réseau
$.get("https://netbox.polyno.me/circuits/circuits/geojson/", function(data) {
var geojsonLayer = new L.GeoJSON(data, {
style: function(feature) {
if (feature.geometry.type == 'LineString') {
geojsonPolyLineOptions.color = '#009900';
// feature.properties.color;
return geojsonPolyLineOptions;
}
},
onEachFeature: function(feature, layer) {
if (feature.geometry.type == 'LineString') {
layer.on({
click: function(e) {
createPopup(e.target.feature, e.target);
// e.target.openPopup();
}
});
}
}
} );
network.clearLayers();
network.addLayer(geojsonLayer);
network.addTo(map);
map.almostOver.addLayer(network);
map.on('almost:click', function (e) { e.layer.fire('click', e); });
});
$.get("https://netbox.polyno.me/dcim/facilities/geojson/", function(data) {
var geojsonLayer = new L.GeoJSON(data, {
style: function(feature) {
return {fillColor: '#009900'};
},
pointToLayer: function(feature, latlng) {
geojsonMarkerOptions.icon=okProdMarker;
return L.marker(latlng, geojsonMarkerOptions);
},
onEachFeature: function(feature, layer) {
createPopup(feature, layer);
}
} );
facilities.clearLayers();
facilities.addLayer(geojsonLayer);
facilities.addTo(map);
});
}
function createPopup (feature, layer) {
console.log(feature.geometry.type);
if (feature.geometry.type == 'Point') {
var divNode = document.createElement('DIV');
divNode.setAttribute('style', 'width:450px');
divNode.innerHTML = '