В php If и Else операторы не работают с функциями определения местоположения javascript - PullRequest
0 голосов
/ 05 декабря 2018

У меня есть скрипт на javascript и php, который определяет мою позицию, первая часть скрипта работает нормально, после того, как я хотел бы, если я установил на определенное значение широты и долготы, он что-то делает, если latidudine и longitude равныНапример, в качестве предустановленных значений напишите «Мой дом», в противном случае напишите «из моего дома».Даже если я задаю значения, полученные из сценария, условие if всегда остается ложным, возможно, потому что сценарий запускается до того, как пользователь дает согласие на местоположение.Кто-нибудь знает, как я мог решить?Заранее спасибо Вот мой код:

<html>
<body>

  <SCRIPT>
  function showlocation(){
  navigator.geolocation.watchPosition(callback);
  }

  function callback(position){
  document.getElementById('latitude').innerHTML = position.coords.latitude;
  document.getElementById('longitude').innerHTML = position.coords.longitude;
  }

  </SCRIPT>


  <?




  echo "<script>showlocation()</script>";

  $latitudine= "<span id=latitude></span><br>";
  $longitudine= "<span id=longitude></span>";

  echo "latitudine: ".$latitudine ."<br>";
  echo "longitudine: ".$longitudine."<br>";

  echo "latitudine: ".$latitudine ."<br>";
  echo "longitudine: ".$longitudine."<br>";
  if ($latitudine == "41.9473578" && $longitudine =="$longitudine")
  echo "My house";
  else echo "Out of my house"





  ?>

</body>
</html>

1 Ответ

0 голосов
/ 05 декабря 2018

PHP-код всегда выполняется на стороне сервера и не имеет связи с JS-кодом, который выполняется в браузере.

Вы должны сделать весь код в JS, чтобы он работал.Это бегущий пример:

<html>
<head>
<script>
function showlocation() {
    navigator.geolocation.watchPosition(callback);
}

function callback(position){
    var latitude = position.coords.latitude;
    var longitude = position.coords.longitude;

    document.getElementById('latitude').innerHTML = latitude;
    document.getElementById('longitude').innerHTML = longitude;

    var location = 'Out of my house';

    if (latitude == '41.9473578') {
        location = 'My house';
    }

    document.getElementById('location').innerHTML = location;
}
</script>
</head>

<body onload="showlocation()">

    <label>latitudine</label>: <span id=latitude></span>
    <br />
    <label>longitudine</label>: <span id=longitude></span>
    <br /><br /><br />

    <label>Location</label>: <span id="location"></span>
</body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...