Paris Je T'aime - Office du Tourisme de Paris - Sofitel Paris Arc de Triomphe (2024)

'; function LoadMap() { let isMapLoaded = false; if ($('#left').hasClass('map-on') /* || !$('#left').length */) { /* condition si le div left n'existe pas (exemple Widget)*/ initSimple(); isMapLoaded = true; $(document).trigger('map-loaded'); } else { var fnToggleMap = function () { initSimple(); isMapLoaded = true; $(document).trigger('map-loaded'); }; $("#left").on('classChange', function () { if ($('#left').hasClass('map-on')) { $('#left').off('classChange'); fnToggleMap(); } }); $(document).on('map-load', function () { $(document).off('map-load'); fnToggleMap(); }); } $(document).trigger('map-ready'); } function ToggleMaps(button, id) { $('#ctl00_RightContentPlaceHolder_wucPlans_mapsGoogle_btnSimple').removeClass('btnMapFloatingSelected'); $('#ctl00_RightContentPlaceHolder_wucPlans_mapsGoogle_btnPOI').removeClass('btnMapFloatingSelected'); $('#ctl00_RightContentPlaceHolder_wucPlans_mapsGoogle_btnNearby').removeClass('btnMapFloatingSelected'); $('#ctl00_RightContentPlaceHolder_wucPlans_mapsGoogle_btnSimilar').removeClass('btnMapFloatingSelected'); $(button).addClass('btnMapFloatingSelected'); document.getElementById("mapSimple").style.display = "none"; document.getElementById("mapPOI").style.display = "none"; document.getElementById("mapNearby").style.display = "none"; document.getElementById("mapSimilar").style.display = "none"; document.getElementById(id).style.display = "block"; //Alexis: les différentes maps sont initalisés automatiquement au load if (id == "mapSimple" && typeof initializeSimple == 'function') { //initializeSimple(); } if (id == "mapPOI" && typeof fitBoundsMapPOI == 'function') { fitBoundsMapPOI(); } if (id == "mapNearby" && typeof fitBoundsNearBy == 'function') { fitBoundsNearBy(); } if (id == "mapSimilar" && typeof fitBoundsMapSimilar == 'function') { fitBoundsMapSimilar(); } } function selectMarker(key, status) { var marker; if (typeof key === 'object') marker = key; if (marker === undefined && typeof markersMap === 'object') marker = markersMap[key]; if (marker === undefined && typeof markersSimilar === 'object') marker = markersSimilar[key]; if (marker === undefined && typeof markersNearby === 'object') marker = markersNearby[key]; if (marker === undefined && typeof markersPOI === 'object') marker = markersPOI[key]; if (marker === undefined) return; if (marker?.icon !== undefined) { var map = marker.getMap(); if (marker?.icon?.scaledSize) { var url = marker.icon.url; var scallwidth = marker.icon.scaledSize.width; var scallHeight = marker.icon.scaledSize.height; if (status == "start" && !marker.icon.isScalled) { if (markersMap[key]) { if (myMarkerClusterer) { myMarkerClusterer.removeMarker(marker); } } marker.setIcon({ url: url, scaledSize: new google.maps.Size(scallwidth * 1.5, scallHeight * 1.5), isScalled: true }); marker.defaultZindex = marker.zIndex; marker.setZIndex(900000000000); } else if (status == "stop" && marker.icon.isScalled) { marker.setIcon({ url: url, scaledSize: new google.maps.Size(scallwidth / 1.5, scallHeight / 1.5), isScalled: false }); if (markersMap[key]) { if (myMarkerClusterer) { myMarkerClusterer.addMarker(marker); } } marker.setZIndex(marker.defaultZindex); } marker.setMap(map); } } } function AnimateMarker(key, animation) { var marker; if (typeof key === 'object') marker = key; if (marker === undefined && typeof markersMap === 'object') marker = markersMap[key]; if (marker === undefined && typeof markersSimilar === 'object') marker = markersSimilar[key]; if (marker === undefined && typeof markersNearby === 'object') marker = markersNearby[key]; if (marker === undefined && typeof markersPOI === 'object') marker = markersPOI[key]; if (marker === undefined) return; if (myMarkerClusterer) { if (myMarkerClusterer.removeMarker(marker)) { marker.setMap(myMap); } } //if (animation != null) { // marker.setZIndex(900000000000); //} else { // marker.setZIndex(1); //} marker.setAnimation(animation); //if (animation != null) { // var zIndexes = markersMap.map(c => { return c.getOptions().zIndex; }); // var maxZIndex = Math.max.apply(Math, zIndexes); // //marker.setOptions({ zIndex: 100000000000 + 1 }); //} } function LoadMapPopupCarousel(carouselInner,id) { $.ajax({ url: 'Maps.aspx/GetHotelPhotos', data: "{ 'eventHotelGuid': '" + id + "', width:300, height:200, excludeFrontImg:true }", dataType: "json", type: "POST", contentType: "application/json; charset=utf-8", success: function (data) { var images = JSON.parse(data.d); $.each(images, function (i, imageUrl) { var itemHtml = $.interpolate(carouselItemTemplate, { imageUrl, id }); $(carouselInner).append($(itemHtml)); $(carouselInner) .parent() .find('button').css('display', ''); }); }, error: function (response) { console.log(response.responseText); }, failure: function (response) { console.log(response.responseText); } }); } // add marker with content build from cs... function AddMapMarker(map, markerArray, i, obj) { var markerPosition = new google.maps.LatLng(obj.lat, obj.lng); var regIcon = { url: obj.icon.url }; if (obj.icon.width != null && obj.icon.height!=null) { regIcon.scaledSize = new google.maps.Size(obj.icon.width ?? 32, obj.icon.height ?? 32); } var type = 1; var isMulti = false; var marker = new google.maps.Marker({ position: markerPosition, map: map, icon: regIcon, zIndex: (1000 - (type * 10))/*, animation: google.maps.Animation.DROP */ }); markerArray[obj.id] = marker; var infowindow = new google.maps.InfoWindow({ content: obj.content }); google.maps.event.addListener(infowindow, 'domready', function () { $('.gm-style-iw-d').css('overflow', 'hidden'); $('.gm-style-iw.gm-style-iw-c').addClass(obj.popup_class); LoadMapPopupCarousel('.carousel-inner[data-EventHotelGuid="' + obj.id + '"]',obj.id); $('.getEventHotelGuidLink, .loadingWishListButton').remove(); $(getAddToWishListTemplate(obj.external_id, obj.hotel_id)).prependTo('.marker-popup-description'); GetHotelGuidAndBookingComHotelIDBookmarkClass(obj.hotel_id, obj.external_id, 0); GetHotelGuidAndBookingComHotelIDBookmarkClass(obj.hotel_id, obj.external_id, 1); }); google.maps.event.addListener(marker, 'mouseover', function () { selectMarker(marker, "start"); }); google.maps.event.addListener(marker, 'mouseout', function () { selectMarker(marker, "stop"); }); google.maps.event.addListener(marker, 'zoom_changed', function () { hideInfoBoxesDefault(infowindow); /*showInfoBoxesDefault(infowindow, marker, true);*/ }); if (JSON.parse(isMulti) == false) { //google.maps.event.addListener(marker, 'click', function () { window.location = "Hotel.aspx?" + guid + (isOnPartners == "true" ? "&IsOnPartners=true" : ""); }); google.maps.event.addListener(marker, 'click', function () { hideInfoBoxesDefault(infowindow); showInfoBoxesDefault(infowindow, marker); if ($(window).width() < 768) { setCurrentSlide(obj.id); } }); } return marker; }

" : "") + "" + nom + (!isMobile ? "
" + (nbStars > 0 ? category : "") + (priceFrom != "" ? "
" + priceFrom : "") + "
" : ""); //var contentString = (!isMobile ? "

" + imgString + "

" : "") + "

" + nom + (!isMobile ? category2 + (priceFrom != "" ? "
" + priceFrom : "") + "

" : ""); //if (isMobile) { //contentString = "

" + nom + "

"; //} const spanPriceFrom = markerOptions.priceFrom != "" ? "
" + markerOptions.priceFrom+"" : ""; const template = "\

{carousel}

\

\ {name}\ {stars}\ {priceFrom}\

"; const carousel = $.interpolate(carouselTemplate, { carouselID: 'mapDefaultMarkerCarousel_' + markerOptions.index, Guid: markerOptions.eventHotelGuid, imageUrl: markerOptions.img, class: ''}); contentString = $.interpolate(template, { eventHotelGuid: markerOptions.eventHotelGuid, name: markerOptions.nom, stars: category2, priceFrom: spanPriceFrom, carousel: carousel }); const infowindow = new google.maps.InfoWindow({ content: contentString }); google.maps.event.addListener(infowindow, 'domready', function (e) { $('.gm-style-iw-d').css('overflow', 'hidden'); $('.gm-style-iw.gm-style-iw-c').addClass('map-hotel-popup') .attr('data-isMulti', markerOptions.isMulti); if (markerOptions.isMulti) { $.each(markerOptions.childrens,(iChild, child) => { LoadMapPopupCarousel('.carousel-inner[data-EventHotelGuid="' + markerOptions.eventHotelGuid + '"]',child.eventHotelGuid); }); $('.marker-popup-multi[data-targeteventhotelguid="' + markerOptions.eventHotelGuid + '"]').addClass('active'); } else { LoadMapPopupCarousel('.carousel-inner[data-EventHotelGuid="' + markerOptions.eventHotelGuid + '"]',markerOptions.eventHotelGuid); } if (JSON.parse(markerOptions.isDisabled)) { $(".marker-popup-content[data-event-hotel-guid='" + markerOptions.eventHotelGuid + "']").prepend("

"); } $('#mapDefaultMarkerCarousel_' + markerOptions.index).on('slid.bs.carousel', function () { let activeItem = $(this).find('.carousel-item.active'); let targetEventhotelguid = activeItem.data("targetEventhotelguid"); $('.marker-popup-multi').removeClass('active'); let elements = $('.marker-popup-multi[data-targeteventhotelguid="' + targetEventhotelguid + '"]').addClass('active'); if (elements.length > 0) elements[0].scrollIntoView(false); }); $(document).trigger('infowindowload', e); // Retire le bouton d'ajout à la wishlist quand on se trouve sur la page hotel //if ($(location).attr('pathname').indexOf('Hotel.aspx') >= 0) { // $('.getEventHotelGuidLink').remove(); //} //else { // Ajoute le bouton d'ajout à la wishlist dans le popup de l'hotel et met ses classes à jour $('.getEventHotelGuidLink, .loadingWishListButton').remove(); $(getAddToWishListTemplate(markerOptions.bookingComHotelID, markerOptions.hotelGuid)).prependTo('.marker-popup-description'); GetHotelGuidAndBookingComHotelIDBookmarkClass(markerOptions.hotelGuid, markerOptions.bookingComHotelID, 0); GetHotelGuidAndBookingComHotelIDBookmarkClass(markerOptions.hotelGuid, markerOptions.bookingComHotelID, 1); //} }); //google.maps.event.addListener(marker, 'mouseover', function () { hideInfoBoxesDefault(infowindow); showInfoBoxesDefault(infowindow, marker); }); google.maps.event.addListener(marker, 'mouseover', function () { selectMarker(marker, "start"); }); google.maps.event.addListener(marker, 'mouseout', function () { selectMarker(marker, "stop"); }); google.maps.event.addListener(marker, 'zoom_changed', function () { hideInfoBoxesDefault(infowindow); /*showInfoBoxesDefault(infowindow, marker, true);*/ }); if (JSON.parse(markerOptions.isMulti) == true) { // on ajoute le meme marker dans le tableau avec l'id du sous markeur $.each(markerOptions.childrens, child => { markerArray[child.eventHotelGuid] = marker; }); } google.maps.event.addListener(marker, 'click', function () { hideInfoBoxesDefault(infowindow); showInfoBoxesDefault(infowindow, marker); if ($(window).width() < 768) { setCurrentSlide(markerOptions.eventHotelGuid); } }); return marker; } function RemoveMarker(id) { markersMap[id].setMap(null); const index = markersMap.indexOf(id); const x = markersMap.splice(index, 1); } function is_touch_enabled() { return ('ontouchstart' in window) || (navigator.maxTouchPoints > 0) || (navigator.msMaxTouchPoints > 0); } function showInfoBoxesDefault(currentInfowindow, marker, disableAutoPan = false) { const currentMap = marker.getMap(); selectMarker(marker, "start"); if (currentMap) { //Recreate InfoWindow to change disableAutoPan property currentInfowindow.setOptions({ disableAutoPan: disableAutoPan }); //if (currentInfowindow.disableAutoPan != disableAutoPan) { // //currentInfowindow = new google.maps.InfoWindow({ content: currentInfowindow.content, disableAutoPan: disableAutoPan}); //} currentInfowindow.open(currentMap, marker); } else { currentInfowindow.close(); } currentInfoBox = currentInfowindow; } function hideInfoBoxesDefault(defaultInfobox) { if (currentInfoBox != null && currentInfoBox != defaultInfobox) { selectMarker(currentInfoBox.anchor, "stop"); currentInfoBox.close(); } } function LoadHotels() { const urlXml = 'https://hotel.parisjetaime.com:443//MapGenerateXML.aspx?Mode=CurrentHotel&AccommodationPartnerCode=a0968000009dHxZAAU&IsYouth=False&BookingComHotelID=59912&ind=33'; const showHotelsSlider = (ShowHotelsListInMobileDevices && $(window).width() < 768) || ShowHotelsListInDesktop; let startTime, endTime; startTime = new Date(); downloadUrl(urlXml /*+ "&Rnd=" + Math.random()*/, function (data) { let endTime = new Date(); const ignoreRecenter = showHotelsSlider || (false && ((endTime.getTime() - startTime.getTime()) / 1000) > 1); CreateHotelsMarkers(data.responseText, ignoreRecenter); displayDefaultMapLoader(false); if (showHotelsSlider) { FillHotelsList(data.responseText); } $(document).trigger('map-hotels-loaded'); }, true); } function LoadPOIs() { const urlXml = 'https://hotel.parisjetaime.com:443//MapGenerateXML.aspx?Mode=POIs'; downloadUrl(urlXml + "&Rnd=" + Math.random(), function (data) { CreatePOIsMarkers(data.responseText); }); } function LoadEventLocations() { //var isMobile = isIntegratedMobileWebsite || $(window).width() < 768; //if (!isMobile) { const urlXml = 'https://hotel.parisjetaime.com:443//MapGenerateXML.aspx?Mode=EventLocations&EventLocationGuid=00000000-0000-0000-0000-000000000000'; downloadUrl(urlXml /*+ "&Rnd=" + Math.random()*/, function (data) { CreateEventLocationsMarkers(data.responseText); }); /*}*/ } function GetHotelGridItem(markerIndex) { let divItemTemplate = $('#map_hotelsListMobile_itemTemplate').html(); let imgStar = 'Paris Je T'aime - Office du Tourisme de Paris - Sofitel Paris Arc de Triomphe (1)'; let eventHotelGuid = hotelsList[markerIndex].getAttribute("eventHotelGuid"); let isOnPartners = hotelsList[markerIndex].getAttribute("isOnPartners"); let bookingComHotelID = hotelsList[markerIndex].getAttribute("bookingComHotelID"); let expediaHotelID = hotelsList[markerIndex].getAttribute("expediaHotelID"); let nom = hotelsList[markerIndex].getAttribute("nom"); if (redirectToBlank == "1") { nom = nom.replace("target='_top'", "target='_blank'"); } let nbStars = hotelsList[markerIndex].getAttribute("nbStars"); let priceFrom = hotelsList[markerIndex].getAttribute("priceFrom"); let isDisabled = hotelsList[markerIndex].getAttribute("isDisabled"); let isApart = hotelsList[markerIndex].getAttribute("isApart"); let img = hotelsList[markerIndex].getAttribute("img"); let rating = hotelsList[markerIndex].getAttribute("rating"); let trustYouID = hotelsList[markerIndex].getAttribute("TrustYouID"); if (!String.prototype.replaceAll) { String.prototype.replaceAll = function (search, replacement) { let target = this; return target.replace(new RegExp(search, 'g'), replacement); }; } var currentItemTemplate = divItemTemplate; currentItemTemplate = currentItemTemplate.replaceAll('{index}', markerIndex); currentItemTemplate = currentItemTemplate.replaceAll('{eventHotelGuid}', eventHotelGuid); currentItemTemplate = currentItemTemplate.replaceAll('{url}', getHotelPageUrl(eventHotelGuid, bookingComHotelID, expediaHotelID, isOnPartners)); currentItemTemplate = currentItemTemplate.replaceAll('{img}', img); currentItemTemplate = currentItemTemplate.replaceAll('{name}', nom); currentItemTemplate = currentItemTemplate.replaceAll('{priceFrom}', priceFrom); currentItemTemplate = currentItemTemplate.replaceAll('{stars}', new Array(parseInt(nbStars) + 1).join(imgStar)); //currentItemTemplate = currentItemTemplate.replaceAll('data-src', 'src'); if (false) { rating = rating / 20; } currentItemTemplate = currentItemTemplate.replaceAll('{rating}', rating); if (trustYouID) { currentItemTemplate = currentItemTemplate.replaceAll('{TrustYouURL}', 'https://api.trustyou.com/hotels/' + trustYouID + '/seal.html?size=xs&key=55d53a8a-12f1-44b0-9a56-966ec273ffd5'); currentItemTemplate = currentItemTemplate.replaceAll('{TrustYouIFrameClass}', 'TrustYouIFrame'); } else { currentItemTemplate = currentItemTemplate.replaceAll('{TrustYouURL}', ''); currentItemTemplate = currentItemTemplate.replaceAll('{TrustYouIFrameClass}', 'd-none'); } if (rating != "0.0") { currentItemTemplate = currentItemTemplate.replaceAll('{isRatingVisible}', 'visible'); } else { currentItemTemplate = currentItemTemplate.replaceAll('{isRatingVisible}','hidden'); } return currentItemTemplate; } function FillHotelsList(xmlData) { const xml = xmlParse(xmlData); hotelsList = xml.documentElement.getElementsByTagName("marker"); var $divHotelsList = $('#map_hotelsListMobile'); var divHotelsListInnerHtml = $divHotelsList.html(); if (hotelsList.length > 1) { divHotelsListInnerHtml += GetHotelGridItem(0); if (hotelsList.length >= 2) { divHotelsListInnerHtml += GetHotelGridItem(1); } if (hotelsList.length >= 3) { divHotelsListInnerHtml += GetHotelGridItem(2); } $divHotelsList.append(divHotelsListInnerHtml); $divHotelsList.slick({ dots: false, variableWidth: true, arrows: true, swipeToSlide: true, centerMode: true, lazyLoad: 'ondemand', initialSlide: 0, infinite: false, appendArrows: '#map_hotelsListMobile > .slick-list' }) .on('afterChange', function (event, slick, currentSlideIndex, nextSlideIndex) { let currentItem = $(slick.$slides.get(currentSlideIndex)); if (!ignoreRecenter) { var marker = showOnMap(currentItem.attr('data-eventHotelGuid'), 0, $divHotelsList.height()); if (marker !== undefined) { myMap.setCenter(marker.position); } } let currentHotelIndex = parseInt(currentItem.attr('data-index')); if (currentHotelIndex > 0) { var prevSlide = $divHotelsList.find("[data-index='" + (currentHotelIndex - 1) + "']"); if (prevSlide.length == 0) { prevSlide = GetHotelGridItem(currentHotelIndex - 1); slick.currentSlide = currentSlideIndex + 1; if (currentSlideIndex > 0) { slick.slickAdd(prevSlide, currentSlideIndex - 1); } else { slick.slickAdd(prevSlide, currentSlideIndex, true); } } } if (hotelsList.length > (currentHotelIndex + 1)) { var nextSlide = $divHotelsList.find("[data-index='" + (currentHotelIndex + 1) + "']"); if (nextSlide.length == 0) { nextSlide = GetHotelGridItem(currentHotelIndex + 1); slick.slickAdd(nextSlide); } } LoadHotelsListTrustYouRating(); ignoreRecenter = false; }); LoadHotelsListTrustYouRating(); $divHotelsList.removeClass('d-none'); var eventHotelGuid = hotelsList[0].getAttribute("eventHotelGuid"); if (eventHotelGuid) { onHotelHover(eventHotelGuid, 0, $divHotelsList.height()); } google.maps.event.addListener(myMap, 'zoom_changed', function () { let $map_hotelsListMobile = $('#map_hotelsListMobile'); let $hotelsListSlick = $map_hotelsListMobile.slick("getSlick"); let currentItem = $($hotelsListSlick.$slides.get($hotelsListSlick.slickCurrentSlide())); let currentMarker = markersMap[currentItem.attr('data-eventHotelGuid')]; //google.maps.event.trigger(currentMarker, 'mouseover-nopan'); google.maps.event.trigger(currentMarker, 'zoom_changed'); }); } } function LoadHotelsListTrustYouRating() { $('.TrustYouIFrame[data-src]').each(function () { $(this).attr('src', $(this).attr('data-src')); $(this).removeAttr('data-src'); }); } function setCurrentSlide(eventHotelGuid) { ignoreRecenter = true; let $map_hotelsListMobile = $('#map_hotelsListMobile'); let $hotelsListSlick = $map_hotelsListMobile.slick("getSlick"); let slideIndex = $map_hotelsListMobile.find('[data-eventHotelGuid="' + eventHotelGuid + '"]').filter(function (index, element) { return $(element).attr('data-slick-index') > 0 }).attr('data-slick-index'); if (!slideIndex) { let hotelsListArray = Array.prototype.slice.call(hotelsList); let hotelIndex = hotelsListArray.findIndex(function (element) { return element.getAttribute("eventHotelGuid") === eventHotelGuid; }); if (hotelIndex >= 0) { $hotelsListSlick.slickAdd(GetHotelGridItem(hotelIndex)); } slideIndex = $map_hotelsListMobile.find('[data-eventHotelGuid="' + eventHotelGuid + '"]').filter(function (index, element) { return $(element).attr('data-slick-index') > 0 }).attr('data-slick-index'); $hotelsListSlick.slickPause(); $hotelsListSlick.slickGoTo(slideIndex, true); } else { $hotelsListSlick.slickPause(); $hotelsListSlick.slickGoTo(slideIndex, true); } } function CreateHotelsMarkers(xmlData, ignoreRecenter) { const xml = xmlParse(xmlData); let markers = xml.documentElement.getElementsByTagName("marker"); let points = []; for (let i = 0; i < markers.length; i++) { const point = new google.maps.LatLng(parseFloat(markers[i].getAttribute("lat")), parseFloat(markers[i].getAttribute("lng"))); const eventHotelGuid = markers[i].getAttribute("eventHotelGuid"); if (markersCluster[eventHotelGuid] === undefined) { markersCluster[eventHotelGuid] = markers[i].getAttribute("eventHotelGuids"); } if (!(eventHotelGuid in markersMap)) { let isOnPartners = markers[i].getAttribute("isOnPartners"); let hotelGuid = markers[i].getAttribute("hotelGuid"); let bookingComHotelID = markers[i].getAttribute("bookingComHotelID"); let expediaHotelID = markers[i].getAttribute("expediaHotelID"); let type = markers[i].getAttribute("type"); let adresse = markers[i].getAttribute("adresse"); let codepostal = markers[i].getAttribute("codepostal"); let ville = markers[i].getAttribute("ville"); let nom = markers[i].getAttribute("nom"); if (redirectToBlank == "1") { nom = nom.replace("target='_top'", "target='_blank'"); } let category = markers[i].getAttribute("category"); let nbStars = markers[i].getAttribute("nbStars"); let priceFrom = markers[i].getAttribute("priceFrom"); let isDisabled = markers[i].getAttribute("isDisabled"); let isMulti = markers[i].getAttribute("isMulti"); let isApart = markers[i].getAttribute("isApart"); let img = markers[i].getAttribute("img"); let childrens = []; isMulti = JSON.parse(isMulti); if (isMulti) { childrens = $.map(markers[i].children, child => { return { eventHotelGuid: child.getAttribute('eventHotelGuid'), hotelGuid: child.getAttribute('hotelGuid'), nom: child.getAttribute('nom'), category: child.getAttribute('category'), rating: child.getAttribute('rating'), priceFrom: child.getAttribute('priceFrom'), isApart: child.getAttribute('isApart'), isDisabled: child.getAttribute('isDisabled'), }; }); } const markerOptions = { img, point, nom, adresse, codepostal, ville, type, category, nbStars, index:i, isDisabled, eventHotelGuid, isOnPartners, hotelGuid, bookingComHotelID, expediaHotelID, priceFrom, isMulti, isApart, childrens }; const marker = MakeMarker(myMap, markersMap, i, markerOptions); latlngbounds.extend(point); points.push(marker); } } if ((useHotelCluster && catHotel) || (useApartCluster && !catHotel)) { const clusterStyles = [ { textColor: 'white', url: 'https://s3.eu-west-1.amazonaws.com/media.bnetwork.com/Prod/Graphics/MapIcons/marker_cluster.png', height: 45, width: 45 }, { textColor: 'white', url: 'https://s3.eu-west-1.amazonaws.com/media.bnetwork.com/Prod/Graphics/MapIcons/marker_cluster.png', height: 45, width: 45 }, { textColor: 'white', url: 'https://s3.eu-west-1.amazonaws.com/media.bnetwork.com/Prod/Graphics/MapIcons/marker_cluster.png', height: 45, width: 45 } ]; const options = { maxZoom: 15, minimumClusterSize: 15, gridSize: 100, styles: clusterStyles }; if (!myMarkerClusterer) { myMarkerClusterer = new MarkerClusterer(myMap, points, options);//add the marker to the MarkerClusterer } else { for (let i = 0; i < points.length; i++) { myMarkerClusterer.addMarker(points[i]); } } } if (!ignoreRecenter) { window.setTimeout(function () { if (Object.keys(markersMap) == 0) { myMap.setZoom(isIntegratedMobileWebsite ? 12 : 15); } }, 500); fitBoundsMapSimple(); } } function CreatePOIsMarkers(xmlData) { const xml = xmlParse(xmlData); let markers = xml.documentElement.getElementsByTagName("marker"); for (let i = 0; i < markers.length; i++) { CreatePOIMarker(markers[i]); } } function CreatePOIMarker(marker) { let poiIcon = marker.getAttribute("icon"); let point = new google.maps.LatLng(parseFloat(marker.getAttribute("lat")), parseFloat(marker.getAttribute("lng"))); let myMarker = new google.maps.Marker({ position: point, map: myMap, icon: poiIcon, zIndex: 500/*, animation: google.maps.Animation.DROP*/ }); let contentString = "

" + marker.getAttribute("name") + "
" + marker.getAttribute("desc") + "

"; const infowindow = new google.maps.InfoWindow({ content: contentString }); google.maps.event.addListener(myMarker, 'mouseover', function () { hideInfoBoxesDefault(infowindow); showInfoBoxesDefault(infowindow, myMarker); }); } function CreateEventLocationsMarkers(xmlData) { const xml = xmlParse(xmlData); let markers = xml.documentElement.getElementsByTagName("marker"); for (let i = 0; i < markers.length; i++) { CreateEventLocationMarker(markers[i]); } } function CreateEventLocationMarker(marker) { let poiIcon = marker.getAttribute("icon"); let point = new google.maps.LatLng(parseFloat(marker.getAttribute("lat")), parseFloat(marker.getAttribute("lng"))); let myMarker = new google.maps.Marker({ position: point, map: myMap, icon: poiIcon, zIndex: 1000/*, animation: google.maps.Animation.DROP*/ }); let contentString = "

" + marker.getAttribute("name") + "

"; const infowindow = new google.maps.InfoWindow({ content: contentString }); google.maps.event.addListener(myMarker, 'mouseover', function () { hideInfoBoxesDefault(infowindow); showInfoBoxesDefault(infowindow, myMarker); }); google.maps.event.addListener(myMarker, 'click', function () { hideInfoBoxesDefault(infowindow); showInfoBoxesDefault(infowindow, myMarker); }); } function initSimple() { initialize(); displayDefaultMapLoader(true); LoadEventLocations(); LoadPOIs(); LoadHotels(); onMapInitialized(); onMapInitialized = function () { }; } function displayDefaultMapLoader(value) { if (value) { $('#defaultmap-loader').show(); } else { $('#defaultmap-loader').hide(); } } function clusterized() { if ($(window).width() < 768) { useHotelCluster = useApartCluster = true; } } function getEventHotelGuidFromMap(bookingComHotelID, hotelGuid) { $('#ctl00_RightContentPlaceHolder_wucPlans_mapsGoogle_wucPlansGoogleDefault_HotelGuidHiddenFieldFromMap').attr('value', hotelGuid); $('#ctl00_RightContentPlaceHolder_wucPlans_mapsGoogle_wucPlansGoogleDefault_BookingComHotelIDHiddenFieldFromMap').attr('value', bookingComHotelID); $('#ctl00_RightContentPlaceHolder_wucPlans_mapsGoogle_wucPlansGoogleDefault_ButtonAddToWishList').click(); setTimeout(function () { GetHotelGuidAndBookingComHotelIDBookmarkClass(hotelGuid, bookingComHotelID, 0); GetHotelGuidAndBookingComHotelIDBookmarkClass(hotelGuid, bookingComHotelID, 1); }, 1500); }

Paris Je T'aime - Office du Tourisme de Paris - Sofitel Paris Arc de Triomphe (2)

{name}

{stars}

{rating}

{priceFrom}

Paris Je T'aime - Office du Tourisme de Paris - Sofitel Paris Arc de Triomphe (2024)
Top Articles
Latest Posts
Article information

Author: Frankie Dare

Last Updated:

Views: 5949

Rating: 4.2 / 5 (73 voted)

Reviews: 88% of readers found this page helpful

Author information

Name: Frankie Dare

Birthday: 2000-01-27

Address: Suite 313 45115 Caridad Freeway, Port Barabaraville, MS 66713

Phone: +3769542039359

Job: Sales Manager

Hobby: Baton twirling, Stand-up comedy, Leather crafting, Rugby, tabletop games, Jigsaw puzzles, Air sports

Introduction: My name is Frankie Dare, I am a funny, beautiful, proud, fair, pleasant, cheerful, enthusiastic person who loves writing and wants to share my knowledge and understanding with you.