PageSourceSearch

https://www.twiske-waterland.nl/activiteiten

html twiske-waterland.nl collected 2026-10-09 17:09:48 UTC 19,197 bytes, 616 lines download raw bytes

1<!DOCTYPE html>
2<html lang="nl">
3<head>
4<meta charset="utf-8">
5<title>Activiteiten - Twiske-Waterland</title>
6<meta name="description" content="Heerlijk recreëren! Bekijk ons uitgebreid overzicht van leuke activiteiten in het Twiske en Landschap Waterland.">
7<meta property="og:url" content="https://www.twiske-waterland.nl/activiteiten" />
8<meta property="og:type" content="website" />
9<meta property="og:title" content="Activiteiten - Twiske-Waterland" />
10<meta property="og:image" content="https://www.twiske-waterland.nl/grfx/logos/logo_waterland-green_square_margin.png" />
11<meta property="og:description" content="Heerlijk recreëren! Bekijk ons uitgebreid overzicht van leuke activiteiten in het Twiske en Landschap Waterland." />
12<meta name="twitter:card" content="summary_large_image">
13<meta property="twitter:url" content="https://www.twiske-waterland.nl/activiteiten">
14<meta name="twitter:title" content="Activiteiten - Twiske-Waterland">
15<meta name="twitter:description" content="Heerlijk recreëren! Bekijk ons uitgebreid overzicht van leuke activiteiten in het Twiske en Landschap Waterland.">
16<meta name="twitter:image" content="https://www.twiske-waterland.nl/grfx/logos/logo_waterland-green_square_margin.png">
17<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
18<script type="text/javascript" src="/java/jquery/jquery-2.1.4.min.js"></script>
vendor: 1 bytes, line 18
18
19<script type="text/javascript" src="/js/utils-min.js"></script>
vendor: 1 bytes, line 19
19
20<script type="text/javascript" src="/bundle.js"></script>
vendor: 1 bytes, line 20
20
21<script type="text/javascript" src="/js/scripts-min.js"></script>
vendor: 1 bytes, line 21
21
22<script type="text/javascript">
23var count = "0";
24var activiteit = "0";
25var postcode_plaats = "";
26var afstand = "0";
27var lat_lng = "";
28var activiteit_soort = "";
29</script>
vendor: 1 bytes, line 29
29
30<script type="text/javascript">
31var first_time_map = true;
32var qs_temp = '';
33
34async function initGoogleMaps() {
35	// console.log('ready');
36}
37
38
39
40
41$(document).ready(function() {
42
43	$('.search_form').hide();
44
45	get_browse(1);
46
47
48	$('#close_map').click(function() {
49		swap_map();
50	});
51
52});
53
54function swap_map() {
55
56	var map_div = $('#map_container');
57
58	if (map_div.is(':visible')) {
59		map_div.hide();
60		$('#map_text').html('Klik hier voor een plattegrond met alle activiteiten in Twiske-Waterland');
61	} else {
62		map_div.show();
63		$('#map_text').html('Klik hier om de kaart te sluiten');
64		if (first_time_map==true) {
65			create_map();
66		}
67		first_time_map = false
68	}
69}
70
71let firstLoad = true;
72
73function get_browse(count) {
74
75	const pageSize = 8;
76
77	let page = Math.round(count / pageSize) + 1;
78
79	if(count == 1 && firstLoad){
80		//get page from URL:
81		const currentUrl = new URL(window.location.href);
82		page = currentUrl.searchParams.get('page');
83
84		if(page && firstLoad){
85			count = ((page - 1) * pageSize) + 1;
86			firstLoad = false;
87		}
88
89	} else {
90		firstLoad = false;
91	}
92
93	//set page in URL without reloading:
94	if(page) {
95		const currentUrl = new URL(window.location.href);
96		currentUrl.searchParams.set('page', page);
97		history.pushState({count: count, page: page}, null, currentUrl);
98	
99	}
100	
101
102
103//---------------------------------------------------------------
104// create browse url
105//---------------------------------------------------------------
106
107	url = '/content/browse_content.php';
108qs_temp = '?browse_type=activiteiten&menu=80&activiteit=' + activiteit + '&lat_lng='+lat_lng+'&postcode_plaats=' + postcode_plaats + '&afstand=' + afstand + '&count=' + count + '&activiteit_soort=' + activiteit_soort;
109url += qs_temp;
110
111//---------------------------------------------------------------
112// get json browse
113//---------------------------------------------------------------
114
115$.ajax({
116    cache: false,
117    url: url,
118    dataType: "json",
119    success: function( data ) {
120		$('#browse_content') .html(data.content);																			// display result
121			$('#browse_content').scrollTop(0);																					// scroll to top
122			$('#map_text').html('Klik hier voor een plattegrond met alle activiteiten in Twiske-Waterland');
123			$('#map_container').hide();
124
125			// if not results then search-screen
126
127			if (data.found==0) {
128				$('.search_form').show();
129				return;
130			}
131
132			$('.jump').on('click', function(e) {	
133				const _count = $(this).data('count');
134				get_browse(_count);
135
136			});
137
138			$('.jump').on('keypress', function(e){
139				if(e.key == 'Enter') {
140					const _count = $(this).data('count');
141					get_browse(_count);
142				}
143			});
144
145			$('.swap_map').on('click', function() {
146				swap_map();
147			});
148			
149			$('.swap_map').on('keypress', function(e){
150				if(e.key == 'Enter') {
151					swap_map();
152				}
153			});
154	},
155	fail: function(textStatus, error ) {
156		var err = textStatus + ", " + error;
157		console.log( "Request Failed: " + err );
158	}
159});
160
161
162
163// $.getJSON(
164// 	 url, 
165// function( data ) {
166
167
168// 	$('#browse_content')
169// 	.html(data.content);																			// display result
170// 		$('#browse_content').scrollTop(0);																					// scroll to top
171// 		$('#map_text').html('Klik hier voor een plattegrond met alle activiteiten in Twiske-Waterland');
172// 		$('#map_container').hide();
173
174// 		// if not results then search-screen
175
176// 		if (data.found==0) {
177// 			$('.search_form').show();
178// 			return;
179// 		}
180
181// 		$('.jump').on('click', function(e) {	
182// 			const _count = $(this).data('count');
183// 			get_browse(_count);
184
185// 		});
186
187// 		$('.jump').on('keypress', function(e){
188// 			if(e.key == 'Enter') {
189// 				const _count = $(this).data('count');
190// 				get_browse(_count);
191// 			}
192// 		});
193
194// 		$('.swap_map').on('click', function() {
195// 			swap_map();
196// 		});
197		
198// 		$('.swap_map').on('keypress', function(e){
199// 			if(e.key == 'Enter') {
200// 				swap_map();
201// 			}
202// 		});
203// 	}).fail(function(textStatus, error ) {
204// 		var err = textStatus + ", " + error;
205// 		console.log( "Request Failed: " + err );
206// 	})
207
208	
209}
210
211	var ol_point = [4.8, 52.5];
212	var mlb_lightbox_window = $.noop;
213	var google_map  	= null;
214	var ol_map 			= null;
215	var schappen		= null;
216	var activiteiten 	= null;
217	function init() {
218		var view = new ol.View({
219			center:  ol.proj.fromLonLat(ol_point),
220			zoom: 10
221		});
222
223
224		var osm = new ol.layer.Tile({
225			title: 'osm',
226			source: new ol.source.OSM()
227		});
228
229		activiteiten = new ol.layer.Vector({
230			is_geojson: true,
231			grfx_directory: '/grfx/',
232			source: new ol.source.Vector({
233				format: new ol.format.GeoJSON(),
234				url: '/content/get_geo_json.php'+qs_temp,
235				wrapX: false
236			})
237		});
238
239		map_options = {
240			target: $('#map_ol')[0],
241			view: view,
242			interactions: ol.interaction.defaults({
243				altShiftDragRotate: false,
244				dragPan: false,
245				rotate: false
246			}).extend([new ol.interaction.DragPan({kinetic: null})])
247		};
248
249		layers_ui = function () {
250			var that = {};
251			var layers = [];
252
253			function reverse() {
254			var base = that.l.filter(function(l){ return true ? l.get('is_base') : !l.get('is_base'); });
255			var regular = that.l.filter(function(l){ return false ? l.get('is_base') : !l.get('is_base'); });
256
257			that.l = [].concat(base.reverse(), regular.reverse());
258			return that.l;
259			}
260
261			var get_layers = function () {
262
263			return that.l;																						// nu worden layers in source volgorde
264			};
265
266
267			var remove_layer = function (index) {																	// remove layer with index number
268			map.removeLayer(that.l[index]);																		// remove from map
269			that.l = map.getLayers().getArray().slice();
270			create_layer_list()
271
272			};
273
274
275			var set_at =  function (new_index, index) {																// index = huidige index|  new_index = gewenste index
276			var layer_to_swap = map.getLayers().item(index);													// save layer
277
278			map.removeLayer(layer_to_swap);
279			map.getLayers().insertAt(new_index, layer_to_swap);												    // insert layer on new place
280
281
282			that.l = map.getLayers().getArray().slice();														// fill array with new layers
283			create_layer_list()																					// display layers in list
284			};
285
286			var add_layer = function (ol_layer) {
287			if (ol_layer) {
288				that.l.push(ol_layer);																			// add to array
289				map.addLayer(ol_layer);																			// add to map
290			}
291
292			create_layer_list()
293			};
294
295			var add_layer_at = function (ol_layer) {
296
297			map.getLayers().insertAt(that.count('is_not_ui'), ol_layer);										// add to map
298			that.l = map.getLayers().getArray().slice();
299			create_layer_list()
300			};
301
302
303			var  count = function (prop, status) {
304			return that.l.filter(function(l){ return status ? l.get(prop) : !l.get(prop); }).length;
305			}
306
307			var find_m_key = function (prop) {																			//verlopig een
308			for (var i = 0; i < that.l.length; i++ ) {
309				if (that.l[i].get('m_key') == prop) {
310					return i;
311				}
312			}
313			return -1;
314			}
315
316
317			that.l = layers;
318			that.reverse = reverse;
319			that.get_layers = get_layers;
320			that.remove_layer = remove_layer;
321			that.add_layer = add_layer;
322			that.add_layer_at = add_layer_at;
323			that.set_at = set_at;
324			that.count = count;
325			that.find_m_key = find_m_key;
326			return that;
327
328		};
329
330		layers = new layers_ui();
331
332		layers.l.push(activiteiten);
333
334
335
336		map_function_init_suffix();
337		act_popup_window();
338
339		vector_layer_active(function (feature) {
340				feature.setStyle(new ol.style.Style({
341					image:  new ol.style.Icon(({
342						anchor: [0.5, 0.5],
343						anchorXUnits: 'fraction',
344						anchorYUnits: 'fraction',
345						src: feature.get('icon')
346					}))
347				}));
348		});
349		 ol_map = map;
350		 google_map = new google.maps.Map($('#map')[0], {
351			zoom: 10,
352			// mapTypeId: 'satellite',
353			center:{lat:ol_point[1],lng:ol_point[0]},
354			disableDefaultUI: true,
355			keyboardShortcuts: false,
356			draggable: false,
357			disableDoubleClickZoom: true,
358			scrollwheel: false,
359			streetViewControl: false
360		});
361
362		view.on('change:center', function() {
363		  var center = ol.proj.transform(view.getCenter(), 'EPSG:3857', 'EPSG:4326');
364		  google_map.setCenter(new google.maps.LatLng(center[1], center[0]));
365		});
366
367		view.on('change:resolution', function() {
368		  google_map.setZoom(view.getZoom());
369		});
370
371
372	}
373
374
375	function wait_for_exec(_options) {
376		var options = $.extend({
377			max_timeout: 2000,
378			interval: 10,
379			exec: $.noop,
380			callback: $.noop,
381			timeout: $.noop
382		}, _options);
383
384		var start_time = Date.now();
385
386		var wait_for = function () {
387			if ( start_time + options.max_timeout < Date.now() ) {
388
389				return options.timeout();
390			}
391			if (options.exec()) {
392				return 	options.callback();
393			}
394			setTimeout(wait_for, options.interval);
395		};
396
397		wait_for();
398
399	}
400
401function create_map() {
402
403		init();
404
405		var waitfor = [
406			activiteiten,
407		];
408
409		wait_for_exec({
410			exec:function () {
411				return waitfor.every(function(item) { return !ol.extent.isEmpty(item.getSource().getExtent())});
412			},
413			max_timeout: 1000,
414			callback: function(){
415
416				var extent = ol.extent.createEmpty();
417				waitfor.forEach(function (item) {
418					ol.extent.extend(extent, item.getSource().getExtent());
419				});
420
421
422				ol_map.getView().fit(extent, ol_map.getSize(), {
423					maxZoom: 14
424				});
425				ol_map.updateSize();
426
427
428			},
429			timeout: function(){
430
431				// console.log('Something went wrong')
432				var extent = ol.extent.createEmpty();
433				waitfor.forEach(function (item) {
434					if ( !ol.extent.isEmpty(item.getSource().getExtent())) {
435						ol.extent.extend(extent, item.getSource().getExtent());
436					}
437				});
438
439				ol_map.getView().fit(extent, ol_map.getSize(), {
440					maxZoom: 14
441				});
442				ol_map.updateSize();
443
444			}
445		});
446
447
448		map.on('click', function (event){													// mouse event on map
449			show_feature_details(event);																			// postition of map
450		});
451		map.on('pointermove', function (event){
452			show_cursor(event);																			// postition of map
453		});
454
455		function show_cursor(event) {
456			var map = event.map;																	// show get_feature
457			var feature = map.forEachFeatureAtPixel(event.pixel, function(feature, layer) {
458				if (layer != schappen) return feature;
459			});
460
461			if (feature) {
462				$(map.getTargetElement()).css('cursor', 'pointer');
463
464			} else {
465				$(map.getTargetElement()).css('cursor', '');
466			}
467
468		}
469
470		function show_feature_details(e) {
471			var pixel = e.pixel;
472			var feature = map.forEachFeatureAtPixel(pixel, function(feature, layer) {
473				if (layer != schappen) return feature;
474			});
475
476			if ( feature ) {
477				$('#popup_content').html(feature.get('content'));
478				$('#popup_content').data('extra', feature.get('extra'));
479				if (popup) {
480					popup.show(e);
481				}
482
483			}
484		}
485
486
487}
488
489</script>
vendor: 2 bytes, line 489
489
490<script src="/java/ol3.19.1/build/ol.js"></script>
vendor: 2 bytes, line 490
490
491<script src="/java/maris_ol3.19.1/map_functions-min.js"></script>
491
492	
492<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?from_applic_class=1&language=nl&key=AIzaSyCZYPBiFNCb4u9K8sPguL4dwx_7b_dGR1Q&callback=initGoogleMaps"></script>
492
493<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico">
494<link rel="apple-touch-icon" href="/apple-touch-icon.png">
495<link rel="apple-touch-icon" href="/apple-touch-icon-precomposed.png">
496<link rel="apple-touch-icon" sizes="76x76" href="/apple-touch-icon-76x76.png">
497<link rel="apple-touch-icon" sizes="120x120" href="/apple-touch-icon-120x120.png">
498<link rel="apple-touch-icon" sizes="152x152" href="/apple-touch-icon-152x152.png">
499<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon-180x180.png">
500
501
502<script>
503	$(document).ready(function(){
504
505		//hamburger for responsiveness
506		$('#navbar').prepend('<button id="menu-icon" class"menu-button" tabindex="0">Menu</button>');
507
508		$("#menu-icon").on("click", function(){
509			$("#nav").slideToggle({complete: function () {if (this.style.display === 'none') $(this).css('display','')}});
510			$(this).toggleClass("active");
511		});
512
513	});
514</script>
514
515
516<link href="/css/style.css" rel="stylesheet"/>
517<link rel="stylesheet" type="text/css" href="/css/kaart.css" />
518<link rel="stylesheet" type="text/css" href="/java/ol3.19.1/css/ol.css" />
519<link rel="stylesheet" type="text/css" href="/css/activiteit.css" />
520<link href="/css/gebied-twiske-waterland.css" rel="stylesheet"/>
521</head>
522<body>
523<header  class="activiteit-pageheader" >
524<div id="topbar">
525<div class="wrapper">
526<a href="#content" class="wcag-tab-content-link" tabindex="0" >Spring naar inhoud</a>
527<div class="logo">
528<a href="https://www.twiske-waterland.nl">Twiske-Waterland</a>
529</div>
530<p class="btn notification-btn"><a href="/melding-doen">Melding doen</a></p>
531<ul class="social-icons col">
532<li><a href="https://www.facebook.com/twiskewaterland " target="_blank" data-social="facebook"
533 data-tooltip="Volg ons op Facebook" data-position="left" class="bottom header-icons">
534 <i class="fab fa-facebook-square"></i></a></li>
535<li><a href="https://www.instagram.com/twiske_waterland/" target="_blank" data-social="instagram"
536 data-tooltip="Volg ons op Instagram" data-position="left" class="bottom header-icons">
537 <i class="fab fa-instagram"></i></a></li>
538</ul>
539<div id="freesearch">
540<form action="/content/google_results.php" id="cse-search-box" method="get">
541
542							<label for="txtGoogleSearch">
543								<input type="search" name="q" size="35" id="txtGoogleSearch" placeholder="Zoeken" />
544							</label>
545						
546
547						<label for="zoeken">
548							<input type="submit" title="Zoeken" id="zoeken" />
549						</label>
550					
551</form>
552</div>
553</div>
554</div>
555<nav class="nav-wrapper">
556<div id="navbar" class="nav-inner">
557<ul id="nav" class="nav">
558<li><a href="/Home" >Home</a></li><li class="nav-open"><a href="/Activiteiten" >Activiteiten</a></li><li><a href="/Nieuws" >Nieuws</a></li><li><a href="/Agenda" >Agenda</a></li><li><a href="/Kaart" >Kaart</a></li><li><a href="/Over" >Over</a><div class="nav-submenu"><div class="wrapper"><ol><li><a href="/Over/Cultuur-en-historie" >Cultuur en historie</a></li><li><a href="/Over/Natuur" >Natuur</a></li><li><a href="/Over/Huisregels" >Huisregels</a></li><li><a href="/Over/Bereikbaarheid" >Bereikbaarheid</a></li><li><a href="/Over/Over-de-organisatie" >Over de organisatie</a></li></ol></div></div></li><li><a href="/Beleid-en-bestuur" >Beleid en bestuur</a><div class="nav-submenu"><div class="wrapper"><ol><li><a href="/Beleid-en-bestuur/Beleid" >Beleid</a></li><li><a href="/Beleid-en-bestuur/Vergaderingen" >Vergaderingen</a></li><li><a href="/Beleid-en-bestuur/Kerncijfers" >Kerncijfers</a></li><li><a href="/Beleid-en-bestuur/Documenten" >Documenten</a></li><li><a href="/Beleid-en-bestuur/Bestuur" >Bestuur</a></li></ol></div></div></li><li><a href="/Projecten" >Projecten</a></li><li><a href="/Zaken-doen" >Zaken doen</a><div class="nav-submenu"><div class="wrapper"><ol><li><a href="/Zaken-doen/Terreingebruik" >Terreingebruik</a></li><li><a href="/Zaken-doen/Vastgoed" >Vastgoed</a></li></ol></div></div></li><li><a href="/Parkeren" >Parkeren</a></li><li><a href="/Contact" >Contact</a></li>
559</ul>
560</div>
561</nav>
562</header>
563<div id="main"><div class="wrapper"><div id="container" class="clearfix"><aside>
564</aside>
565<div id="content">
566		<div id="map_container">
567			<span id="close_map" class="close-map"></span>
568			<div id="map" class="map"></div>
569			<div id="map_ol"  class="map">
570
571				<div id="buttons-route">
572					<ul>
573						<li id="zoom_in" 			class="map_control_zoom_in fa fa-plus" 	title="Zoom in"></li>
574						<li id="zoom_out" 			class="map_control_zoom_out fa fa-minus" title="Zoom uit"></li>
575					</ul>
576				</div>
577
578			</div>
579			<div id="popup" class="close-popup"><ul><li id="popup_close" class="popup-close">X</li></ul><div id="popup_content" class="popup-content"></div></div>
580		</div>
581
582		<div id="browse_content">
583		</div>
584
585
586
587</div></div></div></div><footer>
588<div class="wrapper clearfix">
589<div class="footermenu clearfix">
590<ul>
591<li><a href="/Home" >Home</a></li><li><a href="/Activiteiten" >Activiteiten</a></li><li><a href="/Nieuws" >Nieuws</a></li><li><a href="/Agenda" >Agenda</a></li><li><a href="/Kaart" >Kaart</a></li><li><a href="/Over" >Over</a></li><li><a href="/Beleid-en-bestuur" >Beleid en bestuur</a></li><li><a href="/Projecten" >Projecten</a></li><li><a href="/Zaken-doen" >Zaken doen</a></li><li><a href="/Parkeren" >Parkeren</a></li><li><a href="/Contact" >Contact</a></li></ul>
592</div>
593<div class="logo">
594<a href="https://www.twiske-waterland.nl">Twiske-Waterland</a>
595<ul class="privacy-statement">
596<li><a href="/Privacyverklaring" >Privacyverklaring</a></li>
597<li><a href="/Cookiestatement" >Cookiestatement</a></li>
598<li><a href="/Toegankelijkheidsverklaring" >Toegankelijkheidsverklaring</a></li>
599<li><a href="/Webarchief" >Webarchief</a></li>
600</ul>
601</div>
602</div>
603
604<!-- Global Site Tag (gtag.js) - Google Analytics -->
vendor: 65 bytes, lines 604-605
604
605<script async src="https://www.googletagmanager.com/gtag/js?id=
605UA-105251100-3
vendor: 13 bytes, line 605
605"></script>
606<script>
607  window.dataLayer = window.dataLayer || [];
608  function gtag(){dataLayer.push(arguments)};
609  gtag('js', new Date());
610
611  gtag('config', 'UA-105251100-3', { 'anonymize_ip': true });
612</script>
612
613
614</footer>
615</body>
616</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.