
{"id":2427,"date":"2016-08-10T14:37:29","date_gmt":"2016-08-10T12:37:29","guid":{"rendered":"http:\/\/www.tastyweb.nl\/blog\/?p=2427"},"modified":"2025-07-25T19:46:00","modified_gmt":"2025-07-25T17:46:00","slug":"9-12-augustus-retour-camper-naar-ijsland","status":"publish","type":"post","link":"https:\/\/tastyweb.nl\/blog\/?p=2427","title":{"rendered":"9 &#8211; 12 augustus: Retour camper &#8211; naar IJsland"},"content":{"rendered":"<p>Vanaf Old Orchard Beach gaan we naar een camping vlakbij waar we de camper in moeten leveren. Best een eindje rijden.<\/p>\n<p>We vertrekken best op tijd. Eerst natuurlijk ontbijt bij Dunkin Donuts, Alice wil weer een keer naar Starbucks maar die zit er dan niet. Deze zit ook bij een supermarkt, meteen de laatste keer boodschappen doen ook voor thuis. Dan verder op pad.<\/p>\n<p>Ik heb nog een tussenstop ingepland bij een mall. Ik wil een slijpmachientje kopen, mooie lunchstop bij de foodcourt. 2 soorten Cheesesteaks worden het. Blijft leuk zo&#8217;n foodcourt! Helaas is het slijpmachientje wat te groot om mee te nemen, jammer scheelt toch bijna \u20ac 100,- met bij ons. Kids mogen nog een kadootje voor de terugreis, Florian een Hulk en Rosalie wat LEGO.<\/p>\n<p>Daarna weer verder, het is erg druk rond Boston. Uiteindelijk zijn we om 16 uur op de KOA camping in Middleboro. Niets bijzonders, wel schone washokken, zwembad, speeltuin, springkussen en minigolf, kids zijn voorzien ;-).<\/p>\n<p>De verwachting voor vandaag qua weer is regen. Hmmm jammer voor zo&#8217;n laatste dag met de camper! We slapen uit en ik ga een rondje hardlopen, dan begint het ook te regenen, steeds harder!<\/p>\n<p>We zoeken maar een winkelcentrum in de buurt op om te gaan lunchen. Kort ritje door de stromende regen, koud is het totaal niet. Een top lunch!! Een erg goed Mexicaans tentje in de foodcourt, ik kies 3 verschillende zachte taco&#8217;s, kip, rund en varken. Allemaal super met lekkere salsa&#8217;s. Alice een flinke burrito, ook top. Over de kids zal ik het maar niet hebben. Als we terug lopen zie ik een pretzel tentje wat ik ken uit San Diego, daar neem ik nog een gratefull garlic pretzel met pittige kaas dip, lekker. Top lunch! Nog ff bij Best Buy koelkasten kijken, mooie modellen ;-)!<\/p>\n<p>Als we terugkomen is het droog, kids nog ff zwemmen, springen en spelen. Zelfs nog ff kampvuurtje aan. We laten pizza en pasta bezorgen, dat is echt makkelijk hier. De voorbereidingen voor morgen doen we ook al, het minst leuke van de vakantie, inpakken, opruimen en schoonmaken van camper. Ach ja, morgen nachtje hotel en een auto.<\/p>\n<p>Het is een erg plakkerige nacht, heel warm en benauwd. We zijn ook vroeg wakker, de kids vanaf 6 uur, poeh! Wij dutten nog wat maar ik ga er ook al snel uit. Best vroeg dus maar uiteindelijk zijn we om 10.15 klaar. Heerlijk helpende kinderen ;-). Het terugbrengen verloopt voorspoedig, aardige vent. Dan naar Hertz, die komt mij ophalen, handig en geen taxi nodig. Florian gaat ook mee. Helaas duurt dat weer wat langer, computer\/systeem doet het niet. Dan maar old-school op papier, ach ja het lukt. Rosalie en Alice ophalen, Florian is in die 5 minuten in slaap gevallen. Hmmm in een auto rijden is toch relaxter dan in een camper ;-). Inpakken en dan richting hotel, eerst nog ff lunchen. Lekkere sandwich en wrap voor ons, kids soep en natuurlijk frites en tenders.<\/p>\n<p>We kunnen meteen op de kamer. Alle zooi mee, kunnen we de koffers reorganiseren. Het is heel warm en benauwd weer, ff zwemmen en fijn in een koele kamer, douchen. Het begint dan ook gigantisch te regenen, echt een tropische bui met ook dezelfde benauwde warmte.<\/p>\n<p>Het plan was om sushi te gaan eten maar iedereen (behalve ik ;-)) wil op de kamer eten. Effe kijken of er sushi bezorgd wordt, yep! Handig. Sushi bezorging dus. Daarna nog ff een ijsje halen.<\/p>\n<p>Lekker weer in een normaal bed en alles bij de hand. Lekker. Op tijd gaan we slapen, bij iedereen gaat het licht uit.<\/p>\n<p>Onze vlucht gaat om 14.35, dus we kunnen het rustig aan doen. Rond 10 uur moeten we hier weg, richting vliegveld, met drukte een uurtje rijden.<\/p>\n<p>Op naar IJsland!<\/p>\n<p><!-- index.php -->\n<div\n\tclass=\"ngg-galleryoverview\n\t ngg-ajax-pagination-none\t\"\n\tid=\"ngg-gallery-fca9b58afa63adb58e06874d5e49bb9a-1\">\n\n\t\t<div class=\"slideshowlink\">\n\t\t<a href='https:\/\/tastyweb.nl\/blog\/index.php\/nggallery\/slideshow?p=2427'>[Show as slideshow]<\/a>\n\n\t<\/div>\n\t\t\t<!-- Thumbnails -->\n\t\t\t\t<div id=\"ngg-image-0\" class=\"ngg-gallery-thumbnail-box\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"ngg-gallery-thumbnail\">\n\t\t\t<a href=\"https:\/\/tastyweb.nl\/blog\/wp-content\/gallery\/retour\/IMG_6668.jpg\"\n\t\t\t\ttitle=\"\"\n\t\t\t\tdata-src=\"https:\/\/tastyweb.nl\/blog\/wp-content\/gallery\/retour\/IMG_6668.jpg\"\n\t\t\t\tdata-thumbnail=\"https:\/\/tastyweb.nl\/blog\/wp-content\/gallery\/retour\/thumbs\/thumbs_IMG_6668.jpg\"\n\t\t\t\tdata-image-id=\"1227\"\n\t\t\t\tdata-title=\"Foodcourt Burlington\"\n\t\t\t\tdata-description=\"\"\n\t\t\t\tdata-image-slug=\"img_6668-1\"\n\t\t\t\tclass=\"ngg-fancybox\" rel=\"fca9b58afa63adb58e06874d5e49bb9a\">\n\t\t\t\t<img\n\t\t\t\t\ttitle=\"Foodcourt Burlington\"\n\t\t\t\t\talt=\"Foodcourt Burlington\"\n\t\t\t\t\tsrc=\"https:\/\/tastyweb.nl\/blog\/wp-content\/gallery\/retour\/thumbs\/thumbs_IMG_6668.jpg\"\n\t\t\t\t\twidth=\"100\"\n\t\t\t\t\theight=\"75\"\n\t\t\t\t\tstyle=\"max-width:100%;\"\n\t\t\t\t\/>\n\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\n\t\t\n\t\t\t\t<div id=\"ngg-image-1\" class=\"ngg-gallery-thumbnail-box\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"ngg-gallery-thumbnail\">\n\t\t\t<a href=\"https:\/\/tastyweb.nl\/blog\/wp-content\/gallery\/retour\/IMG_6669.jpg\"\n\t\t\t\ttitle=\"\"\n\t\t\t\tdata-src=\"https:\/\/tastyweb.nl\/blog\/wp-content\/gallery\/retour\/IMG_6669.jpg\"\n\t\t\t\tdata-thumbnail=\"https:\/\/tastyweb.nl\/blog\/wp-content\/gallery\/retour\/thumbs\/thumbs_IMG_6669.jpg\"\n\t\t\t\tdata-image-id=\"1228\"\n\t\t\t\tdata-title=\"Laatste KOA camping\"\n\t\t\t\tdata-description=\"\"\n\t\t\t\tdata-image-slug=\"img_6669-1\"\n\t\t\t\tclass=\"ngg-fancybox\" rel=\"fca9b58afa63adb58e06874d5e49bb9a\">\n\t\t\t\t<img\n\t\t\t\t\ttitle=\"Laatste KOA camping\"\n\t\t\t\t\talt=\"Laatste KOA camping\"\n\t\t\t\t\tsrc=\"https:\/\/tastyweb.nl\/blog\/wp-content\/gallery\/retour\/thumbs\/thumbs_IMG_6669.jpg\"\n\t\t\t\t\twidth=\"100\"\n\t\t\t\t\theight=\"75\"\n\t\t\t\t\tstyle=\"max-width:100%;\"\n\t\t\t\t\/>\n\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\n\t\t\n\t\t\t\t<div id=\"ngg-image-2\" class=\"ngg-gallery-thumbnail-box\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"ngg-gallery-thumbnail\">\n\t\t\t<a href=\"https:\/\/tastyweb.nl\/blog\/wp-content\/gallery\/retour\/IMG_6672.jpg\"\n\t\t\t\ttitle=\"\"\n\t\t\t\tdata-src=\"https:\/\/tastyweb.nl\/blog\/wp-content\/gallery\/retour\/IMG_6672.jpg\"\n\t\t\t\tdata-thumbnail=\"https:\/\/tastyweb.nl\/blog\/wp-content\/gallery\/retour\/thumbs\/thumbs_IMG_6672.jpg\"\n\t\t\t\tdata-image-id=\"1229\"\n\t\t\t\tdata-title=\"Serieus mini golf\"\n\t\t\t\tdata-description=\"\"\n\t\t\t\tdata-image-slug=\"img_6672-1\"\n\t\t\t\tclass=\"ngg-fancybox\" rel=\"fca9b58afa63adb58e06874d5e49bb9a\">\n\t\t\t\t<img\n\t\t\t\t\ttitle=\"Serieus mini golf\"\n\t\t\t\t\talt=\"Serieus mini golf\"\n\t\t\t\t\tsrc=\"https:\/\/tastyweb.nl\/blog\/wp-content\/gallery\/retour\/thumbs\/thumbs_IMG_6672.jpg\"\n\t\t\t\t\twidth=\"100\"\n\t\t\t\t\theight=\"75\"\n\t\t\t\t\tstyle=\"max-width:100%;\"\n\t\t\t\t\/>\n\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\n\t\t\n\t\t\t\t<div id=\"ngg-image-3\" class=\"ngg-gallery-thumbnail-box\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"ngg-gallery-thumbnail\">\n\t\t\t<a href=\"https:\/\/tastyweb.nl\/blog\/wp-content\/gallery\/retour\/IMG_6673.jpg\"\n\t\t\t\ttitle=\"\"\n\t\t\t\tdata-src=\"https:\/\/tastyweb.nl\/blog\/wp-content\/gallery\/retour\/IMG_6673.jpg\"\n\t\t\t\tdata-thumbnail=\"https:\/\/tastyweb.nl\/blog\/wp-content\/gallery\/retour\/thumbs\/thumbs_IMG_6673.jpg\"\n\t\t\t\tdata-image-id=\"1230\"\n\t\t\t\tdata-title=\"En niet zo serieus mini golf\"\n\t\t\t\tdata-description=\"\"\n\t\t\t\tdata-image-slug=\"img_6673-1\"\n\t\t\t\tclass=\"ngg-fancybox\" rel=\"fca9b58afa63adb58e06874d5e49bb9a\">\n\t\t\t\t<img\n\t\t\t\t\ttitle=\"En niet zo serieus mini golf\"\n\t\t\t\t\talt=\"En niet zo serieus mini golf\"\n\t\t\t\t\tsrc=\"https:\/\/tastyweb.nl\/blog\/wp-content\/gallery\/retour\/thumbs\/thumbs_IMG_6673.jpg\"\n\t\t\t\t\twidth=\"100\"\n\t\t\t\t\theight=\"75\"\n\t\t\t\t\tstyle=\"max-width:100%;\"\n\t\t\t\t\/>\n\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\n\t\t\n\t\t\t\t<div id=\"ngg-image-4\" class=\"ngg-gallery-thumbnail-box\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"ngg-gallery-thumbnail\">\n\t\t\t<a href=\"https:\/\/tastyweb.nl\/blog\/wp-content\/gallery\/retour\/IMG_6705.jpg\"\n\t\t\t\ttitle=\"\"\n\t\t\t\tdata-src=\"https:\/\/tastyweb.nl\/blog\/wp-content\/gallery\/retour\/IMG_6705.jpg\"\n\t\t\t\tdata-thumbnail=\"https:\/\/tastyweb.nl\/blog\/wp-content\/gallery\/retour\/thumbs\/thumbs_IMG_6705.jpg\"\n\t\t\t\tdata-image-id=\"1231\"\n\t\t\t\tdata-title=\"Lekker fikkie stoken\"\n\t\t\t\tdata-description=\"\"\n\t\t\t\tdata-image-slug=\"img_6705-1\"\n\t\t\t\tclass=\"ngg-fancybox\" rel=\"fca9b58afa63adb58e06874d5e49bb9a\">\n\t\t\t\t<img\n\t\t\t\t\ttitle=\"Lekker fikkie stoken\"\n\t\t\t\t\talt=\"Lekker fikkie stoken\"\n\t\t\t\t\tsrc=\"https:\/\/tastyweb.nl\/blog\/wp-content\/gallery\/retour\/thumbs\/thumbs_IMG_6705.jpg\"\n\t\t\t\t\twidth=\"100\"\n\t\t\t\t\theight=\"75\"\n\t\t\t\t\tstyle=\"max-width:100%;\"\n\t\t\t\t\/>\n\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\n\t\t\n\t\t\t\t<div id=\"ngg-image-5\" class=\"ngg-gallery-thumbnail-box\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"ngg-gallery-thumbnail\">\n\t\t\t<a href=\"https:\/\/tastyweb.nl\/blog\/wp-content\/gallery\/retour\/IMG_6710.jpg\"\n\t\t\t\ttitle=\"\"\n\t\t\t\tdata-src=\"https:\/\/tastyweb.nl\/blog\/wp-content\/gallery\/retour\/IMG_6710.jpg\"\n\t\t\t\tdata-thumbnail=\"https:\/\/tastyweb.nl\/blog\/wp-content\/gallery\/retour\/thumbs\/thumbs_IMG_6710.jpg\"\n\t\t\t\tdata-image-id=\"1232\"\n\t\t\t\tdata-title=\"Turkey Sandwich\"\n\t\t\t\tdata-description=\"\"\n\t\t\t\tdata-image-slug=\"img_6710-1\"\n\t\t\t\tclass=\"ngg-fancybox\" rel=\"fca9b58afa63adb58e06874d5e49bb9a\">\n\t\t\t\t<img\n\t\t\t\t\ttitle=\"Turkey Sandwich\"\n\t\t\t\t\talt=\"Turkey Sandwich\"\n\t\t\t\t\tsrc=\"https:\/\/tastyweb.nl\/blog\/wp-content\/gallery\/retour\/thumbs\/thumbs_IMG_6710.jpg\"\n\t\t\t\t\twidth=\"100\"\n\t\t\t\t\theight=\"75\"\n\t\t\t\t\tstyle=\"max-width:100%;\"\n\t\t\t\t\/>\n\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\n\t\t\n\t\t\t\t<div id=\"ngg-image-6\" class=\"ngg-gallery-thumbnail-box\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"ngg-gallery-thumbnail\">\n\t\t\t<a href=\"https:\/\/tastyweb.nl\/blog\/wp-content\/gallery\/retour\/IMG_6711.jpg\"\n\t\t\t\ttitle=\"\"\n\t\t\t\tdata-src=\"https:\/\/tastyweb.nl\/blog\/wp-content\/gallery\/retour\/IMG_6711.jpg\"\n\t\t\t\tdata-thumbnail=\"https:\/\/tastyweb.nl\/blog\/wp-content\/gallery\/retour\/thumbs\/thumbs_IMG_6711.jpg\"\n\t\t\t\tdata-image-id=\"1233\"\n\t\t\t\tdata-title=\"Wrapje\"\n\t\t\t\tdata-description=\"\"\n\t\t\t\tdata-image-slug=\"img_6711-1\"\n\t\t\t\tclass=\"ngg-fancybox\" rel=\"fca9b58afa63adb58e06874d5e49bb9a\">\n\t\t\t\t<img\n\t\t\t\t\ttitle=\"Wrapje\"\n\t\t\t\t\talt=\"Wrapje\"\n\t\t\t\t\tsrc=\"https:\/\/tastyweb.nl\/blog\/wp-content\/gallery\/retour\/thumbs\/thumbs_IMG_6711.jpg\"\n\t\t\t\t\twidth=\"100\"\n\t\t\t\t\theight=\"75\"\n\t\t\t\t\tstyle=\"max-width:100%;\"\n\t\t\t\t\/>\n\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\n\t\t\n\t\t\t\t<div id=\"ngg-image-7\" class=\"ngg-gallery-thumbnail-box\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"ngg-gallery-thumbnail\">\n\t\t\t<a href=\"https:\/\/tastyweb.nl\/blog\/wp-content\/gallery\/retour\/IMG_6712.jpg\"\n\t\t\t\ttitle=\"\"\n\t\t\t\tdata-src=\"https:\/\/tastyweb.nl\/blog\/wp-content\/gallery\/retour\/IMG_6712.jpg\"\n\t\t\t\tdata-thumbnail=\"https:\/\/tastyweb.nl\/blog\/wp-content\/gallery\/retour\/thumbs\/thumbs_IMG_6712.jpg\"\n\t\t\t\tdata-image-id=\"1234\"\n\t\t\t\tdata-title=\"Tropische regenbui\"\n\t\t\t\tdata-description=\"\"\n\t\t\t\tdata-image-slug=\"img_6712-1\"\n\t\t\t\tclass=\"ngg-fancybox\" rel=\"fca9b58afa63adb58e06874d5e49bb9a\">\n\t\t\t\t<img\n\t\t\t\t\ttitle=\"Tropische regenbui\"\n\t\t\t\t\talt=\"Tropische regenbui\"\n\t\t\t\t\tsrc=\"https:\/\/tastyweb.nl\/blog\/wp-content\/gallery\/retour\/thumbs\/thumbs_IMG_6712.jpg\"\n\t\t\t\t\twidth=\"100\"\n\t\t\t\t\theight=\"75\"\n\t\t\t\t\tstyle=\"max-width:100%;\"\n\t\t\t\t\/>\n\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\n\t\t\n\t\t\t\t<div id=\"ngg-image-8\" class=\"ngg-gallery-thumbnail-box\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"ngg-gallery-thumbnail\">\n\t\t\t<a href=\"https:\/\/tastyweb.nl\/blog\/wp-content\/gallery\/retour\/IMG_6734.jpg\"\n\t\t\t\ttitle=\"\"\n\t\t\t\tdata-src=\"https:\/\/tastyweb.nl\/blog\/wp-content\/gallery\/retour\/IMG_6734.jpg\"\n\t\t\t\tdata-thumbnail=\"https:\/\/tastyweb.nl\/blog\/wp-content\/gallery\/retour\/thumbs\/thumbs_IMG_6734.jpg\"\n\t\t\t\tdata-image-id=\"1235\"\n\t\t\t\tdata-title=\"Effe nog ontbijt halen bij Dunkin Donuts\"\n\t\t\t\tdata-description=\"\"\n\t\t\t\tdata-image-slug=\"img_6734-1\"\n\t\t\t\tclass=\"ngg-fancybox\" rel=\"fca9b58afa63adb58e06874d5e49bb9a\">\n\t\t\t\t<img\n\t\t\t\t\ttitle=\"Effe nog ontbijt halen bij Dunkin Donuts\"\n\t\t\t\t\talt=\"Effe nog ontbijt halen bij Dunkin Donuts\"\n\t\t\t\t\tsrc=\"https:\/\/tastyweb.nl\/blog\/wp-content\/gallery\/retour\/thumbs\/thumbs_IMG_6734.jpg\"\n\t\t\t\t\twidth=\"100\"\n\t\t\t\t\theight=\"75\"\n\t\t\t\t\tstyle=\"max-width:100%;\"\n\t\t\t\t\/>\n\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\n\t\t\n\t\t\n\t\t<!-- Pagination -->\n\t\t<div class='ngg-clear'><\/div>\t<\/div>\n<\/p>\n\n\n<!-- Start NGG Geo2 Maps -->\n\n<script type=\"text\/javascript\">\n\nvar map_109,\n\tbaseDataSource_109,\n\thoverDataSource_109,\n    layer_109,\n    hoverLayer_109,\n    currentHoveredFeature_109 = null,\n\tpreviousHoveredFeature_109 = null,\n    pins_109 = [],\n    locs_109 = [],\n    mapBounds_109,\n\ticonScale_109 = 1,\n\ticonHoverScale_109 = 1,\n\tisTouchDevice = false,\n\tfullscreenDiv_109,\n\tmapStyle = \"road\",\n    myCredentials = null; \/\/ Starts as null, will be set via AJAX.\n\n\n\/\/ Create svg fullscreen-in icon\nvar svg1 = jQuery(`\n\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" width=\"32\" height=\"32\">\n\t\t<path d=\"M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z\"><\/path>\n\t<\/svg>\n`);\n\n\/\/ Create svg fullscreen-out icon\nvar svg2 = jQuery(`\n\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" width=\"32\" height=\"32\">\n\t\t<path d=\"M5 16h3v3h2v-5H5zm3-8H5v2h5V5H8zm6 11h2v-3h3v-2h-5zm2-11V5h-2v5h5V8z\"><\/path>\n\t<\/svg>\n`);\n\n\/\/ Create the div element\nfullscreenDiv_109 = jQuery(\"<button>\", {\n\tid: \"geo2_fs_109\",\n\tclass: \"geo2_fullscreen_icon geo2_fs_out azmaps-map-fullscreen-btn\"\n})\n\t.css({ display: \"none\" })\n\t.append(svg1)\n\t.append(svg2);\n\tjQuery(\"body\").append(fullscreenDiv_109);\n\n    \tif ( pins_109.length === 0 ) {\n\t\tvar loc_0 = [ 42.483221666667, -71.213355 ];\n\t\tlocs_109.push( loc_0 );\n\t\tvar pin_0 = { location: loc_0, title: \"\", pin_desc: \"\", thumb_url: \"https:\/\/tastyweb.nl\/blog\/\/wp-content\/gallery\/retour\/thumbs\/thumbs_IMG_6668.jpg\", thumb_width: 100, thumb_height: 75, pid: \"1227\", image_url: \"https:\/\/tastyweb.nl\/blog\/\/wp-content\/gallery\/retour\/IMG_6668.jpg\", picture_nr: \"0\" };\n\t\tpins_109.push( pin_0 );\n\t\tvar loc_1 = [ 41.908538333333, -70.909155 ];\n\t\tlocs_109.push( loc_1 );\n\t\tvar pin_1 = { location: loc_1, title: \"\", pin_desc: \"\", thumb_url: \"https:\/\/tastyweb.nl\/blog\/\/wp-content\/gallery\/retour\/thumbs\/thumbs_IMG_6669.jpg\", thumb_width: 100, thumb_height: 75, pid: \"1228\", image_url: \"https:\/\/tastyweb.nl\/blog\/\/wp-content\/gallery\/retour\/IMG_6669.jpg\", picture_nr: \"1\" };\n\t\tpins_109.push( pin_1 );\n\t\tvar loc_2 = [ 41.908916666667, -70.909605 ];\n\t\tlocs_109.push( loc_2 );\n\t\tvar pin_2 = { location: loc_2, title: \"\", pin_desc: \"\", thumb_url: \"https:\/\/tastyweb.nl\/blog\/\/wp-content\/gallery\/retour\/thumbs\/thumbs_IMG_6672.jpg\", thumb_width: 100, thumb_height: 75, pid: \"1229\", image_url: \"https:\/\/tastyweb.nl\/blog\/\/wp-content\/gallery\/retour\/IMG_6672.jpg\", picture_nr: \"2\" };\n\t\tpins_109.push( pin_2 );\n\t\tvar loc_3 = [ 41.908916666667, -70.909478333333 ];\n\t\tlocs_109.push( loc_3 );\n\t\tvar pin_3 = { location: loc_3, title: \"\", pin_desc: \"\", thumb_url: \"https:\/\/tastyweb.nl\/blog\/\/wp-content\/gallery\/retour\/thumbs\/thumbs_IMG_6673.jpg\", thumb_width: 100, thumb_height: 75, pid: \"1230\", image_url: \"https:\/\/tastyweb.nl\/blog\/\/wp-content\/gallery\/retour\/IMG_6673.jpg\", picture_nr: \"3\" };\n\t\tpins_109.push( pin_3 );\n\t\tvar loc_4 = [ 41.909191666667, -70.909338333333 ];\n\t\tlocs_109.push( loc_4 );\n\t\tvar pin_4 = { location: loc_4, title: \"\", pin_desc: \"\", thumb_url: \"https:\/\/tastyweb.nl\/blog\/\/wp-content\/gallery\/retour\/thumbs\/thumbs_IMG_6705.jpg\", thumb_width: 100, thumb_height: 75, pid: \"1231\", image_url: \"https:\/\/tastyweb.nl\/blog\/\/wp-content\/gallery\/retour\/IMG_6705.jpg\", picture_nr: \"4\" };\n\t\tpins_109.push( pin_4 );\n\t\tvar loc_5 = [ 42.031928333333, -71.218741666667 ];\n\t\tlocs_109.push( loc_5 );\n\t\tvar pin_5 = { location: loc_5, title: \"\", pin_desc: \"\", thumb_url: \"https:\/\/tastyweb.nl\/blog\/\/wp-content\/gallery\/retour\/thumbs\/thumbs_IMG_6710.jpg\", thumb_width: 100, thumb_height: 75, pid: \"1232\", image_url: \"https:\/\/tastyweb.nl\/blog\/\/wp-content\/gallery\/retour\/IMG_6710.jpg\", picture_nr: \"5\" };\n\t\tpins_109.push( pin_5 );\n\t\tvar loc_6 = [ 42.03185, -71.218741666667 ];\n\t\tlocs_109.push( loc_6 );\n\t\tvar pin_6 = { location: loc_6, title: \"\", pin_desc: \"\", thumb_url: \"https:\/\/tastyweb.nl\/blog\/\/wp-content\/gallery\/retour\/thumbs\/thumbs_IMG_6711.jpg\", thumb_width: 100, thumb_height: 75, pid: \"1233\", image_url: \"https:\/\/tastyweb.nl\/blog\/\/wp-content\/gallery\/retour\/IMG_6711.jpg\", picture_nr: \"6\" };\n\t\tpins_109.push( pin_6 );\n\t\tvar loc_8 = [ 42.032483333333, -71.236663333333 ];\n\t\tlocs_109.push( loc_8 );\n\t\tvar pin_8 = { location: loc_8, title: \"\", pin_desc: \"\", thumb_url: \"https:\/\/tastyweb.nl\/blog\/\/wp-content\/gallery\/retour\/thumbs\/thumbs_IMG_6734.jpg\", thumb_width: 100, thumb_height: 75, pid: \"1235\", image_url: \"https:\/\/tastyweb.nl\/blog\/\/wp-content\/gallery\/retour\/IMG_6734.jpg\", picture_nr: \"8\" };\n\t\tpins_109.push( pin_8 );\n    \t}\nfunction nggGeo2Map_109(includedPinIds, clickedImageId) \n{\n    map_109 = new atlas.Map( \"geo2_maps_map_109\", {\n        center: [0, 0],\n        zoom: 16,\n\t\t\/\/maxZoom: 24,\n\t\tminZoom: 1, \/\/ with 0 map disappears\n        authOptions: {\n            authType: \"subscriptionKey\",\n            subscriptionKey: myCredentials\n        },\n        style: \"road\",\n        showLogo: true,\n        showFeedbackLink: false,\n\t\tview: \"Auto\"\n    });\n\tmap_109.events.add(\"ready\", function () {\n\t\tvar style = \"auto\"; \/\/ \"auto\", \"light\", \"dark\"\n\t\t\/\/ Create parameter with fullscreen div to pass to overview map\n\t\tmap_109.geo2fullscreenDiv = fullscreenDiv_109 || null;\n\t\t\/\/ Add zoom and map style controls to top right of map.\n\t\tmap_109.controls.add([\n\t\t\t\tnew atlas.control.StyleControl({\n\t\t\t\t\tstyle: style,\n\t\t\t\t\tmapStyles: [\"road\", \"satellite\", \"satellite_road_labels\", \"grayscale_light\", \"grayscale_dark\", \"night\", \"road_shaded_relief\"] \/\/ \"all\" (shows some blank styles)\n\t\t\t\t}),\n\t\t\t\tnew atlas.control.ZoomControl({style: style}),\n\t\t\t\tnew atlas.control.CompassControl({style: style}),\n\t\t\t\tnew atlas.control.PitchControl({style: style}),\n\t\t\t\tnew atlas.control.ScaleControl({\n\t\t\t\t\tmaxWidth: 100,\n\t\t\t\t\tunits: \"metric\" \/\/ or \"imperial\", \"nautical\"\n\t\t\t\t}),\n\t\t\t\tnew atlas.control.GeolocationControl({\n\t\t\t\t\tstyle: style\n\t\t\t\t})\n\t\t\t], {\n\t\t\t\tposition: \"top-right\" \/\/ Options: \"top-left\", \"top-right\", \"bottom-left\", \"bottom-right\", \"non-fixed\"\n\t\t});\n\t\tmap_109.controls.add([\n\t\t\t\tnew atlas.control.FullscreenControlGeo2({style: style})\n\t\t\t], {\n\t\t\t\tposition: \"top-left\" \/\/ Options: \"top-left\", \"top-right\", \"bottom-left\", \"bottom-right\", \"non-fixed\"\n\t\t});\n\t\t\/\/Create a data sources and add it to the map.\n\t\tbaseDataSource_109 = new atlas.source.DataSource(null, {\n\t\t\tcluster: false,  \/\/ Disable clustering\n\t\t\tclusterRadius: 0 \/\/ Set cluster radius to 0 to avoid clustering\n\t\t});\n\t\thoverDataSource_109 = new atlas.source.DataSource(null, {\n\t\t\tcluster: false,  \/\/ Disable clustering\n\t\t\tclusterRadius: 0 \/\/ Set cluster radius to 0 to avoid clustering\n\t\t});\n\t\tmap_109.sources.add(baseDataSource_109);\n\t\tmap_109.sources.add(hoverDataSource_109);\n\n\t\tasync function addPins() {\n\t\t\tvar imageLoadPromises = []; \/\/ Array to hold image load promises\n\t\t\tfor (let pin of pins_109) {\n\t\t\t\t\n\t\t\t\t\/\/ Await the creation of the custom SVG marker\n\t\t\t\tlet [svgString, iconHeight, iconWidth] = await geo2_createCanvasMarker(pin);\n\t\t\t\t\n\t\t\t\t\/\/ Add the custom SVG icon to the image sprite\n\t\t\t\timageLoadPromises.push(map_109.imageSprite.add(`photoIcon_${pin.picture_nr}`, svgString));\n\n\t\t\t\t\/\/ Convert px to em (16px = 1em)\n\t\t\t\tlet offsetInEm = (iconHeight * 0.5) \/ 16;\n\t\t\t\t\n\t\t\t\t\/\/ Create the base feature (latitude first, then longitude)\n\t\t\t\tvar feature = new atlas.data.Feature(new atlas.data.Point([pin.location[1], pin.location[0]]), {\n\t\t\t\t\tpicture_nr: pin.picture_nr,\n\t\t\t\t\ttitle: pin.title,\n\t\t\t\t\tpin_desc: pin.pin_desc,\n\t\t\t\t\timage_url: pin.image_url,\n\t\t\t\t\tpid: pin.pid,\n\t\t\t\t\tmetadata: pin.metadata,\n\t\t\t\t\tthumb_width: pin.thumb_width,\n\t\t\t\t\tthumb_height: pin.thumb_height,\n\t\t\t\t\ttext_offset: offsetInEm + 0.5 +2\/16,\n\t\t\t\t\ticon_height: iconHeight,\n\t\t\t\t\ticon_width: iconWidth\n\t\t\t\t});\n\n\t\t\t\t\/\/ Add the feature to the base data source\n\t\t\t\tbaseDataSource_109.add(feature);\n\t\t\t}\n\n\t\t\t\/\/ Wait for all images to load before creating the layers\n\t\t\tawait Promise.all(imageLoadPromises);\n\t\n\t\t}\n\n\t\taddPins().then(() => {\n\t\t\tgeo2_maps_createLayers_109();\n\n\t\t\t\/\/ Move pins\/thumbs to front on hover\n\t\t\tgeo2_maps_bringForwardOnHover_109();\n\n\t\t\tgeo2_maps_pushpinClicked_109();\n\n\t\t\t\/\/ Changes mouse cursor style.\n\t\t\tgeo2_maps_changeCursorOnHover_109(hoverLayer_109);\n\n\t\t\t\/\/ Adjust map view to show presented thumbs or pins.\n\t\t\tgeo2_maps_boundsFromLocations_109();\n\n\t\t}).catch(error => console.error(\"Error adding pins:\", error));\n\t});\n}\n\nfunction geo2_maps_createLayers_109()\n{\n\t\/\/ SymbolLayer for the base data source.\n\tlayer_109 = new atlas.layer.SymbolLayer(baseDataSource_109, null, {\n\t\tzOrder: \"source\",\n\t\ticonOptions: {\n\t\t\timage: [\"concat\", \"photoIcon_\", [\"get\", \"picture_nr\"]],\n\t\t\tallowOverlap: true,\n\t\t\tignorePlacement: true,\n\t\t\tanchor: \"center\",\n\t\t\topacity: 1\n\t\t},\n\t\ttextOptions: {\n\t\t\tfont: [\"StandardFont-Black\"], \/\/ \"SegoeFrutigerHelveticaMYingHei-Bold\", \"SegoeFrutigerHelveticaMYingHei-Medium\", \"SegoeFrutigerHelveticaMYingHei-Regular\", \"SegoeUi-Bold\", \"SegoeUi-Light\", \"SegoeUi-Regular\", \"SegoeUi-SemiBold\", \"SegoeUi-SemiLight\", \"SegoeUi-SymbolRegular\", \"StandardCondensedSegoeUi-Black\", \"StandardCondensedSegoeUi-Bold\", \"StandardCondensedSegoeUi-Light\", \"StandardCondensedSegoeUi-Regular\", \"StandardFont-Black\", \"StandardFont-Bold\", \"StandardFont-Light\", \"StandardFont-Regular\", \"StandardFontCondensed-Black\", \"StandardFontCondensed-Bold\", \"StandardFontCondensed-Light\", \"StandardFontCondensed-Regular\".\n\t\t\tsize: 16, \/\/ 16 is default.\n\t\t\tcolor: \"white\",\n\t\t\thaloColor: \"black\",\n\t\t\thaloWidth: 0.8,\n\t\t\thaloBlur: 0,\n\t\t\tallowOverlap: true,\n\t\t\tignorePlacement: false,\n\t\t\ttextField: [\"get\", \"title\"],\n\t\t\tanchor: \"top\",\n\t\t\tjustify: \"auto\",\n\t\t\tvariableAnchor: [\"top\",\"top-left\",\"left\",\"bottom-left\",\"top-right\",\"right\",\"bottom-right\",\"bottom\",\"center\"], \n\t\t\tradialOffset: [\"get\", \"text_offset\"]\n\t\t}\n\t});\n\n\t\/\/ SymbolLayer for hover (on top of layer). Options must be the same as for SymbolLayer above if different than default.\n\thoverLayer_109 = new atlas.layer.SymbolLayer(hoverDataSource_109, null, {\n\t\ticonOptions: {\n\t\t\timage: [\"concat\", \"photoIcon_\", [\"get\", \"picture_nr\"]],\n\t\t\tallowOverlap: true,\n\t\t\tignorePlacement: true,\n\t\t\tanchor: \"center\",\n\t\t\topacity: 1\n\t\t},\n\t\ttextOptions: {\n\t\t\tfont: [\"StandardFont-Black\"],\n\t\t\tsize: 16, \/\/ 16 is default.\n\t\t\tcolor: \"white\",\n\t\t\thaloColor: \"black\",\n\t\t\thaloWidth: 0.8,\n\t\t\thaloBlur: 0,\n\t\t\tallowOverlap: true,\n\t\t\tignorePlacement: false,\n\t\t\ttextField: [\"get\", \"title\"],\n\t\t\tanchor: \"top\",\n\t\t\tjustify: \"auto\",\n\t\t\tvariableAnchor: [\"top\",\"top-left\",\"left\",\"bottom-left\",\"top-right\",\"right\",\"bottom-right\",\"bottom\",\"center\"], \n\t\t\tradialOffset: [\"get\", \"text_offset\"]\n\t\t}\n\t});\n\n\tmap_109.layers.add(layer_109);\n\tmap_109.layers.add(hoverLayer_109);\n}\n\n\/\/ Changes mouse cursor style.\nfunction geo2_maps_changeCursorOnHover_109(mapTarget)\n{\n\tmap_109.events.add(\"mouseover\", mapTarget, function (e) {\n\t\tif (e.shapes && e.shapes.length > 0) {\n\t\t\tmap_109.getCanvasContainer().style.cursor = \"pointer\";\n\t\t}\n\t});\n\n\tmap_109.events.add(\"mouseout\", mapTarget, function () {\n\t\tmap_109.getCanvasContainer().style.cursor = \"grab\";\n\t});\n}\n\nfunction geo2_maps_bringForwardOnHover_109()\n{\t\n\tlet touchStartTime,\n\t\ttouchEndTime,\n\t\ttimeDifference = 300,\n\t\tisOpen = false;\n\t\tisClickInside = false;\n\n\tfunction bringForward(e) {\n\t\tif (e.shapes && e.shapes.length > 0 && (e.shapes[0].data || e.shapes[0].properties) ) {\n\t\t\tlet shape = e.shapes[0];\n\t\t\t\/\/ Checks if there is a hovered feature already\n\t\t\tif (currentHoveredFeature_109 !== null) {\n\t\t\t\t\/\/ Map for unknown reasons returns two types of Features on hover. One have a \"data\" property with \"properties\", the other one has \"properties\" directly nad has \"_vectorTileFeature\" property.\n\t\t\t\tvar currentHoveredFeaturePictureNo =\n\t\t\t\t\tcurrentHoveredFeature_109.data?.properties.picture_nr\n\t\t\t\t\t?? currentHoveredFeature_109.properties.picture_nr;\n\t\t\t\tvar shapePictureNo =\n\t\t\t\t\tshape.data?.properties.picture_nr\n\t\t\t\t\t?? shape.properties?.picture_nr;\n\t\t\t\t\/\/ This happens on touch move\n\t\t\t\tif (currentHoveredFeaturePictureNo !== shapePictureNo) {\n\t\t\t\t\t\/\/ Move previously hovered feature back to base layer if new feature is detected and it is outside of this feature shape\n\t\t\t\t\t\/\/ Gets correct point for coordinates in px\n\t\t\t\t\tlet point = e.pixel;\n\t\t\t\t\t\/\/ Check if the touch point is within the bounding box\n\t\t\t\t\tlet isInside = geo2_maps_isPointInsideShape_109(point, currentHoveredFeature_109);\n\t\t\t\t\t\/\/ If the touch point is outside of the feature allow to switch to new feature\n\t\t\t\t\tif ( !isInside ) {\n\t\t\t\t\t\tisClickInside = false;\n\t\t\t\t\t\t\/\/ Prevents adding the same shape twice. \n\t\t\t\t\t\tlet baseShapes = baseDataSource_109.getShapes();\n\t\t\t\t\t\tlet baseShapePictureNo = [];\n\t\t\t\t\t\tbaseShapes.forEach(shape => {\n\t\t\t\t\t\t\tif (shape.data) {\n\t\t\t\t\t\t\t\tbaseShapePictureNo.push( shape.data.properties.picture_nr );\n\t\t\t\t\t\t\t} else if (shape.properties) {\n\t\t\t\t\t\t\t\tbaseShapePictureNo.push( shape.properties.picture_nr );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (!baseShapePictureNo.includes(currentHoveredFeaturePictureNo)) {\n\t\t\t\t\t\t\tcurrentHoveredFeature_109\n\t\t\t\t\t\t\tbaseDataSource_109.add(currentHoveredFeature_109);\n\t\t\t\t\t\t}\n\t\t\t\t\t\/\/ If the touch point is inside the feature, prevent switching to new feature\n\t\t\t\t\t} else {\n\t\t\t\t\t\tisClickInside = true;\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\/\/ Do nothing if the shape is already current but change scale\n\t\t\t\t} else {\n\t\t\t\t\tisClickInside = true;\n\t\t\t\t \thoverLayer_109.setOptions({\n\t\t\t\t\t\ticonOptions: {\n\t\t\t\t\t\t\tsize: iconHoverScale_109\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tmap_109.getCanvasContainer().style.cursor = \"pointer\";\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\/\/ If there is no currently hovered feature or the feature is new outside of current future, add the shape to the hover layer and change the scale. Changing the scale in the hoverLayer options is not working.\n\t\t\thoverLayer_109.setOptions({\n                iconOptions: {\n                    size: iconHoverScale_109\n                }\n\t\t\t});\n\t\t\tmap_109.getCanvasContainer().style.cursor = \"pointer\";\n\t\t\t\/\/ Clear the hover layer and add the shape\n\t\t\thoverDataSource_109.clear();\n\t\t\thoverDataSource_109.add(shape);\n\t\t\t\/\/...setShapes([shape]); \/\/ this makes thumbs to blink more\n\t\t\tbaseDataSource_109.remove(shape);\n\t\t\tpreviousHoveredFeature_109 = currentHoveredFeature_109;\n\t\t\tcurrentHoveredFeature_109 = shape;\n\t\t}\n\t}\n\t\/\/ Handle mouse over events\n\tmap_109.events.add(\"mouseover\",  [layer_109,  hoverLayer_109], function (e) {\n\t\tif (isTouchDevice) {\n\t\t\treturn;\n\t\t}\n\t\tbringForward(e);\n\t});\n\n\t\/\/ Handle mouse events\n    map_109.events.add(\"mouseout\",   hoverLayer_109, function (e) {\n\t\tif (isTouchDevice) {\n\t\t\treturn;\n\t\t}\n\t    if (currentHoveredFeature_109) {\n            hoverLayer_109.setOptions({\n                iconOptions: {\n                    size: iconScale_109\n                }\n\t\t\t});\n\t\t\tmap_109.getCanvasContainer().style.cursor = \"grab\";\n        }\n    });\n\n\t\/\/ Handle mouse out to reset hover state\n    map_109.events.add(\"mousemove\", layer_109, function (e) {\n\t\tif (isTouchDevice) {\n\t\t\treturn;\n\t\t}\n\t\t\/\/ if many shapes are returned and first is _vectorTileFeature\n\t\tfor (let i = 0; i < e.shapes.length; i++) {\n\t\t\tif (typeof e.shapes[0].getProperties === \"function\") {\n\t\t\t\t\/\/ Excludes GeoJSON-like _vectorTileFeature\n\t\t\t\tbringForward(e);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n    });\n\n\t\/\/ Handle touch start events on base layer\n\tmap_109.events.add(\"touchstart\", layer_109, function (e) {\n\t\tisTouchDevice = e.type == \"touchstart\";\n\t\ttouchStartTime = new Date().getTime();\n\t\tmap_109.events.remove(\"click\", hoverLayer_109, geo2_maps_onClick_109);\n\n\t\t\/\/ Check the number of touch points to enable pinch zooming\n\t\tif (e.originalEvent.touches && e.originalEvent.touches.length === 1) {\n\t\t\te.preventDefault(); \/\/ Prevent default only for single touch\n\t\t\tbringForward(e);\n\t\t\tisOpen = false;\n\t\t}\n\t});\n\n\t\/\/ Handle touch start events on hover layer\n\tmap_109.events.add(\"touchstart\", hoverLayer_109, function (e) {\n\t\ttouchStartTime = new Date().getTime();\n\t\t\/\/ Check the number of touch points to enable pinch zooming\n\t\tif (e.originalEvent.touches && e.originalEvent.touches.length === 1) {\n\t\t\te.preventDefault(); \/\/ Prevent default only for single touch\n\t\t\tisOpen = false;\n\t\t}\n\t});\n\n\t\/\/ Handle touch end events on base layer\n\tmap_109.events.add(\"touchend\",  layer_109, function (e) {\n\t\t\/\/ Check the number of touch points to enable pinch zooming\n\t\tif (e.originalEvent.touches && e.originalEvent.changedTouches.length === 1) {\n\t\t\ttouchEndTime = new Date().getTime();\n\n\t\t\tif (touchEndTime - touchStartTime < timeDifference&& !isClickInside) {\n\t\t\t\tif (!isOpen){\n\t\t\t\t\tisOpen = true;\n\t\t\t\t\tgeo2_maps_onClick_109(hoverDataSource_109);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t}\n\t});\n\n\t\/\/ Handle touch end events on hover layer\n\tmap_109.events.add(\"touchend\", hoverLayer_109, function (e) {\n\t\t\/\/ Check the number of touch points to enable pinch zooming\n\t\tif (e.originalEvent.touches && e.originalEvent.changedTouches.length === 1) {\n\t\t\ttouchEndTime = new Date().getTime();\n\n\t\t\tif (touchEndTime - touchStartTime < timeDifference) {\n\t\t\t\tif (!isOpen){\n\t\t\t\t\tisOpen = true;\n\t\t\t\t\tgeo2_maps_onClick_109(e);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t}\n\t});\n\n\t\/\/ Handle touch move \n    map_109.events.add(\"touchmove\", [layer_109,  hoverLayer_109], function (e) {\n\t\t\/\/ if many shapes are returned and first is _vectorTileFeature\n\t\tfor (let i = 0; i < e.shapes.length; i++) {\n\t\t\tif (typeof e.shapes[0].getProperties === \"function\") {\n\t\t\t\t\/\/ Excludes GeoJSON-like _vectorTileFeature\n\t\t\t\tbringForward(e);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n    });\n}\n\t\nfunction geo2_maps_boundsFromLocations_109()\n{\t\n    if ( pins_109.length > 0 ) {\n\t\tmapBounds_109 = atlas.data.BoundingBox.fromLatLngs(locs_109);\n\t\tgeo2_maps_setCamera_109(mapBounds_109)\n\t}\n}\n\t\nfunction geo2_maps_setCamera_109(bounds){\n\tmap_109.setCamera({ \n\t\tbounds: bounds,\n\t\tpadding: 64 \n\t});\n}\n\nfunction geo2_maps_isPointInsideShape_109(point, hoveredFeature) {\n\tif (hoveredFeature == null) { \n\t\treturn false;\n\t}\n\thoveredFeature = hoveredFeature.data ?? hoveredFeature;\n\t\/\/ Gets center of a shape on the hover layer\n\tlet shapeCenter = map_109.positionsToPixels([hoveredFeature.geometry.coordinates])[0];\n\tlet [px, py] = point;\n    let [cx, cy] = shapeCenter;\n\tlet iconWidth = hoveredFeature.properties.icon_width\n\tlet iconHeight = hoveredFeature.properties.icon_height;\n\n    \/\/ Calculate rectangle bounds\n    let left = cx - iconWidth \/ 2;\n    let right = cx + iconWidth \/ 2;\n    let bottom = cy - iconHeight \/ 2;\n    let top = cy + iconHeight \/ 2;\n\n    \/\/ Check if the point is within the bounds\n    return px >= left && px <= right && py >= bottom && py <= top;\n}\n\nasync function geo2_createCanvasMarker(pin) {\n    const url = encodeURI(pin.thumb_url);\n\n    \/\/ A function to load the image and process the canvas\n    const loadImageAndProcess = (url) => {\n        return new Promise((resolve, reject) => {\n            const img = new Image();\n\n            img.onerror = () => reject(\"Failed to load image.\");\n\n            img.onload = () => {\n                \n\t\tlet c = document.createElement(\"canvas\"),\n\t\t\tborderColor = \"rgba(255,255,255,1 )\",\n\t\t\tborderWidth = 4;\n\t\tlet thumbMaxWidth = 100,\n\t\t\tthumbMaxHeight = 100,\n\t\t\timgWidth = pin.thumb_width,\n\t\t\timgHeight = pin.thumb_height,\n\t\t\tthumbAspectRatio = thumbMaxWidth \/ thumbMaxHeight,\n\t\t\timgAspectRatio = imgWidth \/ imgHeight,\n\t\t\twidth, height;\n\n\t\t\/\/ Determine the scaling factor to ensure the image fits within the max dimensions\n\t\tif (thumbAspectRatio > imgAspectRatio) {\n\t\t\theight = thumbMaxHeight;\n\t\t\twidth = Math.round( imgWidth * ( thumbMaxHeight\/imgHeight ));\n\t\t} else {\n\t\t\twidth = thumbMaxWidth;\n\t\t\theight = Math.round( imgHeight* ( thumbMaxWidth\/imgWidth ));\n\t\t}\n\n\t\t\/\/ Set the canvas size to include the border\n        let totalWidth = width + 2 * borderWidth,\n        \ttotalHeight = height + 2 * borderWidth;\n\n\t\tc.width = totalWidth;\n\t\tc.height = totalHeight;\n\n\t\tvar ctx = c.getContext( \"2d\" );\n\t\t\n\t\t\/\/ Draw rectangle filled with border color\n        ctx.fillStyle = borderColor;\n        ctx.fillRect(0, 0, totalWidth, totalHeight);\n\t\t\/\/ Draw the image in the center of the canvas\n        ctx.drawImage(img, borderWidth, borderWidth, width, height);\n\n                \/\/ Resolve with the canvas data and dimensions\n                resolve([c.toDataURL(), totalHeight, totalWidth]);\n            };\n\n            \/\/ Allow cross-domain image editing\n            img.crossOrigin = \"anonymous\";\n            img.src = url;\n        });\n    };\n\n    \/\/ Await the result from loadImageAndProcess\n    return await loadImageAndProcess(url);\n}\n\n\/\/ Click event to show full image and metadata in Infobox or selected Lightbox\n\nfunction geo2_maps_onClick_109(e) {\n\t\tif (e.shapes && e.shapes.length > 0) {\n\t\t\tlet properties;\n\t\t\tlet shape = e.shapes[0];\n\t\t\tif (typeof shape.getProperties === \"function\") {\n                properties = shape.getProperties();\n            } else if (shape.properties) {\n                \/\/ Handle GeoJSON-like _vectorTileFeature\n                properties = shape.properties;\n            }\n\t\t\tgeo2_maps_lightbox_109( properties.picture_nr );\n\t}\n}\n\nfunction geo2_maps_pushpinClicked_109() {\n\t\tmap_109.events.add(\"click\", hoverLayer_109, geo2_maps_onClick_109);\n}\n\nfunction geo2_maps_lightbox_109( indexNr ) {\n\t( function( $ ) {\n\t\tfunction isBrowserFullscreen() {\n\t\t\treturn !!getFullscreenElement();\n\t\t}\n\n\t\tfunction getFullscreenElement() {\n\t\t\treturn document.fullscreenElement || \n\t\t\t\tdocument.mozFullScreenElement || \n\t\t\t\tdocument.webkitFullscreenElement || \n\t\t\t\tdocument.msFullscreenElement;\n\t\t}\n\n\t\tvar fullscreenElement = getFullscreenElement();\n\n\t\tif (isBrowserFullscreen() &&\n\t\t\tfullscreenElement.classList.contains(\"maplibregl-map\") && \n\t\t\tfullscreenElement.classList.contains(\"atlas-map\") && \n\t\t\tfullscreenElement.classList.contains(\"azmaps-map-fullscreen-container\") && \n\t\t\tfullscreenElement.id.startsWith(\"geo2_maps_map_\") ) { \n\t\t\tvar fullscreen = true;\n\t\t} else {\n\t\t\tvar fullscreen = false;\n\t}\n\t\t$.fancybox3.open([     {\n\t\t\t\tsrc: \"https:\/\/tastyweb.nl\/blog\/\/wp-content\/gallery\/retour\/IMG_6668.jpg\",\n\t\t\t\topts: {\n\t\t\t\t\timageId: \"1227\",\n\t\t\t\t\tgid: \"85\",\n\t\t\t\t\taid: \"\",\n\t\t\t\t\tthumb: \"https:\/\/tastyweb.nl\/blog\/\/wp-content\/gallery\/retour\/thumbs\/thumbs_IMG_6668.jpg\"\n\t\t\t\t}},    {\n\t\t\t\tsrc: \"https:\/\/tastyweb.nl\/blog\/\/wp-content\/gallery\/retour\/IMG_6669.jpg\",\n\t\t\t\topts: {\n\t\t\t\t\timageId: \"1228\",\n\t\t\t\t\tgid: \"85\",\n\t\t\t\t\taid: \"\",\n\t\t\t\t\tthumb: \"https:\/\/tastyweb.nl\/blog\/\/wp-content\/gallery\/retour\/thumbs\/thumbs_IMG_6669.jpg\"\n\t\t\t\t}},    {\n\t\t\t\tsrc: \"https:\/\/tastyweb.nl\/blog\/\/wp-content\/gallery\/retour\/IMG_6672.jpg\",\n\t\t\t\topts: {\n\t\t\t\t\timageId: \"1229\",\n\t\t\t\t\tgid: \"85\",\n\t\t\t\t\taid: \"\",\n\t\t\t\t\tthumb: \"https:\/\/tastyweb.nl\/blog\/\/wp-content\/gallery\/retour\/thumbs\/thumbs_IMG_6672.jpg\"\n\t\t\t\t}},    {\n\t\t\t\tsrc: \"https:\/\/tastyweb.nl\/blog\/\/wp-content\/gallery\/retour\/IMG_6673.jpg\",\n\t\t\t\topts: {\n\t\t\t\t\timageId: \"1230\",\n\t\t\t\t\tgid: \"85\",\n\t\t\t\t\taid: \"\",\n\t\t\t\t\tthumb: \"https:\/\/tastyweb.nl\/blog\/\/wp-content\/gallery\/retour\/thumbs\/thumbs_IMG_6673.jpg\"\n\t\t\t\t}},    {\n\t\t\t\tsrc: \"https:\/\/tastyweb.nl\/blog\/\/wp-content\/gallery\/retour\/IMG_6705.jpg\",\n\t\t\t\topts: {\n\t\t\t\t\timageId: \"1231\",\n\t\t\t\t\tgid: \"85\",\n\t\t\t\t\taid: \"\",\n\t\t\t\t\tthumb: \"https:\/\/tastyweb.nl\/blog\/\/wp-content\/gallery\/retour\/thumbs\/thumbs_IMG_6705.jpg\"\n\t\t\t\t}},    {\n\t\t\t\tsrc: \"https:\/\/tastyweb.nl\/blog\/\/wp-content\/gallery\/retour\/IMG_6710.jpg\",\n\t\t\t\topts: {\n\t\t\t\t\timageId: \"1232\",\n\t\t\t\t\tgid: \"85\",\n\t\t\t\t\taid: \"\",\n\t\t\t\t\tthumb: \"https:\/\/tastyweb.nl\/blog\/\/wp-content\/gallery\/retour\/thumbs\/thumbs_IMG_6710.jpg\"\n\t\t\t\t}},    {\n\t\t\t\tsrc: \"https:\/\/tastyweb.nl\/blog\/\/wp-content\/gallery\/retour\/IMG_6711.jpg\",\n\t\t\t\topts: {\n\t\t\t\t\timageId: \"1233\",\n\t\t\t\t\tgid: \"85\",\n\t\t\t\t\taid: \"\",\n\t\t\t\t\tthumb: \"https:\/\/tastyweb.nl\/blog\/\/wp-content\/gallery\/retour\/thumbs\/thumbs_IMG_6711.jpg\"\n\t\t\t\t}},    {\n\t\t\t\tsrc: \"https:\/\/tastyweb.nl\/blog\/\/wp-content\/gallery\/retour\/IMG_6712.jpg\",\n\t\t\t\topts: {\n\t\t\t\t\timageId: \"1234\",\n\t\t\t\t\tgid: \"85\",\n\t\t\t\t\taid: \"\",\n\t\t\t\t\tthumb: \"https:\/\/tastyweb.nl\/blog\/\/wp-content\/gallery\/retour\/thumbs\/thumbs_IMG_6712.jpg\"\n\t\t\t\t}},    {\n\t\t\t\tsrc: \"https:\/\/tastyweb.nl\/blog\/\/wp-content\/gallery\/retour\/IMG_6734.jpg\",\n\t\t\t\topts: {\n\t\t\t\t\timageId: \"1235\",\n\t\t\t\t\tgid: \"85\",\n\t\t\t\t\taid: \"\",\n\t\t\t\t\tthumb: \"https:\/\/tastyweb.nl\/blog\/\/wp-content\/gallery\/retour\/thumbs\/thumbs_IMG_6734.jpg\"\n\t\t\t\t}} ], {\n\t\t\tloop : true,\n\t\t\tbuttons: [\n\t\t\t\"zoom\",\n\t\t\t\"slideShow\",\n\t\t\t\"fullScreen\",\n\t\t\t\"thumbs\",\n\t\t\t\"close\"\n\t\t\t],\n\t\t\tthumbs : {\n\t\t\t\tautoStart : false,\n\t\t\t\taxis: \"y\"\n\t\t\t},\n\t\t\t\tslideShow: {\n\t\t\t\t\t\tspeed: 3000\n\t\t\t\t},\n\t\t\tfullScreen: {\n\t\t\t\tautoStart: fullscreen\n\t\t\t},\n\t\t\t\thash :  \"retour_ID:85\", \/\/ browser back button is closing the window\n\t\t\t\tindex : indexNr\n\t\t\t} );\n\n\t\t\t$('.fancybox3-button--thumbs' ).click( function() {\n\t\t\tvar current = 0;\n\t\t\t\/\/ Pixel increment you wish on each wheel spin.\n\t\t\tvar ScrollX_pixelPer = 10;\n\t\t\tjQuery('.fancybox3-thumbs-x' ).on( \"DOMMouseScroll mousewheel\", function ( e ) {\n\t\t\t\te.preventDefault();\n\t\t\t\tvar maxScrollLeft = this.scrollWidth - this.clientWidth;\n\t\t\t\t\/\/ Get the scroll wheel value\n\t\t\t\tif ( e.type == 'mousewheel' ) {\n\t\t\t\tvar delta = ( parseInt( e.originalEvent.wheelDelta * -0.3) );\n\t\t\t\t}\n\t\t\t\tif ( e.type == 'DOMMouseScroll' ) {\n\t\t\t\tvar delta = ScrollX_pixelPer*( parseInt( e.originalEvent.detail ) );\n\t\t\t\t}\n\t\t\t\t\/\/ Increment\/decrement current.\n\t\t\t\tcurrent += delta;\n\t\t\t\tif ( current < 0 ) {current = 0; } \n\t\t\t\telse if ( current > maxScrollLeft ) {current = maxScrollLeft; }\n\t\t\t\t\/\/ Apply the new position.\n\t\t\t\tjQuery( this ).scrollLeft( current );\n    \t} );\n\t\t\t} );\n\t}( jQuery ) );\n}\n\n\t\tjQuery(window).on(\"load\", function() {\n\t\t\t\/\/ Fetch the Azure Maps API key\n\t\t\tgeo2_maps_get_azure_api_key(function(azureKey) {\n\t\t\t\t\/\/ Set the myCredentials variable\n\t\t\t\tmyCredentials = azureKey;\n\t\t\t\t\n\t\t\t\t\/\/ Now that the key is loaded, initialize the map\n\t\t\t\tnggGeo2Map_109(\"\", \"\");\n\t\t\t});\n\t\t});\n\t\t\n\t\tjQuery( document ).ready( function( $ )\n\t\t{\n\t\t\tvar bounds_109, height, width, hash;\n\t\t\t\/\/ parameter center is set outside this function\n\t\t\tfunction esc() {\n\t\t\t\tbounds_109 = map_109.getCamera().bounds;\n\t\t\t\t$( \".geo2_maps_map > #geo2_maps_map_109\" ).parent().appendTo( \"#geo2_map_109_placeholder\" );\n\t\t\t\t$( \".geo2_maps_map > #geo2_maps_map_109\" ).parent().removeClass( \"geo2_map_fullscreen\" ).css( \"z-index\", \"\" );\n\t\t\t\t$( \"#geo2_fs_109\" ).removeClass( \"geo2_fs\" ).addClass( \"geo2_fs_out\" );\n\t\t\t\t$( \".geo2_maps_map > #geo2_maps_map_109\" ).parent().css( {\n\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\twidth: width,\n\t\t\t\t\theight: height\n\t\t\t\t} );\n\n\t\t\t\t$(\"body\").css(\"overflow\", \"auto\");\n\t\t\t\t\n\t\t\t\t$( document ).unbind( \"keydown\" );\n\t\t\t\tmap_109.resize();\n\t\t\t\tmap_109.setCamera( { bounds: bounds_109 } );\n\t\t\t}\n\t\t\tfunction historyBack() {\n\t\t\t\thistory.back();\n\t\t\t}\n\t\t\tfunction hashChangeEvent( e ) {\n\t\t\t\tif ( !location.hash.endsWith( \"full_screen_map\" ) ) {\n\t\t\t\t\twindow.onhashchange = null;\n\t\t\t\t\tesc();\n\t\t\t\t}\n\t\t\t}\n\t\t\t$( \"#geo2_fs_109\" ).click( function()\n\t\t\t{\n\t\t\t\tif ( $( \"#geo2_fs_109\" ).hasClass( \"geo2_fs_out\" ) )\n\t\t\t\t{\n\t\t\t\t\t\/\/ update webpage with hash\n\t\t\t\t\tif ( location.hash.length > 0 ) {\n\t\t\t\t\t\tlocation.hash += \"-full_screen_map\";\n\t\t\t\t\t\thash = \"-full_screen_map\";\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlocation.hash += \"full_screen_map\";\n\t\t\t\t\t\thash = \"full_screen_map\";\n\t\t\t\t\t}\n\t\t\t\t\twindow.onhashchange = hashChangeEvent;\n\t\t\t\t\t\n\t\t\t\t\t\/\/ Get map size and location so it can be restored later.\n\t\t\t\t\tbounds_109 = map_109.getCamera().bounds;\n\t\t\t\t\tvar $mapElement = $(\"#geo2_maps_map_109\").parent();\n\t\t\t\t\theight = $mapElement[0].style.height;\n\t\t\t\t\twidth = $mapElement[0].style.width;\n\t\t\t\t\tvar screen_width = $( window ).width();\n\t\t\t\t\tvar screen_height = $( window ).height();\n\t\n\t\t\t\t\t$( \".geo2_maps_map > #geo2_maps_map_109\" ).parent().appendTo( \"body\" );\n\t\t\t\t\t$( \".geo2_maps_map > #geo2_maps_map_109\" ).parent().addClass( \"geo2_map_fullscreen\" ).css( \"z-index\", 9999 );\n\t\t\t\t\t$( \".geo2_maps_map > #geo2_maps_map_109\" ).parent().css( {\n\t\t\t\t\t\tposition: \"fixed\",\n\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\theight: \"100%\"\n\t\t\t\t\t} );\n\n\t\t\t\t\t\/\/ keyup fires after action. to stop action use keydown\n\t\t\t\t\t$( document ).on(\"keydown.geo2\", function( e ) {\n\t\t\t\t\t\tlet slimbox2_container = $(\"#lbContainer\").is(\":visible\");\n\t\t\t\t\t\tlet fancybox_wrap = $(\"#fancybox-fullscreen-wrap\").is(\":visible\");\n\t\t\t\t\t\tlet fancybox3_hash = ($(\".fancybox-is-open\").length > 0) ||  location.hash.startsWith( \"#full_screen_map-\" ) \/\/always ends with \"-\"\n\t\t\t\t\t\tif ( !fancybox3_hash && !slimbox2_container && !fancybox_wrap ) {\n\t\t\t\t\t\t\tvar code;\n\t\t\t\t\t\t\tif ( e.key !== undefined) {\n\t\t\t\t\t\t\t\tcode = e.key;\n\t\t\t\t\t\t\t} else if ( e.keyIdentifier !== undefined) {\n\t\t\t\t\t\t\t\tcode = e.keyIdentifier;\n\t\t\t\t\t\t\t} else if ( e.keyCode !== undefined) {\n\t\t\t\t\t\t\t\tcode = e.keyCode;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (code === \"Escape\" || code === \"Esc\" || code === 27) {\n\t\t\t\t\t\t\t\thistoryBack();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t\t$( \"#geo2_fs_109\" ).removeClass( \"geo2_fs_out\" ).addClass( \"geo2_fs\" );\n\t\t\t\t\t$( \"body\" ).css( \"overflow\", \"hidden\" );\n\t\t\t\t\tmap_109.resize();\n\t\t\t\t\tmap_109.setCamera( { bounds: bounds_109, padding: 0 } );\n\t\t\t\t} else {\n\t\t\t\t\thistoryBack();\n\t\t\t\t}\n\t\t\t} );\n\t\t});\n<\/script>\n\t<div id=\"geo2_map_109_placeholder\">\n\t\t<div class=\"geo2_maps_map\" style=\"width: 100%; height: 300px;\">\n\t\t\t<div id=\"geo2_maps_map_109\" style=\"position:relative; width:100%;min-width:290px;height:100%;background-color:gray\"><\/div>\n\t\t<\/div>\n\t<\/div>\n<!-- End NGG Geo2 Maps -->\n\n\n","protected":false},"excerpt":{"rendered":"<p>Vanaf Old Orchard Beach gaan we naar een camping vlakbij waar we de camper in moeten leveren. Best een eindje rijden. We vertrekken best op tijd. Eerst natuurlijk ontbijt bij Dunkin Donuts, Alice wil weer een keer naar Starbucks maar die zit er dan niet. Deze zit ook bij een supermarkt, meteen de laatste keer &hellip; <a class=\"read-excerpt\" href=\"https:\/\/tastyweb.nl\/blog\/?p=2427\">Continue reading <span class=\"meta-nav\">&raquo;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":2453,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[5,137,138],"tags":[162],"class_list":["post-2427","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-amerika","category-boston","category-massachusetts","tag-vakantie2016"],"jetpack_featured_media_url":"https:\/\/tastyweb.nl\/blog\/wp-content\/uploads\/ngg_featured\/IMG_6668.jpg","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pnoYX-D9","_links":{"self":[{"href":"https:\/\/tastyweb.nl\/blog\/index.php?rest_route=\/wp\/v2\/posts\/2427","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tastyweb.nl\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tastyweb.nl\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tastyweb.nl\/blog\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/tastyweb.nl\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2427"}],"version-history":[{"count":7,"href":"https:\/\/tastyweb.nl\/blog\/index.php?rest_route=\/wp\/v2\/posts\/2427\/revisions"}],"predecessor-version":[{"id":7105,"href":"https:\/\/tastyweb.nl\/blog\/index.php?rest_route=\/wp\/v2\/posts\/2427\/revisions\/7105"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tastyweb.nl\/blog\/index.php?rest_route=\/wp\/v2\/media\/2453"}],"wp:attachment":[{"href":"https:\/\/tastyweb.nl\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2427"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tastyweb.nl\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2427"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tastyweb.nl\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2427"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}