2010-11-01 2 views
4

Я заметил, что на картах google api есть опция «датчик».Как получить позицию пользователя в API карт Google?

+0

Проверьте, пытаетесь ли вы реализовать это с помощью HTML5? – Philar

+0

Я хочу получить это, используя javascript. – lovespring

+0

См. Ссылку в моем ответе, она использует HTML5 и Javascript. Какую ОС вы используете для Android, iPhone или используете Qt? – Philar

ответ

14

«датчик» в API GMaps не является опцией, это информационный параметр. Вот что docs говорят:

Использование API (ы) Google Maps требует , что вы указать, является ли ваша приложение использует датчик (например, с GPS локатор) для определения местоположения пользователя в любой Библиотека API Карт или служебных запросов.

Google Maps ничего не знает о ваших пользователях, поэтому он не может предоставить свое местоположение. Это наоборот: вы можете определить местоположение пользователя и предоставить его Google Maps для размещения указателя местоположения и т. Д.

У вас есть несколько вариантов, чтобы получить местоположение пользователя в JS:

  • W3C (HTML 5) Geolocation API (потребности в поддержке браузера);
  • Google Gears API (требуется установка Google Gears);
  • гетеровка по IP, например, MaxMind и HostIP (наименее точная, но работает большую часть времени).

Если вы разрабатываете устройство с сенсорным управлением (например, мобильный телефон с приемником GPS), должны быть определенные способы получения местоположения непосредственно с устройства.

+0

очень чистый, спасибо. – lovespring

3

Подход к «получению позиции пользователя на картах Google» зависит от того, на какие устройства вы нацеливаетесь.

HTML 5 Approach предназначен для андроидов, iPhone и других мобильных платформ, поддерживающих HTML5. В этом случае браузер может получить координаты непосредственно из GPS, не имея необходимости писать код на родном языке.

Однако, если вы разрабатываете QT для обозначения Symbians и тому подобного, вам нужно будет написать код на родном языке (C++ в моем случае), чтобы получить координаты с вашего GPS и отправить его на server, чтобы обновить текущее местоположение пользователя. Вы найдете подробную информацию о получении координат с помощью Qt Mobility API here.

+0

спасибо, philar – lovespring

3

Другой способ получить положение пользователя будет включать:

<script type="text/javascript" src="https://www.google.com/jsapi"></script> 

на вашей странице.

Это создает объект javascript «google.loader.ClientLocation», который содержит широту, долготу и адрес пользователя.

Пример:

google.loader.ClientLocation = { 
    "latitude": 51.817, 
    "longitude": 19.3, 
    "address": { 
     "city": "Aleksandrow Lodzki", 
     "region": "Lodz", 
     "country": "Poland", 
     "country_code": "PL" 
    } 
}; 
0

больше не требуется Параметр датчика.от :

API Карт Google ранее требовал включить параметр датчика, чтобы указать, использовало ли ваше приложение датчик для определения местоположения пользователя. Этот параметр больше не требуется.