<commit_before>/*
** Début du projet : 23/11/2015
** Derniere modification : 27/11/2015
** Projet realisé par : 
** - perrie_a (<NAME>
** - martin_c (<NAME>)
** - leon_v (<NAME>)
** ETNA - École des Technologies Numériques en Alternance
** Projet OPENDATA - SCC1
*/

/*
** Chargement des CSS
*/
window.onload = function() {
  var css = document.createElement('link');
  css.rel = 'stylesheet';
  css.type = 'text/css';
  css.href = './map.css';
  document.getElementsByTagName('head')[0].appendChild(css);
  css.onload = add_content;
}

/*
** Chargement AJAX des JS
*/
function myRequire(url) {
    var ajax = new XMLHttpRequest();
    ajax.open('GET', url, false);
    ajax.onreadystatechange = function() {
        var script = ajax.response || ajax.responseText;
        if (ajax.readyState === 4) {
            switch(ajax.status) {
                case 200:
                    eval.apply(window, [script]);
                    console.log("script loaded: ", url);
                    break;
                default:
                    console.log("ERROR: script not loaded: ", url);
            }
        }
    };
    ajax.send(null);
}

var add_content = function()
{
  var html_to_add = "<div id='map-cluster' class='map'></div>";
  document.getElementById('InSTRiiTExtension').innerHTML = html_to_add;
  myRequire('https://api.tiles.mapbox.com/mapbox.js/v2.2.3/mapbox.js');
  myRequire('https://api.mapbox.com/mapbox.js/plugins/leaflet-locatecontrol/v0.43.0/L.Control.Locate.min.js');
  myRequire('https://api.tiles.mapbox.com/mapbox.js/plugins/leaflet-markercluster/v0.4.0/leaflet.markercluster.js');
  plan();
};


/*
** Ckecker angle droit de la map
** affiche zone des celibataires de Ivry-sur-Seine + deux lignes de metro parisien
*/
function checked (mapCluster, L) 
{
  L.control.layers({
    'Vue map': L.mapbox.tileLayer('mapbox.streets').addTo(mapCluster),
    'Vue satellite': L.mapbox.tileLayer('mapbox.satellite')
  }, {
    'Quartier de Celibataires': L.mapbox.featureLayer().loadURL('./geojson/celib.geojson'),
    'Ligne Metro': L.mapbox.featureLayer().loadURL('./geojson/subway.geojson')
  }).addTo(mapCluster);
}


/*
** Unique Localisation de l'utilisateur
** Limite 7s et du zoom a 18
*/
function localisation (mapCluster) 
{
  mapCluster.locate({setView: true, watch: false, maxZoom: 18, timeout: 7000}).on('locationfound', function(e)
  {
    L.marker(e.latlng).addTo(mapCluster).bindPopup('Vous êtes ici').openPopup();
  });
}


/*
** Unique Localisation de l'utilisateur
** Formation des cluster via les donnee GeoJSON
*/
function LoadData (mapCluster) 
{
  L.mapbox.featureLayer().loadURL('./geojson/stations.geojson').on('ready', function(e) 
  {
    var clusterGroup = new L.MarkerClusterGroup();
    e.target.eachLayer(function(layer) 
    {
      clusterGroup.addLayer(layer);
    });
    mapCluster.addLayer(clusterGroup);
  });
}


/*
** Accès a l'API Mapbox
** Affichage carte via une page Web
** Lancement des diverses methode du dessus
*/
function plan()
{
  var cities = new L.LayerGroup();

  L.mapbox.accessToken = '<KEY>';
  var mapCluster = L.mapbox.map('map-cluster')
                    .setView([46.81509864599243, 3.0322265625], 6)
                    .addLayer(L.mapbox.tileLayer('mapbox.streets'))
                    .addControl(L.mapbox.geocoderControl('mapbox.places', {keepOpen: false}));
  localisation(mapCluster);
  LoadData(mapCluster);
  checked(mapCluster, L);
}<commit_msg>version 1.2<commit_after>/*
** Début du projet : 23/11/2015
** Derniere modification : 27/11/2015
** Projet realisé par : 
** - perrie_a (<NAME>
** - martin_c (<NAME>)
** - leon_v (<NAME>)
** ETNA - École des Technologies Numériques en Alternance
** Projet OPENDATA - SCC1
*/

/*
** Chargement des CSS
*/
window.onload = function() {
  var css = document.createElement('link');
  css.rel = 'stylesheet';
  css.type = 'text/css';
  css.href = '../style/map.css';
  document.getElementsByTagName('head')[0].appendChild(css);
  css.onload = add_content;
}

/*
** Chargement AJAX des JS
*/
function myRequire(url) {
    var ajax = new XMLHttpRequest();
    ajax.open('GET', url, false);
    ajax.onreadystatechange = function() {
        var script = ajax.response || ajax.responseText;
        if (ajax.readyState === 4) {
            switch(ajax.status) {
                case 200:
                    eval.apply(window, [script]);
                    console.log("script loaded: ", url);
                    break;
                default:
                    console.log("ERROR: script not loaded: ", url);
            }
        }
    };
    ajax.send(null);
}

var add_content = function()
{
  var html_to_add = "<div id='map-cluster' class='map'></div>";
  document.getElementById('InSTRiiTExtension').innerHTML = html_to_add;
  myRequire('https://api.tiles.mapbox.com/mapbox.js/v2.2.3/mapbox.js');
  myRequire('https://api.mapbox.com/mapbox.js/plugins/leaflet-locatecontrol/v0.43.0/L.Control.Locate.min.js');
  myRequire('https://api.tiles.mapbox.com/mapbox.js/plugins/leaflet-markercluster/v0.4.0/leaflet.markercluster.js');
  plan();
};


/*
** Ckecker angle droit de la map
** affiche zone des celibataires de Ivry-sur-Seine + deux lignes de metro parisien
*/
function Checked (mapCluster, L) 
{
  L.control.layers({
    'Vue map': L.mapbox.tileLayer('mapbox.streets').addTo(mapCluster),
    'Vue satellite': L.mapbox.tileLayer('mapbox.satellite')
  }, {
    'Quartier de Celibataires': L.mapbox.featureLayer().loadURL('../example/geojson/celib.geojson'),
    'Ligne Metro': L.mapbox.featureLayer().loadURL('../example/geojson/subway.geojson')
  }).addTo(mapCluster);
}


/*
** Unique Localisation de l'utilisateur
** Limite 7s et du zoom a 18
*/
function Localisation (mapCluster) 
{
  mapCluster.locate({setView: true, watch: false, maxZoom: 18, timeout: 7000})
  .on('locationfound', function(e)
  {
    L.marker(e.latlng).addTo(mapCluster)
     .bindPopup('Vous êtes ici').openPopup();
  });
}


/*
** Unique Localisation de l'utilisateur
** Formation des cluster via les donnee GeoJSON
*/
function LoadData (mapCluster) 
{
  L.mapbox.featureLayer().loadURL('../example/geojson/stations.geojson').on('ready', function(e) 
  {
    var clusterGroup = new L.MarkerClusterGroup();
    e.target.eachLayer(function(layer) 
    {
      clusterGroup.addLayer(layer);
    });
    mapCluster.addLayer(clusterGroup);
  });
}


/*
** Accès a l'API Mapbox
** Affichage carte via une page Web
** Lancement des diverses methode du dessus
*/
function plan()
{
  var cities = new L.LayerGroup();

  L.mapbox.accessToken = '<KEY>';
  var mapCluster = L.mapbox.map('map-cluster').setView([46.81509864599243, 3.0322265625], 6)
                    .addLayer(L.mapbox.tileLayer('mapbox.streets'))
                    .addControl(L.mapbox.geocoderControl('mapbox.places', {keepOpen: false}));
  Localisation(mapCluster);
  LoadData(mapCluster);
  Checked(mapCluster, L);
}
{'fraction_non_alphanumeric': 0.15534388569827706, 'fraction_numerical': 0.019610589718447962, 'mean_word_length': 2.789808917197452, 'pattern_counts': {'":': 0, '<': 15, '<?xml version=': 0, '>': 15, 'https://': 6, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3693104', 'n_tokens_mistral': 2569, 'n_tokens_neox': 2413, 'n_words': 440}