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);

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

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