File size: 2,778 Bytes
4dc76bd
 
 
 
 
 
fd1892e
a0f098c
34cc09a
 
 
 
a0f098c
 
3f2ed7e
34cc09a
c816bfa
34cc09a
 
 
 
 
3f2ed7e
34cc09a
3f2ed7e
34cc09a
3f2ed7e
 
 
 
 
 
 
 
34cc09a
3f2ed7e
 
 
 
c816bfa
3f2ed7e
 
 
 
 
 
 
 
 
 
 
 
 
 
34cc09a
 
 
 
3f2ed7e
 
4c4e170
3f2ed7e
 
 
 
 
 
 
 
 
 
 
 
 
34cc09a
3f2ed7e
4c4e170
3f2ed7e
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
const map = L.map('map').setView([20, 0], 2);

L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
  attribution: '© OpenStreetMap contributors'
}).addTo(map);

// Custom robot marker icon for Local Hackathon
const robotIcon = L.icon({
  iconUrl: 'https://cdn.shopify.com/s/files/1/0767/2040/6877/files/LeRobot.png?v=1745423992',
  iconSize: [35, 35],
  iconAnchor: [20, 40],
  popupAnchor: [0, -35]
});

// Custom HQ marker icon
const hqIcon = L.icon({
  iconUrl: 'https://cdn.shopify.com/s/files/1/0767/2040/6877/files/HF_Logo.png?v=1745427981',
  iconSize: [35, 35],
  iconAnchor: [20, 40],
  popupAnchor: [0, -35]
});

// Function to add markers from a dataset
function addMarkers(data, icon) {
  console.log('Processing data:', data); // Log the data being processed
  data.forEach(entry => {
    const lat = parseFloat(entry.latitude || entry.latitude);
    const lng = parseFloat(entry.longitude || entry.longitude);
    const name = entry.name || entry.name || 'Unknown';
    const desc = entry.description || entry.Description || '';
    const address = entry.address || entry.address || 'N/A';
    const nbPeople = entry.nb_of_people || entry.nb_of_people || '';
    const discordUsername = entry.discord_username || entry.discord_username || '';

    if (!isNaN(lat) && !isNaN(lng)) {
      let popupContent = `
        <strong>${name}</strong><br>
        ${desc}<br>
        <strong>Address:</strong> ${address}<br>
      `;

      if (nbPeople && nbPeople !== 'N/A') {
        popupContent += `<strong>Nb of People:</strong> ${nbPeople}<br>`;
      }

      if (discordUsername && discordUsername !== 'N/A') {
        popupContent += `<strong>Discord Username:</strong> ${discordUsername}<br>`;
      }

      L.marker([lat, lng], { icon: icon })
        .addTo(map)
        .bindPopup(popupContent);
    } else {
      console.warn('Invalid coordinates:', entry); // Log entries with invalid coordinates
    }
  });
}


// Fetch and process the first dataset
fetch('data_HQ_HF.json')
  .then(response => {
    if (!response.ok) {
      throw new Error('Network response was not ok');
    }
    return response.json();
  })
  .then(data => {
    console.log('Fetched data_HQ_HF.json:', data); // Log the fetched data
    addMarkers(data, hqIcon);
  })
  .catch(error => {
    console.error('Error fetching data_HQ_HF.json:', error);
  });

// Fetch and process the second dataset
fetch('data.json')
  .then(response => {
    if (!response.ok) {
      throw new Error('Network response was not ok');
    }
    return response.json();
  })
  .then(data => {
    console.log('Fetched data.json:', data); // Log the fetched data
    addMarkers(data, robotIcon);
  })
  .catch(error => {
    console.error('Error fetching data.json:', error);
  });