2010-08-15 5 views
1

Привет, может кто-нибудь сказать мне, что именно я делаю неправильно Кажется, что у меня не получается либо функция успеха, либо неудача.Справочная информация по географическому расположению

function init(){; 
    // Get the current location 
    getPosition();  
} 

function getPosition(){ 
    navigator.geolocation.getCurrentPosition(success, fail);  
} 

function success(position) 
{ 
    alert("Your latitude: " + position.coords.latitude + "longitude: " 
     + position.coords.longitude); 
} 

function fail() 
{ 
    alert("Your position cannot be found"); 
} 
+0

Поддерживает ли ваш браузер это? Является ли 'navigator.geolocation' не нулевым? – Rup

+0

Я бы так подумал, у меня есть последний хром, сафари и firefox, сказав, что я только что попробовал это в симуляторе iphone и, конечно же, это работает, поэтому я полностью озадачил LOL. Спасибо за ваш ответ – Gary

+0

Работает для меня с Opera 10.60 на ниже размещенной странице jsfiddle. После отказа от разрешения вызывается и отображается предупреждение. – jitter

ответ

0

Вы забыли вызвать функцию init где-нибудь? Код отлично работает в jsFiddle, найденном в http://jsfiddle.net/mhj82/ (с использованием Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv: 1.9.2.8). Gecko/20100722 Firefox/3.6.8 (.NET CLR 3.5.30729)).

+0

Невозможно определенно вызвать функцию init, я помещаю предупреждение в функцию getPosition(), которая срабатывает, как ожидалось. Спасибо за ваш ответ. – Gary

+0

Работает ли ссылка jsFiddle для вас? Какой браузер вы используете? – MvanGeest

+0

Вот чужой список совместимости http://stackoverflow.com/questions/1349064/which-devices-support-javascript-geolocation-via-navigator-geolocation/3180478#3180478 – Rup

0

У меня также проблемы с геолокацией. Это зависит от того, какой браузер вы используете. Если вы попробуете его на Google Chrome, я уверен, что он сработает, он работает безупречно для меня с хром.

использовать это вместо того, чтобы тест:

navigator.geolocation.getCurrentPosition(success, fail, {timeout: 5000}); 

Он будет пытаться за 5000milliseconds перед выполнением функции потерпеть неудачу. Кажется, что firefox просто пытается навсегда, не имея возможности получить место. Установка таймаута заставляет его выйти. Safari работает редко. Я в настоящее время тоже расследую это ... удачи.

EDIT После перезагрузки моего компьютера геолокация работает нормально. странно. попробуйте его с тайм-аутом и позвольте мне knwo, что происходит. он может «застревать», как у меня.

+0

Спасибо за ваш ответ Galen, К сожалению, я все еще сталкиваюсь с той же проблемой, не понимаю почему! даже после перезапуска. Кажется, что вы застряли, как будто вы предлагаете мне просто интересно, существует ли глобальная настройка на mac для предотвращения геолокации. Это объясняет, почему он не работает ни в одном браузере. Еще раз спасибо Gary – Gary

+0

Вы попробовали добавить тайм-аут и посмотреть, была вызвана функция отказа? – Galen

Смежные вопросы