Rev 180 | Rev 183 | 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 |                         {
 |