colorized_gmap-8.x-1.x-dev/js/colorized_gmap.js
js/colorized_gmap.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 | ( function ($, Drupal, drupaldrupalSettings) { Drupal.behaviors.ColorPickerfields = { attach: function (context, drupalSettings) { var blocks = drupalSettings[ 'colorized_gmap' ]; var item; for (item in blocks) { var block = blocks[item]; init(blocks[item], item); } function init(block, machine_name) { if (block[ 'style' ] == 'undefined' ) { var latitude = 48.853358; var longitude = 2.348903; var markertitle = 'Destination' ; var infowindowContent = '' ; var mapOptions = { zoom: 15, center: new google.maps.LatLng(latitude, longitude) }; } else { var markericon = null ; if (block[ 'additional_settings' ][ 'marker_settings' ][ 'marker' ][ 'url' ]) { markericon = block[ 'additional_settings' ][ 'marker_settings' ][ 'marker' ][ 'url' ]; } if (block[ 'additional_settings' ][ 'marker_settings' ][ 'info_window' ]) { var infowindowContent = block[ 'additional_settings' ][ 'marker_settings' ][ 'info_window' ][ 'value' ]; } var markertitle = block[ 'additional_settings' ][ 'marker_settings' ][ 'markertitle' ]; var latitude = block[ 'coordinates' ][ 'latitude' ]; var longitude = block[ 'coordinates' ][ 'longitude' ]; var mapstyle = block[ 'style' ]; var zoomControlSize = block[ 'additional_settings' ][ 'zoom_controls' ][ 'zoomControlSize' ]; var zoomControlPosition = block[ 'additional_settings' ][ 'zoom_controls' ][ 'zoomControlPosition' ]; var mapOptions = { zoom: parseInt(block[ 'additional_settings' ][ 'zoom_controls' ][ 'zoom' ]), center: new google.maps.LatLng(latitude, longitude), styles: mapstyle, scrollwheel: block[ 'additional_settings' ][ 'zoom_controls' ][ 'scrollwheel' ], streetViewControl: block[ 'additional_settings' ][ 'controls' ][ 'streetViewControl' ], streetViewControlOptions: { position: google.maps.ControlPosition = block[ 'additional_settings' ][ 'controls_position' ][ 'streetViewControlPosition' ] }, mapTypeControl: block[ 'additional_settings' ][ 'controls' ][ 'mapTypeControl' ], mapTypeControlOptions: { position: google.maps.ControlPosition = block[ 'additional_settings' ][ 'controls_position' ][ 'mapTypeControlPosition' ], }, zoomControl: block[ 'additional_settings' ][ 'zoom_controls' ][ 'zoomControl' ], draggable: true , panControl: block[ 'additional_settings' ][ 'controls' ][ 'panControl' ], panControlOptions: { position: google.maps.ControlPosition = block[ 'additional_settings' ][ 'controls_position' ][ 'panControlPosition' ] }, zoomControlOptions: { style: google.maps.ZoomControlStyle = zoomControlSize, position: google.maps.ControlPosition = zoomControlPosition } }; var mindragwidth = block[ 'additional_settings' ][ 'controls' ][ 'min_drag_width' ]; if ($(document).width() < mindragwidth && mindragwidth != 0) { mapOptions.draggable = false ; } } var mapId = 'colorized-gmap-' + block[ 'machine_name' ]; var mapElement = document.getElementById(mapId); var map = new google.maps.Map(mapElement, mapOptions); var markerOptions = { position: new google.maps.LatLng(latitude, longitude), map: map, title: markertitle, icon: markericon, }; if (infowindowContent && infowindowContent != '' ) { var infowindow = new google.maps.InfoWindow({ content: infowindowContent }); markerOptions.infowindow = infowindow; } marker = new google.maps.Marker(markerOptions); if (block[ 'additional_settings' ][ 'marker_settings' ][ 'displayPopupContent' ]){ marker.infowindow.open(map, marker); } google.maps.event.addListener(marker, 'click' , function () { if ( this .infowindow) { this .infowindow.open(map, this ); } }); } } }; })(jQuery, Drupal); |