Subversion Repositories LCARS

Rev

Rev 180 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 180 Rev 181
Line 123... Line 123...
123
        if (fullscreen.isSupportedBy(document.documentElement))
123
        if (fullscreen.isSupportedBy(document.documentElement))
124
        {
124
        {
125
          var fullscreenLI = jsx.dom.getElementById("cmd3");
125
          var fullscreenLI = jsx.dom.getElementById("cmd3");
126
          fullscreenLI.firstChild.style.cursor = "";
126
          fullscreenLI.firstChild.style.cursor = "";
127
        }
127
        }
-
 
128
-
 
129
        lcars.multiDisplay = new lcars.MultiDisplay();
128
      }
130
      }
129
    </script>
131
    </script>
130
    <?php /* <bgsound src="media/interface/sound/beginop.wav" loop="infinite"> */ ?>
132
    <?php /* <bgsound src="media/interface/sound/beginop.wav" loop="infinite"> */ ?>
131
  </head>
133
  </head>
132
  <body class="fade-in" onload="body_load()">
134
  <body class="fade-in" onload="body_load()">
Line 499... Line 501...
499
                <tr>
501
                <tr>
500
                  <th><?php echo tr('Features'); ?>:</th>
502
                  <th><?php echo tr('Features'); ?>:</th>
501
                  <td><script type="text/javascript">
503
                  <td><script type="text/javascript">
502
                    var fullscreen = jsx.dom.window.fullscreen;
504
                    var fullscreen = jsx.dom.window.fullscreen;
503
505
504
                    var map, circle;
-
 
505
-
 
506
                    function initGMap ()
-
 
507
                    {
-
 
508
                      var coords = jsx.dom.geolocation.position.coords;
-
 
509
                      //var title = document.getElementById("title");
-
 
510
                      //title.firstChild.textContent = [coords.latitude.toFixed(), "° ", coords.longitude, "° (", coords.accuracy, "\xA0m)"].join("");
-
 
511
                      var center = new google.maps.LatLng(coords.latitude, coords.longitude);
-
 
512
                      var zoom = 9;
-
 
513
-
 
514
                      var zoomAccuracy = [
-
 
515
                        1e7, 5e6, 2e6, 2e6, 1e6, 5e5, 2e5, 1e5, 5e4,
-
 
516
                        2e4, 1e4, 5e3, 2000, 2000, 1000, 500, 200,
-
 
517
                        100, 50, 20
-
 
518
                      ];
-
 
519
-
 
520
                      var accuracy = coords.accuracy;
-
 
521
                      if (!isNaN(accuracy))
-
 
522
                      {
-
 
523
                        for (var i = 0, len = zoomAccuracy.length; i < len; ++i)
-
 
524
                        {
-
 
525
                          if (accuracy > zoomAccuracy[i])
-
 
526
                          {
-
 
527
                            zoom = i;
-
 
528
                            break;
-
 
529
                          }
-
 
530
                        }
-
 
531
                      }
-
 
532
-
 
533
                      if (!map)
-
 
534
                      {
-
 
535
                        var mapOptions = {
-
 
536
                          center: center,
-
 
537
                          zoom: zoom,
-
 
538
                          mapTypeId: google.maps.MapTypeId.HYBRID,
-
 
539
                          backgroundColor: "#000",
-
 
540
                          noClear: true,
-
 
541
                          scaleControl: true
-
 
542
                        };
-
 
543
-
 
544
                        map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
-
 
545
                      }
-
 
546
                      else
-
 
547
                      {
-
 
548
                        map.setCenter(center);
-
 
549
                        map.setZoom(zoom);
-
 
550
                      }
-
 
551
-
 
552
                      if (!circle)
-
 
553
                      {
-
 
554
                        if (!isNaN(coords.accuracy))
-
 
555
                        {
-
 
556
                          circle = new google.maps.Circle({
-
 
557
                            map: map,
-
 
558
                            center: center,
-
 
559
                            radius: coords.accuracy,
-
 
560
                            fillColor: "white",
-
 
561
                            fillOpacity: 0.125,
-
 
562
                            strokeColor: "white",
-
 
563
                            strokeOpacity: 0.5
-
 
564
                          });
-
 
565
                          circle.addListener("click", function () {
-
 
566
                            window.alert("<?php echo tr('Your current coordinates on Terra'); ?>\n\n"
-
 
567
                              + jsx.dom.geolocation.getText(jsx.dom.geolocation.position));
-
 
568
                          });
-
 
569
                        }
-
 
570
                      }
-
 
571
                      else
-
 
572
                      {
-
 
573
                        if (!isNaN(coords.accuracy))
-
 
574
                        {
-
 
575
                          circle.setCenter(center);
-
 
576
                          circle.setRadius(coords.accuracy);
-
 
577
                        }
-
 
578
                        else
-
 
579
                        {
-
 
580
                          circle.setMap(null);
-
 
581
                        }
-
 
582
                      }
-
 
583
-
 
584
                      /* Restore transition */
-
 
585
                      document.getElementById("content").style.transition = "";
-
 
586
                    }
-
 
587
-
 
588
                    jsx.dom.geolocation = {
506
                    jsx.dom.geolocation = {
589
                      getText: function (position) {
507
                      getText: function (position) {
590
                        var coords = position.coords;
508
                        var coords = position.coords;
591
                        var latitude = coords.latitude;
509
                        var latitude = coords.latitude;
592
                        var longitude = coords.longitude;
510
                        var longitude = coords.longitude;
Line 603... Line 521...
603
                          "<?php echo tr('Alt. Accuracy:'); ?> " + (altitudeAccuracy != null ? altitudeAccuracy + " m": TEXT_NOT_AVAILABLE),
521
                          "<?php echo tr('Alt. Accuracy:'); ?> " + (altitudeAccuracy != null ? altitudeAccuracy + " m": TEXT_NOT_AVAILABLE),
604
                          "<?php echo tr('Speed:'); ?> " + (speed != null && !isNaN(speed) ? speed + " m∕s": TEXT_NOT_AVAILABLE),
522
                          "<?php echo tr('Speed:'); ?> " + (speed != null && !isNaN(speed) ? speed + " m∕s": TEXT_NOT_AVAILABLE),
605
                          "<?php echo tr('Heading:'); ?> " + (heading != null && !isNaN(heading) ? heading + "°" : TEXT_NOT_AVAILABLE)
523
                          "<?php echo tr('Heading:'); ?> " + (heading != null && !isNaN(heading) ? heading + "°" : TEXT_NOT_AVAILABLE)
606
                        ].join("\n");
524
                        ].join("\n");
607
                      },
525
                      },
608
-
 
609
                      show: function (position) {
-
 
610
                        this.position = position;
-
 
611
                        //document.getElementById("content").innerHTML = "<?php echo tr('Your current coordinates on Terra'); ?>\n\n" + this.getText(position);
-
 
612
                        var title = document.getElementById("title");
-
 
613
                        title.firstChild.textContent = "<?php echo tr('Geolocation'); ?>";
-
 
614
                        var content = document.getElementById("content");
-
 
615
-
 
616
                        if (!map)
-
 
617
                        {
-
 
618
                          /* Disable transition while map is loading */
-
 
619
                          content.style.transition = "none";
-
 
620
                          content.className = "fixed";
-
 
621
                          content.innerHTML =
-
 
622
                            // '<select><option>Google Maps</option><option>OpenStreetMap</option></select>'
-
 
623
                            '<div id="map-canvas" style="position: absolute; width: 100%; height: 100%"></div>';
-
 
624
                        }
-
 
625
-
 
626
                        var scriptId = "google-maps";
-
 
627
                        var script = document.getElementById(scriptId);
-
 
628
                        if (!script)
-
 
629
                        {
-
 
630
                          script = document.createElement("script");
-
 
631
                          script.id = scriptId;
-
 
632
                          script.type = "text/javascript";
-
 
633
                          script.src = "http://maps.googleapis.com/maps/api/js?key=AIzaSyCpW3bu57j4V7_vcK_cVpvFkXMmKkKgADI&sensor=true&callback=initGMap&language=<?php echo $language; ?>";
-
 
634
                          document.body.appendChild(script);
-
 
635
                        }
-
 
636
                        else
-
 
637
                        {
-
 
638
                          initGMap();
-
 
639
                        }
-
 
640
                      }
-
 
641
                    };
526
                    };
642
527
643
                    (function () {
528
                    (function () {
644
                      function getFeatures ()
529
                      function getFeatures ()
645
                      {
530
                      {
Line 684... Line 569...
684
                        }
569
                        }
685
570
686
                        if (navigator.geolocation)
571
                        if (navigator.geolocation)
687
                        {
572
                        {
688
                          features.push('<a href="#" title="<?php echo tr('Get location'); ?>"'
573
                          features.push('<a href="#" title="<?php echo tr('Get location'); ?>"'
689
                            + ' onclick="navigator.geolocation.getCurrentPosition('
-
 
690
                            + 'function (position) { jsx.dom.geolocation.show(position); }); return false"'
574
                            + ' onclick="return lcars.multiDisplay.geolocate(\'<?php echo tr('Geolocation'); ?>\', \'<?php echo $language; ?>\')"'
691
                            + '><?php echo tr('Geolocation'); ?><\/a>');
575
                            + '><?php echo tr('Geolocation'); ?><\/a>');
692
                        }
576
                        }
693
577
694
                        if (typeof navigator.javaEnabled != "undefined" && navigator.javaEnabled())
578
                        if (typeof navigator.javaEnabled != "undefined" && navigator.javaEnabled())
695
                        {
579
                        {