-1
デバイスのジオロケーションを取得するためにJavascriptコードを実行しようとしています。 localhost(127.0.0.1)からコードを実行しようとすると、コードが期待どおりに実行され、ポップアップが開き、ユーザーに位置情報サービスを有効にするよう依頼されます。しかし、このコードをホストしたり、ローカルIPアドレス(192.168.x.y)を使用してアクセスしようとすると、コードはエラーで失敗します。ジオロケーションを取得できません
なぜそれがlocalhostで動作するのか、それ以外の理由はありません。
はここでJSコード
function geoFindMe() {
var output = document.getElementById("out");
if (!navigator.geolocation){
output.innerHTML = "<p>Geolocation is not supported by your browser</p>";
return;
}
function success(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
output.innerHTML = '<p>Latitude is ' + latitude + '° <br>Longitude is ' + longitude + '°</p>';
var img = new Image();
img.src = "https://maps.googleapis.com/maps/api/staticmap?center=" + latitude + "," + longitude + "&zoom=13&size=300x300&sensor=false";
output.appendChild(img);
}
function error() {
output.innerHTML = "Unable to retrieve your location";
}
output.innerHTML = "<p>Locating…</p>";
navigator.geolocation.getCurrentPosition(success, error);
}
おかげです。
どのように行動を再現するコードを投稿せずに誰かがこれに答えることを期待していますか? – pvg
これはクロムブラウザの設定によるものかもしれません.I同様の問題がありました。IEを使ってみました。 – soorapadman
@pvgコードは127.0.0.1から実行したときに正常に動作します。少し予期せぬ。それにもかかわらず、コードを取得したリンクを記載しました –