Определение геолокации пользователя за прокси

Я пишу веб-приложение, для которого требуется текущая геолокация пользователя. Для определения геолокации я использовал следующий код, который использует API геолокации HTML5. Я взял этот код из W3schools.

<!DOCTYPE html>
<html>
<body>
<p id="demo">Click the button to get your coordinates:</p>
<button onclick="getLocation()">Try It</button>
<script>
   var x=document.getElementById("demo");
   function getLocation()
    {
      if (navigator.geolocation)
        { 
           navigator.geolocation.getCurrentPosition(showPosition);
         }
     else{x.innerHTML="Geolocation is not supported by this browser.";}
    }
   function showPosition(position)
    {
        x.innerHTML="Latitude: " + position.coords.latitude + 
   "<br>Longitude: " + position.coords.longitude;   
    }
</script>
</body>
</html>

Я запустил этот код с Tomcat, но он не работает ни в Firefox, ни в Chrome. Затем я попробовал этот код с помощью «Попробуй сам» в W3Schools, и даже там он не работает ни в Firefox, ни в Chrome. Я за прокси.

Я ввел оператор alert() в начале тела функции showPosition(), и он не был вызван. Так что кажется, что эта функция вообще не вызывается. Я понятия не имею, как это исправить. Мне очень нужно это исправить. Ранее я уже публиковал эту проблему, но не получил ответа, вероятно, из-за того, что не четко сформулировал проблему. Итак, я снова публикую проблему.

Есть ли другой способ получить геолокацию пользователей, которые обращаются к этому приложению через компьютеры. Пожалуйста, помогите. Спасибо.

EDIT: я разместил этот файл на Tomcat. Каждый раз, когда я выполняю, он дает код ошибки 3, то есть тайм-аут. Но я выполнил тот же Javascript два месяца назад. Тогда он исполнялся идеально. Это проблема с текущей версией моего браузера?


person Joy    schedule 02.06.2013    source источник


Ответы (1)


прокси-серверу нечего делать с API-интерфейсом геолокации html5, он определяет местоположение на основе вашего устройства GPS, если оно есть на вашем компьютере, во-вторых, он использует устройство Wi-Fi, наконец, он использует интернет-IP для определения вашего местоположения, и если вы подключаетесь через прокси, он покажет местоположение вашего прокси. ваша проблема может быть связана с тем, что вы не дали разрешение на локальный хост в своем браузере, проверьте его еще раз и повторите попытку кода.

person Prog Mania    schedule 02.06.2013
comment
Извините, сэр, я не знаю, как дать разрешение локальному хосту в моем браузере. Не могли бы вы уточнить? - person Joy; 02.06.2013
comment
вы можете открыть свои настройки в Chrome и выполнить поиск настроек контента, а затем прокрутить вниз до параметров местоположения. - person Prog Mania; 02.06.2013
comment
Да, сэр, я проверил, но в настройках содержимого я не нашел такой вещи, связанной с локальным хостом. - person Joy; 02.06.2013
comment
@Joy, ты можешь открыть консоль и проверить, нет ли у тебя ошибок? - person Prog Mania; 02.06.2013
comment
На самом деле, сэр, в консоли ничего не печатается. Кажется, функция showPosition не вызывается. Я понятия не имею, что происходит. Я ввел еще один оператор alert() непосредственно перед строкой navigator.geolocation.getCurrentPosition(showPosition);. Кажется, это последнее выполненное выражение. - person Joy; 02.06.2013
comment
Да, сэр, понял. Приходит код ошибки 3. Но я понятия не имею, как исправить эту ошибку. - person Joy; 02.06.2013
comment
@ Радуйтесь, последняя проверка, вы запускаете страницу в веб-контексте или только с диска? - person Prog Mania; 02.06.2013
comment
Я запускаю из веб-контекста, а не с диска. - person Joy; 02.06.2013
comment
@Joy попробуйте это mdn.mozillademos.org /en-US/docs/WebAPI/ - person Prog Mania; 03.06.2013
comment
Да, я пробовал, но когда я нажимал кнопку «Показать мое местоположение», он просто печатал «Расположение...» и ничего больше. - person Joy; 03.06.2013
comment
См. Я использую Firefox версии 16.0.2. Есть ли проблемы с этой версией? - person Joy; 03.06.2013
comment
@Joy Я использую ff 21, и он у меня работает нормально, вы можете попробовать использовать Chrome. тоже нормально работает. - person Prog Mania; 04.06.2013
comment
Вы выполняли в FF 16.0.2? Так это проблема, связанная с браузером? - person Joy; 04.06.2013
comment
@Joy, к сожалению, на моей машине нет ff 16. - person Prog Mania; 04.06.2013