PHP - Sonnenauf.- und Sonnenuntergang mit der Geolocation API auslesen

Möglicherweise fragt der Browser nach, ob er den Zugriff auf den Standort erlauben darf!


<?php

// Sonnenauf.- und Sonnenuntergang mit der Geolocation API auslesen

if (isset($_GET["location"])) {

 
$tag date("j");
 
$monat date("n");
 
$jahr date("Y");

 
$onnenaufgang date_sunrise(mktime(000$monat$tag$jahr), SUNFUNCS_RET_STRING$_GET["latitude"], $_GET["longitude"], 90date("O") / 100);
 
$onnenuntergang date_sunset(mktime(000$monat$tag$jahr), SUNFUNCS_RET_STRING$_GET["latitude"], $_GET["longitude"], 90date("O") / 100);

 echo 
'&#9788;&#9650; Sonnenaufgang: ' $onnenaufgang ' Uhr<br>' .
  
'&#9788;&#9660; Sonnenuntergang: ' $onnenuntergang ' Uhr <br>' .
 
'&#9788;&#9684;  Sonnenscheindauer: ' . (round(str_replace(":""."$onnenuntergang) - str_replace(":""."$onnenaufgang), 2)) . ' Stunden<br>' .
 
'Breitengrad:' $_GET["latitude"] . ' - Längengrad:' $_GET["longitude"];
 exit;
}
?>
<!DOCTYPE html>
<html lang="de">
 <head>
  <meta charset="UTF-8">
  <title>Sonnenauf.- und Sonnenuntergang mit der Geolocation API auslesen</title>

<script>
// Geolocation API auslesen

window.addEventListener("DOMContentLoaded", function() {

  document.getElementById("button").addEventListener("click",function () {
   if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(showPosition);
   }
  });

});

// Die Werte über AJAX an PHP senden
const XHR = new XMLHttpRequest();
function showPosition(position) {

 XHR.open("GET", "?location&latitude=" + position.coords.latitude + "&longitude=" + position.coords.longitude, true);
 XHR.send(null);
 XHR.onreadystatechange = function () {
  if (XHR.readyState == 4 &&
      XHR.status == 200) {
     document.querySelector("#ausgabe").innerHTML = XHR.responseText;
   }
 } 
}
</script>

 </head>
<body>

<button id="button">Sonnenauf.- und Sonnenuntergang</button>

<p id="ausgabe"></p>

</body>
</html>

Siehe auch: Sonnenaufgang und Sonnenuntergang

Bausteine  Alle Anzeigen

Eine zufällige Auswahl von Bausteinen (Codeschnipsel) aus den Bereichen HTML, CSS, PHP, JavaScript und MySQL.

<ruby> Ruby Anmerkung

CSS - Tastenkombinationen darstellen

PHP - Beispiel zu arithmetischen Operatoren

JavaScript - Element ein- und ausblenden

MySQL - Eintrag in der Tabelle löschen