Search
Write a publication
Pull to refresh

Откуда мой пользователь?

Reading time2 min
Views734
Original author: Mark Lucovsky, Software Engineer
Приходилось ли вам в своих web-приложение использовать такую фишку, как центрирование гугловской карты по месту положения пользователя? Рассмотрим маленький пример с картой. Правда, было здорово при отображении карты, чтобы она показывала страну, регион, город и т. д. текущего пользователя, а не просто центрировалось на Лос Сан-Франциско или Австралии?

Взглянем на новое «API». Собственно, это не совсем API, это все лишь свойство объекта google.loader.ClientLocation
После загрузки какой-либо части гугловской AJAX API, система будет пытаться найти географическое положение клиента по его ip-адресу.
Если есть соответствие между картами и ip-адресом клиента, то google.loader.ClientLocation возвращает приблизительные координаты страны, региона, города пользователя. Картографирование далеко не идеальное, но позволяет использовать «умные» настройки по-умолчанию или показывать свою осведомленность о местоположении посетителя в ваших проектах.
Вот простой пример использвания google.loader.ClientLocation:

/**
* Set the currentState_ and currentCountry_ properties based on the client's
* current location (when available and in the US), or to the defaults.
*/
InTheNews.prototype.setDefaultLocation_ = function() {
 this.currentState_ = this.options_.startingState;
 if (google.loader.ClientLocation &&
  google.loader.ClientLocation.address.country_code == "US" &&
  google.loader.ClientLocation.address.region) {

  // geo locate was successful and user is in the states. range check
  // the region so that we can safely use it when selecting a state
  // level polygon overlay
  var state = google.loader.ClientLocation.address.region.toUpperCase();
  if (InTheNews.stateNames[[]state]) {
   this.currentState_ = state;
  }
 }
 this.currentCountry_ = "US";
}


* This source code was highlighted with Source Code Highlighter.


Чтобы убедиться в работе кода, посетите страницу выборов в Штатах 2008. Если вы зайдете в раздел «News by State», то увидите, либо новости о кандидате от штата, в котором вы находитесь, либо, если нет соответствия координат на карте с вашим ip-адресом, новости о кандидате от штата Калифорния.
Теперь о приятном. Если вам понравился механизм сопоставления ip-адреса местоположению посетителя, тогда стоит подождать, что приготовила вам команда Gears. Они готовят заключительную версию этой функциональности, которая может определять координаты по ip-адресу, GPS и скоро WiFi. Это, определенно, скачек в направлении улучшения как функциональности, так и точности.
Tags:
Hubs:
Total votes 6: ↑4 and ↓2+2
Comments2

Articles