source: extensions/GMaps/admin/gmaps_maps.tpl @ 7177

Last change on this file since 7177 was 7177, checked in by grum, 14 years ago

Fix bugs on install process ; add street view control management

File size: 28.1 KB
Line 
1{known_script id="jquery.ui" src=$ROOT_URL|@cat:"themes/default/js/ui/packed/ui.core.packed.js"}
2{known_script id="jquery.ui.dialog" src=$ROOT_URL|@cat:"themes/default/js/ui/packed/ui.dialog.packed.js"}
3{known_script id="jquery.ui.slider" src=$ROOT_URL|@cat:"themes/default/js/ui/packed/ui.slider.packed.js"}
4{known_script id="maps.google.com/api" src="http://maps.google.com/maps/api/js?sensor=false"}
5
6<!--
7 Note : the position of control (navigation, mapType) were implemented, but the
8 result after trying positionning is strange...
9 so, these functionnalities are deactivated
10-->
11
12
13{literal}
14<script type="text/javascript">
15
16
17
18
19  function userDefManage ()
20  {
21    var properties = {
22      id:'',
23      gMap:null,
24    }
25
26    /**
27     * initialize the page
28     */
29    this.init = function ()
30    {
31      computedHeight=$(window).height()-100;
32      computedWidth=$(window).width()-100;
33      $('#iDialogEdit')
34        .dialog(
35          {
36            autoOpen:false,
37            width:computedWidth,
38            height:computedHeight,
39            modal: true,
40            dialogClass: 'gcBgTabSheet gcBorder',
41            title: '{/literal}{"gmaps_config_map"|@translate}{literal}',
42            buttons:
43              {
44                '{/literal}{"gmaps_ok"|@translate}{literal}':
45                  function()
46                  {
47                    if(checkValidity()) doUpdate();
48                  },
49                '{/literal}{"gmaps_cancel"|@translate}{literal}':
50                  function()
51                  {
52                    $('#iDialogEdit').dialog("close");
53                  }
54              }
55          }
56        );
57
58      $('#iBDDisplayTypeIC, #iBDDisplayTypeIP, #iBDDisplayTypeMP').bind('change',
59        function ()
60        {
61          switch($(this).val())
62          {
63            case 'IC':
64              $('#iBDZoomLevelRow').hide();
65              $('[name=fBDSizeMode]').attr('disabled', false);
66              break;
67            case 'IP':
68              $('#iBDZoomLevelRow').show();
69              $('[name=fBDSizeMode]').attr('disabled', false);
70              break;
71            case 'MP':
72              $('#iBDZoomLevelRow').show();
73              $('#iBDSizeModeF').attr('checked', true).change();
74              $('[name=fBDSizeMode]').attr('disabled', true);
75              break;
76          }
77        }
78      );
79
80      $('#iBDSizeModeA, #iBDSizeModeF').bind('change',
81        function ()
82        {
83          switch($(this).val())
84          {
85            case 'A':
86              $('#iBDMapWidthSliderRow, #iBDMapHeightSliderRow').hide();
87              break;
88            case 'F':
89              $('#iBDMapWidthSliderRow, #iBDMapHeightSliderRow').show();
90              break;
91          }
92        }
93      );
94
95      $("#iBDMapWidthSlider").slider(
96        {
97          min:100,
98          max:1280,
99          step:5,
100          value:100,
101          slide: function(event, ui) { changeSize(ui.value, 'iBDMapWidthSlider'); }
102        });
103      $("#iBDMapHeightSlider").slider(
104        {
105          min:100,
106          max:1280,
107          step:5,
108          value:100,
109          slide: function(event, ui) { changeSize(ui.value, 'iBDMapHeightSlider'); }
110        });
111      $("#iBDMapZoomLevelSlider").slider(
112        {
113          min:1,
114          max:20,
115          step:1,
116          value:8,
117          slide: function(event, ui) { changeZoom(ui.value, 'plugin'); }
118        });
119      $("#iBDMapWidthSlider a, #iBDMapHeightSlider a, #iBDMapZoomLevelSlider").addClass('gcBgInput');
120
121      $('#iBDMapMapType').bind('change', function () { changeMapType('plugin'); } );
122      $('#iBDMapMapTypeControlType').bind('change', changeTypeControlType);
123      //$('#iBDMapTypeControlPos').bind('change', changeTypeControlPosition);
124      $('#iBDMapNavigationControlType').bind('change', changeNavigationControlType);
125      //$('#iBDMapNavigationControlPos').bind('change', changeNavigationControlPosition);
126      $('#iBDMapScaleControl').bind('change', changeScaleControl);
127      $('#iBDMapStreetViewControl').bind('change', changeStreetViewControl);
128
129
130      loadList();
131    }
132
133
134    /**
135     *
136     */
137    var changeStreetViewControl = function ()
138    {
139      if(properties.gMap!=null)
140      {
141        properties.gMap.setOptions(
142          {
143            streetViewControl: ($('#iBDMapStreetViewControl').val()=='n')?false:true,
144          }
145        );
146      }
147    }
148
149    /**
150     * change the display control display mode
151     */
152    var changeScaleControl = function ()
153    {
154      if(properties.gMap!=null)
155      {
156        properties.gMap.setOptions(
157          {
158            scaleControl: ($('#iBDMapScaleControl').val()=='n')?false:true,
159          }
160        );
161      }
162    }
163
164    /**
165     * change the display control type
166     */
167    var changeTypeControlType = function ()
168    {
169      if(properties.gMap!=null)
170      {
171        cType=parseInt($('#iBDMapMapTypeControlType').val());
172
173        properties.gMap.setOptions(
174          {
175            mapTypeControl: (cType==-1)?false:true,
176            mapTypeControlOptions:
177              {
178                style:cType
179              }
180          }
181        );
182      }
183    }
184
185    /**
186     * change the display control position
187     */
188    /*
189    var changeTypeControlPosition = function ()
190    {
191      if(properties.gMap!=null)
192      {
193        properties.gMap.setOptions(
194          {
195            mapTypeControlOptions:
196              {
197                position:parseInt($('#iBDMapTypeControlPos').val())
198              }
199          }
200        );
201      }
202    }
203    */
204
205
206    /**
207     * change the zoom control type
208     */
209    var changeNavigationControlType = function ()
210    {
211      if(properties.gMap!=null)
212      {
213        cType=parseInt($('#iBDMapNavigationControlType').val());
214
215        properties.gMap.setOptions(
216          {
217            navigationControl: (cType==-1)?false:true,
218            navigationControlOptions:
219              {
220                style:cType
221              }
222          }
223        );
224      }
225    }
226
227    /**
228     * change the zoom control position
229     */
230    /*
231    var changeNavigationControlPosition = function ()
232    {
233      if(properties.gMap!=null)
234      {
235        properties.gMap.setOptions(
236          {
237            navigationControlOptions:
238              {
239                position:parseInt($('#iBDMapTypeControlPos').val())
240              }
241          }
242        );
243      }
244    }
245    */
246
247    /**
248     * change the width/height
249     * @param value : the width or height
250     * @param id : define if the width is changed or the height
251     */
252    var changeSize = function (value, id)
253    {
254      $('#'+id+'Display').html(value+'px');
255      $('#'+id+'Value').val(value);
256
257      $('#iBDExampleMap').css(
258        {
259          width:$('#iBDMapWidthSliderValue').val()+'px',
260          height:$('#iBDMapHeightSliderValue').val()+'px'
261        }
262      );
263
264      if(properties.gMap!=null) google.maps.event.trigger(properties.gMap, 'resize');
265    }
266
267    /**
268     * change the zoom value
269     * @param value : the zoom value (1 - 20)
270     * @param caller : designed to determine who's calling the function and avoid
271     *                 recursivity in events call ; values = 'plugin' or 'map'
272     */
273    var changeZoom = function (value, caller)
274    {
275      $('#iBDMapZoomLevelSliderDisplay').html(value);
276      $('#iBDMapZoomLevelSliderValue').val(value);
277
278      if(properties.gMap!=null && caller=='plugin')
279      {
280        properties.gMap.setZoom(parseInt(value));
281      }
282      else if(caller=='map')
283      {
284        $('#iBDMapZoomLevelSlider').slider('option', 'value', value);
285      }
286    }
287
288    /**
289     * change the display mode (map type)
290     * @param caller : designed to determine who's calling the function and avoid
291     *                 recursivity in events call ; values = 'plugin' or 'map'
292     */
293    var changeMapType = function (caller)
294    {
295      if(properties.gMap!=null && caller=='plugin')
296      {
297        properties.gMap.setOptions(
298          {
299            mapTypeId: $('#iBDMapMapType').val()
300          }
301        );
302      }
303      else if(caller=='map')
304      {
305        $('#iBDMapMapType').val(properties.gMap.getMapTypeId());
306      }
307    }
308
309
310    /**
311     * initialize the map
312     */
313    var initializeMap = function ()
314    {
315      var latlng=new google.maps.LatLng(0, 0);
316
317      mapTypeControlOptions={ };
318
319      var map = new google.maps.Map($("#iBDExampleMap").get(0),
320        {
321          mapTypeId: $('#iBDMapMapType').val(),
322          zoom: parseInt($('#iBDMapZoomLevelSliderValue').val()),
323          center:latlng,
324          navigationControl: ($('#iBDMapNavigationControlType').val()!='-1')?true:false,
325          navigationControlOptions:
326            {
327              style:($('#iBDMapNavigationControlType').val()!='-1')?parseInt($('#iBDMapNavigationControlType').val()):0,
328            },
329          scaleControl: ($('#iBDMapScaleControl').val()=='n')?false:true,
330          mapTypeControl:($('#iBDMapMapTypeControlType').val()!='-1')?true:false,
331          mapTypeControlOptions:
332            {
333              style:($('#iBDMapMapTypeControlType').val()!='-1')?parseInt($('#iBDMapMapTypeControlType').val()):0,
334            },
335          markerTitle:'',
336          streetViewControl:($('#iBDMapStreetViewControl').val()=='n')?false:true,
337        }
338      );
339
340      properties.gMap=map;
341
342      google.maps.event.addListener(
343        properties.gMap,
344        'zoom_changed',
345        function()
346        {
347          changeZoom(properties.gMap.getZoom(), 'map');
348        }
349      );
350
351      google.maps.event.addListener(
352        properties.gMap,
353        'maptypeid_changed',
354        function()
355        {
356          changeMapType('map');
357        }
358      );
359    }
360
361    /**
362     * manage the tabsheet
363     *
364     * @param String tabsheet : id of the tabsheet to display
365     */
366    this.displayTab = function (tabsheet)
367    {
368      switch(tabsheet)
369      {
370        case 'general':
371          $('#iTabGeneral').css('display', 'block');
372          $('#iTabDimensions').css('display', 'none');
373          $('#iTabMapType').css('display', 'none');
374          $('#iTabZoomLevel').css('display', 'none');
375          break;
376        case 'dimensions':
377          $('#iTabGeneral').css('display', 'none');
378          $('#iTabDimensions').css('display', 'block');
379          $('#iTabMapType').css('display', 'none');
380          $('#iTabZoomLevel').css('display', 'none');
381          break;
382        case 'mapType':
383          $('#iTabGeneral').css('display', 'none');
384          $('#iTabDimensions').css('display', 'none');
385          $('#iTabMapType').css('display', 'block');
386          $('#iTabZoomLevel').css('display', 'none');
387          break;
388        case 'zoomLevel':
389          $('#iTabGeneral').css('display', 'none');
390          $('#iTabDimensions').css('display', 'none');
391          $('#iTabMapType').css('display', 'none');
392          $('#iTabZoomLevel').css('display', 'block');
393          break;
394      }
395    }
396
397
398    /**
399     * open the dialog box to edit the map properties
400     *
401     * @param String id : if set to '' => open dialogbox in 'add' mode
402     *                    otherwise edit the given map
403     */
404    this.editMap = function (id)
405    {
406      properties.id=id;
407      updateDialog('');
408      this.displayTab('general');
409      // >> because li items don't have id... :-(
410      $('#itab2 li').removeClass('selected_tab').addClass('normal_tab');
411      $('#itab2 li:first').addClass('selected_tab');
412      // <<
413
414      $('#iDialogEdit')
415        .bind('dialogopen', function ()
416          {
417            if(properties.id!='')
418            {
419              displayProcessing(true);
420
421              $.ajax(
422                {
423                  type: "POST",
424                  url: "{/literal}{$datas.urlRequest}{literal}",
425                  async: true,
426                  data: { ajaxfct:"admin.maps.getMap", id:properties.id },
427                  success:
428                    function(msg)
429                    {
430                      updateDialog(msg);
431                      initializeMap();
432                      displayProcessing(false);
433                    }
434                }
435              );
436            }
437            else
438            {
439              initializeMap();
440            }
441          }
442        )
443        .dialog("open");
444    }
445
446    /**
447     * delete a map
448     *
449     * @param String id : id of the map to delete
450     */
451    this.deleteMap = function (id)
452    {
453      $('#iDialogDelete')
454        .html('<br>{/literal}{"gmaps_pleaseConfirmMetadataDelete_1"|@translate}<br><br>{"gmaps_pleaseConfirmMetadataDelete_2"|@translate}{literal}')
455        .dialog(
456          {
457            autoOpen:true,
458            modal: true,
459            dialogClass: 'gcBgTabSheet gcBorder',
460            title: '{/literal}{"gmaps_deleteMap"|@translate}{literal}',
461            buttons:
462              {
463                '{/literal}{"gmaps_delete"|@translate}{literal}':
464                  function()
465                  {
466                    $(this).html("<br><img src='./plugins/GrumPluginClasses/icons/processing.gif'>");
467                    $.ajax(
468                      {
469                        type: "POST",
470                        url: "{/literal}{$datas.urlRequest}{literal}",
471                        async: true,
472                        data: { ajaxfct:"admin.maps.deleteMap", id:id },
473                        success:
474                          function(msg)
475                          {
476                            $('#iDialogDelete').dialog("destroy");
477                            loadList();
478                          }
479                      }
480                    );
481                  },
482                '{/literal}{"gmaps_cancel"|@translate}{literal}':
483                  function()
484                  {
485                    $('#iDialogDelete').dialog("destroy");
486                  }
487              }
488          }
489        );
490    }
491
492    /**
493     * update values of the dialog box
494     *
495     * @param String items : json string ; if empty assume to reset all fields
496     *                       with blank
497     */
498    var updateDialog = function (items)
499    {
500      if(items=='')
501      {
502        tmp={
503          sizeMode:'A',
504          displayTYpe:'IC'
505        }
506        $('#iBDName').val('');
507        $('#iBDDisplayTypeIC').attr('checked', true);
508        $('#iBDSizeModeA').attr('checked', true);
509        $('#iBDMapWidthSliderValue').val('470');
510        $('#iBDMapHeightSliderValue').val('210');
511        $('#iBDMapWidthSlider').slider('option', 'value', 470);
512        $('#iBDMapHeightSlider').slider('option', 'value', 210);
513        $('#iBDMapZoomLevelSliderValue').val(4);
514        $('#iBDMapZoomLevelSlider').slider('option', 'value', 4);
515        $('#iBDMapMapType').val('hybrid');
516        $('#iBDMapMapTypeControlType').val('0'); // default - auto
517        //$('#iBDMapTypeControlPos').val('3'); // top right
518        $('#iBDMapNavigationControlType').val('0'); // default - auto
519        //$('#iBDMapNavigationControlPos').val('1'); // top left
520        $('#iBDMapScaleControl').val('y'); // default - visible
521        $('#iBDExampleMap').html('').css(
522          {
523            width:$('#iBDMapWidthSliderValue').val()+'px',
524            height:$('#iBDMapHeightSliderValue').val()+'px'
525          }
526        );
527        $('#iBDMapStreetViewControl').val('n');
528
529        properties.gMap=null;
530      }
531      else
532      {
533        tmp=$.parseJSON(items);
534
535        $('#iBDNumId').val(tmp.id);
536        $('#iBDName').val(tmp.name);
537        $('#iBDDisplayType'+tmp.displayType).attr('checked', true);
538        $('#iBDSizeMode'+tmp.sizeMode).attr('checked', true);
539        $('#iBDMapWidthSliderValue').val(tmp.width);
540        $('#iBDMapHeightSliderValue').val(tmp.height);
541        $('#iBDMapWidthSlider').slider('option', 'value', tmp.width);
542        $('#iBDMapHeightSlider').slider('option', 'value', tmp.height);
543        $('#iBDMapZoomLevelSliderValue').val(tmp.zoomLevel);
544        $('#iBDMapZoomLevelSlider').slider('option', 'value', tmp.zoomLevel);
545        $('#iBDMapMapType').val(tmp.mapType);
546        $('#iBDMapMapTypeControlType').val(tmp.mapTypeControl);
547        $('#iBDMapNavigationControlType').val(tmp.navigationControl);
548        $('#iBDMapScaleControl').val(tmp.scaleControl);
549        $('#iBDMapStreetViewControl').val(tmp.streetViewControl);
550
551        $('#iBDExampleMap').html('').css(
552          {
553            width:tmp.width+'px',
554            height:tmp.height+'px'
555          }
556        );
557      }
558
559      $('#iBDDisplayType'+tmp.displayType+', #iBDSizeMode'+tmp.sizeMode).change();
560      changeSize($('#iBDMapWidthSliderValue').val(), 'iBDMapWidthSlider');
561      changeSize($('#iBDMapHeightSliderValue').val(), 'iBDMapHeightSlider');
562      changeZoom($('#iBDMapZoomLevelSliderValue').val(), '');
563      changeStreetViewControl($('#iBDMapStreetViewControl').val());
564    }
565
566    /**
567     * reload the user defined map list
568     */
569    var loadList = function ()
570    {
571      $('#iListMaps').html("<br>{/literal}{'gmaps_loading'|@translate}{literal}<br><img src='./plugins/GrumPluginClasses/icons/processing.gif'>");
572
573      $.ajax(
574        {
575          type: "POST",
576          url: "{/literal}{$datas.urlRequest}{literal}",
577          async: true,
578          data: { ajaxfct:"admin.maps.getList" },
579          success:
580            function(msg)
581            {
582              $("#iListMaps").html(msg);
583            }
584        }
585      );
586    }
587
588    /**
589     * check the validity of a given map id
590     *  a valid id only contains chars : A-Z0-9_
591     *
592     * @param String tagId : the tagId
593     * @return Boolean : true if ok, otherwise false
594     */
595    var checkIdValidity = function (tagId)
596    {
597      re=/^[a-z0-9_]+$/i;
598      if(re.exec(tagId)==null) return(false);
599      return(true);
600    }
601
602
603    /**
604     * check for the validity of the map settings
605     */
606    var checkValidity = function ()
607    {
608      $('.error').removeClass('error');
609
610      ok=true;
611
612      return(ok);
613    }
614
615    /**
616     * send map update to the server, and close the dialog box if everything
617     * is ok
618     */
619    var doUpdate = function ()
620    {
621      displayProcessing(true);
622
623      // build datas
624      datas = {
625        name:$('#iBDName').val(),
626        displayType:$('[name=fBDDisplayType]:checked').val(),
627        sizeMode:$('[name=fBDSizeMode]:checked').val(),
628        width:$('#iBDMapWidthSliderValue').val(),
629        height:$('#iBDMapHeightSliderValue').val(),
630        zoomLevel:$('#iBDMapZoomLevelSliderValue').val(),
631        mapType:$('#iBDMapMapType').val(),
632        mapTypeControl:$('#iBDMapMapTypeControlType').val(),
633        navigationControl:$('#iBDMapNavigationControlType').val(),
634        scaleControl:$('#iBDMapScaleControl').val(),
635        streetViewControl:$('#iBDMapStreetViewControl').val(),
636        style:'',
637      }
638
639      $.ajax(
640        {
641          type: "POST",
642          url: "{/literal}{$datas.urlRequest}{literal}",
643          async: true,
644          data: { ajaxfct:"admin.maps.setMap", id:properties.id, datas:datas },
645          success:
646            function(msg)
647            {
648              displayProcessing(false);
649
650              if(msg.match(/^[0-9]+$/i)!=null)
651              {
652                // result Ok ! => close the dialog box and reload the list
653                $('#iDialogEdit').dialog("close");
654                loadList();
655              }
656              else
657              {
658                returned=msg.split('!');
659                $('#'+returned[0]).addClass('error');
660                alert(returned[1]);
661              }
662            }
663        }
664      );
665    }
666
667    /**
668     * display or hide the processing flower
669     */
670    var displayProcessing = function (visible)
671    {
672      if(visible)
673      {
674        $('#iBDProcessing').css("display", "block");
675      }
676      else
677      {
678        $('#iBDProcessing').css("display", "none");
679      }
680    }
681
682    this.init();
683  }
684
685
686</script>
687{/literal}
688
689
690
691<h2>{'gmaps_maps_management'|@translate}</h2>
692
693
694<div class='addMap'>
695  <a onclick="udm.editMap('');">{'gmaps_add_a_new_map'|@translate}</a>
696</div>
697
698
699<table id='iHeaderListMaps' class="littlefont">
700  <tr>
701    <th>{'gmaps_name'|@translate}</th>
702    <th style="width:150px;">{'gmaps_displayType'|@translate}</th>
703    <th style="width:90px;">{'gmaps_dimensions'|@translate}</th>
704    <th style="width:90px;">{'gmaps_zoomLevel'|@translate}</th>
705    <th style="width:90px;">{'gmaps_mapType'|@translate}</th>
706    <th style="width:90px;">{'gmaps_googleMapTypeControl'|@translate}</th>
707    <th style="width:90px;">{'gmaps_googleMapNavigationControl'|@translate}</th>
708    <th style="width:90px;">{'gmaps_googleMapScaleControl'|@translate}</th>
709    <th style="width:90px;">{'gmaps_googleMapStreetViewControl'|@translate}</th>
710    <th width="40px">&nbsp;</th>
711  </tr>
712</table>
713
714<div id='iListMaps' class="{$themeconf.name}">
715</div>
716<div id="iListMapsNb"></div>
717
718
719<div id="iDialogDelete">
720</div>
721
722
723<div id="iDialogEdit">
724  <div id='iBDProcessing' style="display:none;position:absolute;width:100%;height:100%;background:#000000;opacity:0.75">
725      <img src="plugins/GrumPluginClasses/icons/processing.gif" style="margin-top:100px;">
726  </div>
727
728  {$mapTabsheet}
729
730  <form>
731    <div id='iTabsContainer' style='height:100px;'>
732      <div id='iTabGeneral' style='display:none;'>
733        <table class='formtable'>
734          <tr>
735            <td>{'gmaps_name'|@translate}</td>
736            <td>
737              <input type='text' id='iBDName' maxlength=80 size=60 value=''>
738            </td>
739          </tr>
740
741          <tr>
742            <td>{'gmaps_displayType'|@translate}</td>
743            <td>
744              <label><input type='radio' id='iBDDisplayTypeIC' name='fBDDisplayType' value='IC'>&nbsp;{'gmaps_displayTypeIC'|@translate}</label><br>
745              <label><input type='radio' id='iBDDisplayTypeIP' name='fBDDisplayType' value='IP'>&nbsp;{'gmaps_displayTypeIP'|@translate}</label><br>
746              <label><input type='radio' id='iBDDisplayTypeMP' name='fBDDisplayType' value='MP'>&nbsp;{'gmaps_displayTypeMP'|@translate}</label>
747            </td>
748          </tr>
749
750        </table>
751      </div>
752
753      <div id='iTabDimensions' style='display:none;'>
754
755        <table class="formtable">
756          <tr>
757            <td>{'gmaps_map_dimensions_are'|@translate}</td>
758            <td colspan="3">
759              <label><input type="radio" id="iBDSizeModeA" name="fBDSizeMode" value="A">&nbsp;{'gmaps_interface_dimensions_a'|@translate}</label><br>
760              <label><input type="radio" id="iBDSizeModeF" name="fBDSizeMode" value="F">&nbsp;{'gmaps_interface_dimensions_f'|@translate}</label>
761            </td>
762          </tr>
763
764          <tr id='iBDMapWidthSliderRow'>
765            <td>&nbsp;</td>
766            <td style='padding-left:30px;'>{'gmaps_width'|@translate}</td>
767            <td>
768              <input type="hidden" id="iBDMapWidthSliderValue" value="">
769              <div id="iBDMapWidthSlider" class="gcBgInput gcBorderInput"></div>
770            </td>
771            <td width="70px">
772              <div id="iBDMapWidthSliderDisplay"></div>
773            </td>
774          </tr>
775          <tr id='iBDMapHeightSliderRow'>
776            <td>&nbsp;</td>
777            <td style='padding-left:30px;'>{'gmaps_height'|@translate}</td>
778            <td>
779              <input type="hidden" id="iBDMapHeightSliderValue" value="">
780              <div id="iBDMapHeightSlider" class="gcBgInput gcBorderInput"></div>
781            </td>
782            <td width="70px">
783              <div id="iBDMapHeightSliderDisplay"></div>
784            </td>
785          </tr>
786        </table>
787      </div>
788
789      <div id='iTabMapType' style='display:none;'>
790        <table class='formtable'>
791          <tr>
792            <td>{'gmaps_mapType'|@translate}</td>
793            <td>
794              <select id='iBDMapMapType'>
795                <option value='hybrid'>{'gmaps_googleMapType_hybrid'|@translate}</option>
796                <option value='satellite'>{'gmaps_googleMapType_satellite'|@translate}</option>
797                <option value='roadmap'>{'gmaps_googleMapType_roadmap'|@translate}</option>
798                <option value='terrain'>{'gmaps_googleMapType_terrain'|@translate}</option>
799              </select>
800            </td>
801          </tr>
802
803          <tr>
804            <td>{'gmaps_googleMapControlType'|@translate}</td>
805            <td>
806              <select id='iBDMapMapTypeControlType'>
807                <option value='-1'>{'gmaps_googleMapTypeControl_-1'|@translate}</option>
808                <option value='0'>{'gmaps_googleMapTypeControl_0'|@translate}</option>
809                <option value='1'>{'gmaps_googleMapTypeControl_1'|@translate}</option>
810                <option value='2'>{'gmaps_googleMapTypeControl_2'|@translate}</option>
811              </select>
812            </td>
813          </tr>
814
815          <!--
816          <tr>
817            <td>{'gmaps_googleMapControlPos'|@translate}</td>
818            <td>
819              <select id='iBDMapTypeControlPos'>
820                <option value='2'>{'gmaps_googleMapControlPos_T'|@translate}</option>
821                <option value='7'>{'gmaps_googleMapControlPos_B'|@translate}</option>
822                <option value='4'>{'gmaps_googleMapControlPos_L'|@translate}</option>
823                <option value='5'>{'gmaps_googleMapControlPos_R'|@translate}</option>
824                <option value='1'>{'gmaps_googleMapControlPos_TL'|@translate}</option>
825                <option value='3'>{'gmaps_googleMapControlPos_TR'|@translate}</option>
826                <option value='6'>{'gmaps_googleMapControlPos_BL'|@translate}</option>
827                <option value='8'>{'gmaps_googleMapControlPos_BR'|@translate}</option>
828              </select>
829            </td>
830          </tr>
831          -->
832
833          <tr>
834            <td>{'gmaps_googleMapStreetViewControl'|@translate}</td>
835            <td>
836              <select id='iBDMapStreetViewControl'>
837                <option value='y'>{'gmaps_y'|@translate}</option>
838                <option value='n'>{'gmaps_n'|@translate}</option>
839              </select>
840            </td>
841          </tr>
842
843        </table>
844      </div>
845
846
847      <div id='iTabZoomLevel' style='display:none;'>
848        <table class='formtable'>
849          <tr id='iBDZoomLevelRow'>
850            <td>{'gmaps_zoomLevel'|@translate}</td>
851            <td>
852              <table class="formclass">
853                <tr>
854                  <td>
855                    <input type="hidden" id="iBDMapZoomLevelSliderValue" value="">
856                    <div id="iBDMapZoomLevelSlider" class="gcBgInput gcBorderInput"></div>
857                  </td>
858                  <td width="70px">
859                    <div id="iBDMapZoomLevelSliderDisplay"></div>
860                  </td>
861                </tr>
862              </table>
863            </td>
864          </tr>
865
866          <tr>
867            <td>{'gmaps_googleMapControlType'|@translate}</td>
868            <td>
869              <select id='iBDMapNavigationControlType'>
870                <option value='-1'>{'gmaps_googleMapNavigationControl_-1'|@translate}</option>
871                <option value='0'>{'gmaps_googleMapNavigationControl_0'|@translate}</option>
872                <option value='1'>{'gmaps_googleMapNavigationControl_1'|@translate}</option>
873                <option value='2'>{'gmaps_googleMapNavigationControl_2'|@translate}</option>
874                <option value='3'>{'gmaps_googleMapNavigationControl_3'|@translate}</option>
875              </select>
876            </td>
877          </tr>
878
879          <!--
880          <tr>
881            <td>{'gmaps_googleMapControlPos'|@translate}</td>
882            <td>
883              <select id='iBDMapNavigationControlPos'>
884                <option value='2'>{'gmaps_googleMapControlPos_T'|@translate}</option>
885                <option value='7'>{'gmaps_googleMapControlPos_B'|@translate}</option>
886                <option value='4'>{'gmaps_googleMapControlPos_L'|@translate}</option>
887                <option value='5'>{'gmaps_googleMapControlPos_R'|@translate}</option>
888                <option value='1'>{'gmaps_googleMapControlPos_TL'|@translate}</option>
889                <option value='3'>{'gmaps_googleMapControlPos_TR'|@translate}</option>
890                <option value='6'>{'gmaps_googleMapControlPos_BL'|@translate}</option>
891                <option value='8'>{'gmaps_googleMapControlPos_BR'|@translate}</option>
892              </select>
893            </td>
894          </tr>
895          -->
896
897          <tr>
898            <td>{'gmaps_googleMapScaleControl'|@translate}</td>
899            <td>
900              <select id='iBDMapScaleControl'>
901                <option value='y'>{'gmaps_display_visible'|@translate}</option>
902                <option value='n'>{'gmaps_display_hidden'|@translate}</option>
903              </select>
904            </td>
905          </tr>
906
907        </table>
908      </div>
909    </div>
910
911    <div id='iBDExampleMap' style='margin-left:auto;margin-right:auto;margin-top:20px;border:1px solid;'></div>
912
913  </form>
914</div>
915
916
917{literal}
918<script type="text/javascript">
919  var udm=new userDefManage();
920</script>
921{/literal}
922
Note: See TracBrowser for help on using the repository browser.