Мой браузер не запрашивает у меня доступ к местоположению при использовании геолокации

1

Я пишу фрагмент javascript, который извлекает местоположения пользователя, используя api геолокации, и отображает его на карте с помощью карт google. Я написал код ниже. Кажется, что он работает нормально локально, но как только я размещаю код на своем веб-сайте, существует более длинное приглашение для местоположения пользователя (http://lucakleijweg.nl/myLoc.html). Не могли бы вы помочь мне понять, почему?

//getting the user location
window.onload = getMyLocation();

function getMyLocation(){
  if (navigator.geolocation){
    navigator.geolocation.getCurrentPosition(displayLocation, displayError);
  } else {
    alert ("oops, no geolocation support");
  }
}

function displayLocation(position){
  var latitude = position.coords.latitude;
  var longitude = position.coords.longitude;
    var div = document.getElementById("location");

  div.innerHTML = "you are at Latitude:" + latitude + ", Longitude:" + longitude;
  div.innerHTML += " (with " + position.coords.accuracy + " meters accuracy)";
//calculate distance from HQ using user coordinates
var km = computeDistance(position.coords, ourCoords);
var distance = document.getElementById("distance");
distance.innerHTML = "you are " + km + " km away from the Wickedly Smart HQ";

showMap(position.coords);
}
  • 0
    Проверьте вашу консоль: «[заблокирован] Доступ к геолокации был заблокирован из-за небезопасного соединения с lucakleijweg.nl
Теги:
geolocation

1 ответ

0
Лучший ответ

вам необходимо обслуживать вашу страницу через HTTPS не HTTP для API Geolocation:

Безопасный контекст

Эта функция доступна только в защищенных контекстах (HTTPS), в некоторых или во всех поддерживающих браузерах.

Посмотрите здесь для справки.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню