Я пишу фрагмент 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);
}
вам необходимо обслуживать вашу страницу через HTTPS
не HTTP
для API Geolocation
:
Безопасный контекст
Эта функция доступна только в защищенных контекстах (HTTPS), в некоторых или во всех поддерживающих браузерах.
Посмотрите здесь для справки.