colorized_gmap-8.x-1.x-dev/js/colorized_gmap_admin.js

js/colorized_gmap_admin.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
(function ($, Drupal, drupaldrupalSettings) {
 
  Drupal.behaviors.ColorPickerfields = {
    attach: function (context, drupalSettings) {
      if ($('#gmap-ajax-wrapper tbody .form-type-textfield input.edit_color_input').length) {
        $('#gmap-ajax-wrapper tbody .form-type-textfield input.edit_color_input').ColorPicker({
          onSubmit: function(hsb, hex, rgb, el) {
            $(el).ColorPickerHide();
            $(el).val('#' + hex);
            $(el).trigger('textfield_change');
          },
          onBeforeShow: function () {
            $(this).ColorPickerSetColor(this.value);
          }
        });
      }
    }
  };
 
  Drupal.behaviors.ColorizedMap = {
    attach: function (context, drupalSettings) {
      var markertitle = 'Destination';
      var markericon = null;
      if (drupalSettings['colorized_gmap']['additional_settings']['marker_settings']['marker']['url']) {
        markericon = drupalSettings['colorized_gmap']['additional_settings']['marker_settings']['marker']['url'];
      }
      if (drupalSettings['colorized_gmap']['additional_settings']['marker_settings']['info_window']) {
        var infowindowContent = drupalSettings['colorized_gmap']['additional_settings']['marker_settings']['info_window']['value'];
      }
      var markertitle = drupalSettings['colorized_gmap']['additional_settings']['marker_settings']['markertitle'];
      var latitude = drupalSettings['colorized_gmap']['coordinates']['latitude'];
      var longitude = drupalSettings['colorized_gmap']['coordinates']['longitude'];
      var mapstyle = drupalSettings['colorized_gmap']['style'];
      var zoomControlSize = drupalSettings['colorized_gmap']['additional_settings']['zoom_controls']['zoomControlSize'];
      var zoomControlPosition = drupalSettings['colorized_gmap']['additional_settings']['zoom_controls']['zoomControlPosition'];
      var mapOptions = {
        zoom: parseInt(drupalSettings['colorized_gmap']['additional_settings']['zoom_controls']['zoom']),
        center: new google.maps.LatLng(latitude, longitude),
        styles: mapstyle,
        scrollwheel: drupalSettings['colorized_gmap']['additional_settings']['zoom_controls']['scrollwheel'],
        streetViewControl: drupalSettings['colorized_gmap']['additional_settings']['controls']['streetViewControl'],
        streetViewControlOptions: {
          position: google.maps.ControlPosition = drupalSettings['colorized_gmap']['additional_settings']['controls_position']['streetViewControlPosition']
        },
        mapTypeControl: drupalSettings['colorized_gmap']['additional_settings']['controls']['mapTypeControl'],
        mapTypeControlOptions: {
          position: google.maps.ControlPosition = drupalSettings['colorized_gmap']['additional_settings']['controls_position']['mapTypeControlPosition'],
        },
        zoomControl: drupalSettings['colorized_gmap']['additional_settings']['zoom_controls']['zoomControl'],
        draggable: true,
        panControl: drupalSettings['colorized_gmap']['additional_settings']['controls']['panControl'],
        panControlOptions: {
          position: google.maps.ControlPosition = drupalSettings['colorized_gmap']['additional_settings']['controls_position']['panControlPosition']
        },
        zoomControlOptions: {
          style: google.maps.ZoomControlStyle = zoomControlSize,
          position: google.maps.ControlPosition = zoomControlPosition
        }
      };
 
      var mapElement = document.getElementById('colorized-gmap-content');
      // Wait until all elements will be loaded.
      if (mapElement == null) {
        return;
      }
      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);
 
      google.maps.event.addListener(marker, 'click', function () {
        if (this.infowindow) {
          this.infowindow.open(map, this);
        }
      });
    }
  };
 
})(jQuery, Drupal);

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc