Мобильное GPS веб-приложение - PullRequest
5 голосов
/ 21 июля 2010

Мне нужно разработать веб-приложение.(PHP) 100% для мобильных телефонов и необходимо получать информацию с мобильного телефона GPS, чтобы получить текущую позицию пользователя.У меня вопрос: что мне делать?

Я знаю PHP, но совершенно не разбираюсь в части GPS (никогда раньше с ними не работал).Все, что я ищу, - это хедсэп, чтобы увидеть, смогу ли я справиться с работой или просто отказаться от нее.

Я слышал, что API геолокации W3 очень хорошо работает, но после тестирования я не уверен в точности и поддержке браузера.Я не хочу использовать механизмы Google из-за того, что они должны быть загружены первыми.

Ответы [ 4 ]

1 голос
/ 12 января 2011

GPS-координаты доступны с Javascript - поместите что-то вроде этого на странице загрузки:

function locationHandler(location)
{
    var lat = location.coords.latitude;
    var lng = location.coords.longitude;

    if(lat && lng)
    {
        // something clever goes in here
    }
}

if(typeof navigator.geolocation.getCurrentPosition == 'function')
{
    navigator.geolocation.getCurrentPosition(locationHandler);
}

где комментарий, где вы хотите сделать что-то умное. Вы можете заполнить значения формы или выполнить ajax-вызов внутреннего сценария.

Свяжите это с обратным геокодированием от Google, и вы станете победителем !!

1 голос
/ 21 июля 2010

Это зависит от устройства, но некоторые фреймворки мобильных приложений сделали всю работу за вас и имеют расширения для этого, посмотрите jqTouch для iPhone:

http://jqtouch.com/

Более конкретно:

http://code.google.com/p/jqtouch/wiki/Extensions

1 голос
/ 21 июля 2010

Я думаю, что W3C Geolocation API - хорошее место для начала: он получает все большее признание на мобильных телефонах, является открытым стандартом и абстрагируется от всех API для конкретных устройств.

Это правда, что точность может быть не идеальной, но это потому, что сам телефон не всегда точно знает, где он находится.API дает вам несколько способов обойти это: если вам нужна высокая точность, вы можете намекнуть устройству, что вы хотите получить точный результат, даже ценой энергии / времени, с флагом enableHighAccuracy и установить длинный * 1006.* параметр, позволяющий устройству использовать GPS для поиска местоположения.Кроме того, все позиции возвращаются со значением точности для 95% достоверности - если ошибка слишком высока (часто телефоны возвращают высокую ошибку при первом запросе), вы можете запросить местоположение еще раз, указав, что вы не хотитекэшированное местоположение.

0 голосов
/ 21 июля 2010

В зависимости от мобильного устройства у вас может быть доступ к GPS.Однако, в широком спектре мобильных устройств, вы, вероятно, не можете надежно получить его только из браузера устройства.Чтение IP было бы бесполезным, учитывая архитектуру сотовых сетей.

Это может быть сделано, но вам нужно будет повысить уровень деградации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...