2013-06-27 3 views
1

Я разрабатываю карту на основе веб-приложение, и я хотел бы предложить пользователям возможность «Использовать текущее местоположение»Гадать, когда HTML5 геолокация будет хорошо работать

можно легко проверить на наличие геолокации API как следующим образом:

if (navigator && navigator.geolocation) {} 

И когда я на самом деле называется navigator.geoLocation.getCurrentPosition я могу легко проверить точность результата, или если результат доступен на всех.

Однако я хотел бы показать только кнопку «Использовать текущее местоположение», когда есть хорошая вероятность, что она может работать хорошо, то есть произвести результат с точностью до нескольких сотен метров. Я хотел бы принять это решение, не попросив пользователя поделиться своим местоположением.

Мое лучшее предположение заключается в том, чтобы в основном попытаться скрыть эту кнопку на настольном или переносном ПК, возможно, используя обнаружение сенсорного экрана Modernizr. Это явно не будет на 100% эффективным благодаря сенсорным ноутбукам, но, возможно, это лучше, чем ничего.

Я также хотел бы избегать делать что-либо слишком сложное на стороне сервера. Это единственная функциональность в моем приложении, которая требует обнаружения устройств любого типа, поэтому WURFL или аналогичные запросы агента пользователя не могут быть и речи. Я хотел бы сделать это все на стороне клиента, не слишком много наворотов

Спасибо за любую помощь

ответ

1

К сожалению, нет. Получение точности геолокации пользователя - это личная информация, поэтому вам нужно сначала сделать запрос конечному пользователю (как в navigator.geolocation.getCurrentPosition). Точность gps - это информация, специфичная для устройства, поэтому ЕДИНСТВЕННЫЙ способ получить ее можно найти на клиенте, а не на вашем сервере.

Извините, но не лучшее решение для вас. Если вы создаете мобильное приложение, вы всегда можете использовать phonegap/cordova и использовать или создавать плагин, который мог бы получить вам эту информацию.

+0

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

+0

Звучит как лучший выбор. Удачи! –