(function ($) { window.establishment_maps = {}; Drupal.behaviors.establishment_locations_map = { attach: function (context, settings) { if (!Drupal.settings.hasOwnProperty('establishment_locations_map')) return true; $.each(Drupal.settings.establishment_locations_map, function (map_id, data) { var $map_canvas = $('#map-id' + map_id); if ($map_canvas.length != 1) return true; var map_options = { map: { address: "545-553 Hillsborough Street, Raleigh, NC 27603, United States", options: { mapTypeId: google.maps.MapTypeId.ROADMAP, zoomControl: true, zoomControlOpt: { style: 'DEFAULT', position: 'TOP_LEFT' }, panControl: true, streetViewControl: false, mapTypeControl: false, overviewMapControl: false, zoom: 9, maxZoom: 17 } }, marker: { values: [], options: { draggable: false }, events: { click: function (marker, event, context) { var map = $(this).gmap3("get"); var infowindow = $(this).gmap3({get: {name: "infowindow"}}); if (infowindow) { infowindow.open(map, marker); infowindow.setContent(context.data); } else { $(this).gmap3({ infowindow: { anchor: marker, options: { content: context.data, disableAutoPan: true } } }); } try { var center = new google.maps.LatLng(marker.position.lat() + 0.0008, marker.position.lng()); map.setCenter(center); } catch (e) {} } } } }; if (data.hasOwnProperty('locations')) { $.each(data.locations, function (location_id, location) { map_options.marker.values.push({ address: location.address, data: location.info_box, options: { icon: Drupal.settings.basePath + data.marker_icon } }); }); } try{ $map_canvas.gmap3(map_options, "autofit"); } catch(e) { if ("console" in window) console.error(e); } if(map_options.marker.values.length == 1) { var marker = $map_canvas.gmap3({ get: { name:"marker", callback: function(marker){ google.maps.event.trigger(marker, "click"); } } }); } }); } }; }(jQuery));