[lvgo.nl]",
"link": '/538',
"lat": '51.9631957',
"lng": ' 4.494990899999999',
"id": '1',
},
];
function initMap() {
var zoom = 8;
var pinSize = 30;
if(window.innerWidth < 1000){
zoom = 7;
pinSize = 24;
}
var mapOptions = {
mapId: '2316aa53ffbfb5d3',
zoom: zoom,
minZoom: zoom - 1,
maxZoom: zoom + 5,
center: { lat: 52.15, lng: 5.3 },
mapTypeControl: false,
streetViewControl: false,
restriction: {
// Zuidwest: Ongeveer 50.7500° N, 3.3583° E (bij de grens met België)
// Noordoost: Ongeveer 53.5000° N, 7.2275° E (bij de grens met Duitsland)
latLngBounds: {
north: 56, //53.7,
south: 47, //50.5,
east: 10, //7.5,
west: 1 //3.6,
},
},
};
var pin = {
url: "/inc/img/pin.svg",
scaledSize: new google.maps.Size(pinSize, pinSize),
origin: new google.maps.Point(0, 0),
anchor: new google.maps.Point(pinSize/2, pinSize/2),
};
var infoWindow = new google.maps.InfoWindow();
window.gMapInfoWindow = infoWindow;
google.maps.event.addListener(infoWindow,'closeclick',function(){
jQuery('.the-items li a').removeClass('hover');
});
var map = new google.maps.Map(document.getElementById("gmap"), mapOptions);
fetch('/netherlands.geojson')
.then(response => response.json())
.then(data => {
map.data.addGeoJson(data);
// Optioneel: stijl de polygonen
map.data.setStyle({
fillColor: '#88C9BF',
strokeWeight: 1,
strokeColor: '#ffffff',
fillOpacity: 1
});
})
.catch(error => {
console.error('Error loading GeoJSON:', error);
});
var i = 0;
window.markerById = {};
if (markers.length > 0) {
var interval = setInterval(function () {
var data = markers[i];
//data.i = i;
var myLatlng = new google.maps.LatLng(data.lat, data.lng);
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
//icon: pin,
title: data.title,
optimized: false,
animation: google.maps.Animation.DROP
});
window.markerById[data.id] = marker;
(function (marker, data) {
var plaats = (data.plaats ? data.plaats + '
' : '');
var content = '';
google.maps.event.addListener(marker, "click", function (e) {
infoWindow.setContent(content);
infoWindow.open(map, marker);
jQuery('.the-items li a').removeClass('hover');
jQuery('.the-items #nr' + data.id + ' a').addClass('hover');
});
})(marker, data);
i++;
if (i == markers.length) {
clearInterval(interval);
}
}, 10);
}
// Voeg nog wat plaatsnamen toe
var provinces = [
{ name: "Amsterdam", lat: 52.3676, lng: 4.9041 }, // Noord-Holland
{ name: "Utrecht", lat: 52.0907, lng: 5.1214 }, // Utrecht
{ name: "Rotterdam", lat: 51.9225, lng: 4.4792 }, // Zuid-Holland
{ name: "Den Haag", lat: 52.0705, lng: 4.3007 }, // Zuid-Holland
{ name: "Groningen", lat: 53.2194, lng: 6.5665 }, // Groningen
{ name: "Leeuwarden", lat: 53.2010, lng: 5.7999 }, // Friesland
{ name: "Assen", lat: 52.9930, lng: 6.5665 }, // Drenthe
{ name: "Zwolle", lat: 52.5158, lng: 6.0830 }, // Overijssel
{ name: "Apeldoorn", lat: 52.2112, lng: 5.9699 }, // Gelderland
{ name: "Arnhem", lat: 51.9851, lng: 5.8987 }, // Gelderland
{ name: "Nijmegen", lat: 51.8422, lng: 5.8379 }, // Gelderland
//{ name: "Tilburg", lat: 51.5853, lng: 5.0563 }, // Noord-Brabant
{ name: "Den Bosch", lat: 51.6863, lng: 5.2969 }, // Noord-Brabant
{ name: "Eindhoven", lat: 51.4416, lng: 5.4697 }, // Noord-Brabant
{ name: "Breda", lat: 51.5719, lng: 4.7683 }, // Noord-Brabant
{ name: "Middelburg", lat: 51.4995, lng: 3.6139 }, // Zeeland
{ name: "Leiden", lat: 52.1601, lng: 4.4931 }, // Zuid-Holland
//{ name: "Haarlem", lat: 52.3874, lng: 4.6462 }, // Noord-Holland
{ name: "Alkmaar", lat: 52.6280, lng: 4.7530 }, // Noord-Holland
{ name: "Maastricht", lat: 50.8514, lng: 5.6880 }, // Limburg
{ name: "Lelystad", lat: 52.5105, lng: 5.4869 }, // Flevoland
{ name: "Venlo", lat: 51.3606, lng: 6.1710 } // Limburg
];
provinces.forEach(province => {
var marker = new google.maps.Marker({
position: { lat: province.lat, lng: province.lng },
map: map,
title: province.name,
label: {
text: province.name,
color: "#666666", // Pas de kleur aan zoals gewenst
fontWeight: "bold",
},
icon: {
path: google.maps.SymbolPath.CIRCLE,
scale: 0 // Maak de marker onzichtbaar
}
});
});
// Listen for events after map initialization
jQuery(window).resize(function() {
google.maps.event.trigger(map, 'resize');
});
jQuery(window).on('load',function() {
google.maps.event.trigger(map, 'resize');
});
/*
google.maps.event.addListener(map, 'resize', function() {
var bounds = map.getBounds();
map.fitBounds(bounds);
});
*/
}