получить местоположение (широта / долгота) без GPS, как моя функция местоположения на картах Google - PullRequest
4 голосов
/ 20 апреля 2010

Получить местоположение (широта / долгота) без GPS, как и функция моего местоположения на картах Google. У меня есть Google Maps на моем мобильном телефоне (Sony Ericsson G502 без GPS). Он прекрасно работает без GPS в Индии.

1.Как Google находит мою позицию?
2. Когда я ищу cellid в базе данных opencellid, он имеет меньше записей для Индии. но Google Maps отлично работает на моем мобильном телефоне (Индия)
3. Google использует базу данных opencellid или свою собственную? если Google использует свою собственную, мы будем иметь доступ к этой базе данных
4. Есть ли коммерческая база данных Cellid для Индии?

Ответы [ 4 ]

2 голосов
/ 07 мая 2010

Ответ заключается в том, что сотовые телефоны используют различные методы определения местоположения, большинство из которых были введены как часть E-911 (Enhanced 911) или эквивалентной экстренной службы для других стран (например, 999 в Великобритании) или с тех пор.

Я не знаю, имеет ли GSM или CDMA какие-либо протоколы или стандарты локализации, помимо того, что требуется E-911 и тому подобное. Поэтому я сомневаюсь, что существует общий API для всех мобильных телефонов.

Локализация мобильного телефона осуществляется через:

  • обычный GPS
  • Assisted-GPS
  • Клеточная триангуляция / мультилатерация
  • Идентификация ячейки (вышки) (поиск в базе данных сотовой вышки FCC и т. Д.)
  • Улучшенная идентификация соты (E-911)
  • Разница времени восходящей линии связи (U-TDOA)
  • Время прибытия (TOA)
  • Угол прибытия (AOA)
  • E-OTD (улучшенная наблюдаемая разница во времени)
  • и / или гибрид этих технологий и подходов.

(Src: Wikipedia / Mobile_phone_tracking )

Эти подходы различаются по точности и прецизионности от ~ 35 км (22 мили) до ~ 5-10 метров (16-32 фута) или лучше.

3. Использует ли Google базу данных opencellid или свою собственную?.

Похоже, что у них есть собственная база данных без открытого документированного API.

4. Есть ли коммерческая база данных Cellid для Индии?

Я не знаю.

1 голос
/ 04 мая 2010

Skyhook предлагает API для геолокации устройств на основе Cell ID, точек доступа Wi-Fi и, если доступно, GPS.IPhone OS использует это для обеспечения своей функциональности CoreLocation.

У них есть SDK, доступные для большинства мобильных и настольных ОС.Это очень хорошо, но вам придется поговорить с ними о лицензировании.

1 голос
/ 07 мая 2010

Как отмечали другие авторы, и Skyhook, и Google поддерживают собственные базы данных с информацией о местоположении для WiFi SSID и идентификаторов вышек сотовой связи. Я полагаю, что Geomena пытается запустить открытую базу данных с идентификаторами, но у нее пока нет широты охвата, которой обладают проприетарные конкуренты. Google также предоставляет простой клиентский JavaScript-интерфейс для определения географического местоположения IP (называемый ClientLocation), который может быть достаточно точным для некоторых приложений, и существует широкий спектр баз данных геолокации IP.

Если ваше приложение имеет веб-интерфейс, вы можете воспользоваться API-интерфейсом геолокации W3C, который абстрагирует конкретную технологию геолокации и предоставляет вашему веб-сайту контролируемый пользователем доступ к любому методу геолокации, выбранному браузером. На iPhone база данных Skyhook используется для определения местоположения телефона с сотовой вышкой или с местоположением WiFi или GPS; Firefox использует Службу определения местоположения Google, которая использует триангуляцию WiFi и использует геолокацию IP.

Использование некоторого уровня абстракции (например, API W3C) может иметь реальные преимущества, если вы хотите, чтобы ваше приложение работало на разных платформах, которые имеют свои собственные методы определения местоположения, если вы хотите, чтобы ваше приложение изящно ухудшалось, когда доступны только грубые методы геолокации и вы хотите, чтобы ваше приложение получало преимущества дополнительной точности при обновлении ваших клиентов до устройств с технологией GPS.

1 голос
/ 25 апреля 2010

Google почти наверняка использует собственную базу данных. Они признают столько, сколько:

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

http://maps.google.com/support/bin/answer.py?hl=en&answer=153807

Известно, что автомобили Google Street View собирают данные о точках беспроводного доступа, которые могут использоваться в такой базе данных.

...