2017-10-15 8 views
0

PHPを使用して、ユーザーの緯度と経度が必要です。次のコードを試してください。ジオロケーションgetCurrentPosition()とwatchPosition()は安全でない起点では機能しません

<!DOCTYPE html> 
 
<html lang="en"> 
 
<head> 
 
<meta charset="UTF-8"> 
 
<title>Example of HTML5 Geolocation</title> 
 
<script type="text/javascript"> 
 
    function showPosition(){ 
 
     if(navigator.geolocation){ 
 
      navigator.geolocation.getCurrentPosition(function(position){ 
 
       var positionInfo = "Your current position is (" + "Latitude: " + position.coords.latitude + ", " + "Longitude: " + position.coords.longitude + ")"; 
 
       document.getElementById("result").innerHTML = positionInfo; 
 
      }); 
 
     } else{ 
 
      alert("Sorry, your browser does not support HTML5 geolocation."); 
 
     } 
 
    } 
 
</script> 
 
</head> 
 
<body> 
 
    <div id="result"> 
 
     <!--Position information will be inserted here--> 
 
    </div> 
 
    <button type="button" onclick="showPosition();">Show Position</button> 
 
</body> 
 
</html>      

が、私は、サーバーにこのコードを実行したときに私は、ユーザーLattitudeと経度を取得するとき、私はこの警告のエラーを検出しました。

getCurrentPosition()およびwatchPosition()は、安全でない部分の では機能しなくなりました。この機能を使用するには、Same code works here. .ELSEは、ユーザーの緯度と経度を取得するために他のコードを示唆していますが、このようなHTTPS

として、安全な原点にご アプリケーションの切り替えを検討してください。ありがとう。

+0

Google Chromeでは、httpsに取り組んでいます。それはmozillaで確認できます。 Mozillaはhttpとhttpsの両方でサポートします –

+0

Mozila Developer Editonで同じエラーが発生しました。 "ジオロケーションの要求は、安全なコンテキストでのみ実行できます。" – TarangP

答えて

1

ジオロケーションAPIこの変更は、クロム50(12PM PST 2016年4月20日)のような効果があるクローム50

で保護されていない起源から除去されます。

Chromeの開発ツールコンソールは、バージョン44(2015年7月21日にリリース)以降の警告を提供しています。 我々はこの変更を作っている理由の根拠(およびディスカッション)を記述する公表の数がありました:HTTP上で強力な機能の設定廃止する

テント(2015年2月)HTTPを介して地理位置情報APIを廃止する 意向(2015年11月) Chrome Dev Summim(2016年11月) Chrome Beta Channelリリースのブログ(2016年3月17日) Chromeのステータスウェブサイト Mobiforge(2016年1月26日)、 Wired(2016年3月17日)、VentureBeat(2016年4月13日)

Read More Documentatin here。これは、HTTPSなしでGeoLocationを使用することはできません。

関連する問題