Определение местоположения пользователя через javascript

Содержание:

как бизнес может использовать тот огромный потенциал, который имеют LBS-сервисы

1)Уже сейчас внедряется синхронизация между LBS-приложениями и системами компаний. Так, можно узнать цену бензина на ближайших АЗС, посмотреть расписание кинотеатра, меню ресторана и кафе, забронировать столик, посмотреть наличие свободных мест в гостиницах, забронировать номер. Конечно, в авангарде нововведений – США, но, думается, в ближайшее время эта волна дойдет и до нашей страны.

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

О том, что этот инструмент уже работает и приносит прибыль бизнес-единицам, говорит недавнее решение Foursquare взимать символическую плату в $10 за верификацию точек компаний на карте. Раньше это осуществлялось бесплатно, по запросу в администрацию сервиса. Учитывая масштаб базы компаний, которые уже зарегистрированы на Foursquare, компания будет получать весьма неплохой доход.

Какие конкретные методы маркетингового стимулирования потребителей можно использовать, задействуя LBS:

предложение купонной скидки LBS-пользователям с краткосрочным периодом действия (ограничиваем дискаунт хантеров) (например, Altergeo)

скидки за многократный чек-ин/накопление баллов (статус «мэра» в Foursquare)

специальные условия для тех, кто осуществляет чек-ин (например, популярный американский сервис Shopkick начисляет баллы за посещение магазинов, которые потом можно реализовать в реальной скидке или бесплатном продукте)

групповая скидка за одновременный чек-ин

Restrict the API key

We strongly recommend that you restrict your API key. Restrictions provide added security and help
ensure only authorized requests are made with your API key. There are two restrictions. You should
set both:

  • Application restriction: Limits usage of the API key to either websites
    (HTTP referrers), web servers (IP addresses), or mobile apps (Android apps or iOS apps). You can
    select only one restriction from this category, based on the platform of the API or SDK
    (see GMP APIs by Platform).

    Note: If you need to call web, web service, and/or mobile APIs from the same (client-side) app,
    create and restrict multiple keys.

  • API restriction: Limits usage of the API key to one or more APIs or SDKs.
    Requests to an API or SDK associated with the API key will be processed.
    Requests to an API or SDK not associated with the API key will fail. (The API or SDK must be
    and must support the
    application restriction.)

To restrict an API key:

  1. Go to the
    Google Cloud Platform Console.
  2. Click the project drop-down and select the project that contains the API key you
    want to secure.
  3. Click the menu button
    and select APIs & Services > Credentials.
  4. On the Credentials page, click the name of the API key that you want
    to secure.
  5. On the Restrict and rename API key page, set the restrictions:

    • Application restrictions
      • Select IP addresses (web servers, cron jobs, etc.).
      • Add the server IP addresses.
    • API restrictions
      • Select Restrict key.
      • Click Select APIs and select Geolocation API.
        (If the Geolocation API is not listed, you need to it.)
    • Click SAVE.

Geolocation Object — Other interesting Methods

The Geolocation object also has other interesting methods:

  • — Returns the current position of the user and continues to
    return updated position as the user moves (like the GPS in a car).
  • — Stops the method.

The example below shows the method. You need an accurate GPS device to test this (like
smartphone):

Example

<script>var x = document.getElementById(«demo»);function getLocation() {
  if (navigator.geolocation) {    navigator.geolocation.watchPosition(showPosition);  } else {
    x.innerHTML = «Geolocation is not supported by this browser.»;
  }}
function showPosition(position) {  x.innerHTML = «Latitude: » + position.coords.latitude +   «<br>Longitude: » + position.coords.longitude;
}</script>

❮ Previous
Next ❯

Как включить геолокацию на андроиде

Некоторые приложения и программы автоматически после установки предлагают включить систему определения координат, к примеру, фотографии, Инстаграм, Tinder, Карты. Необходимо просто нажать на «Разрешить» – и функция активируется. Если функцию нужно включать самостоятельно (вручную), то придерживайтесь следующей инструкции:

  1. Откройте меню «Настройки».
  2. Перейдите в пункт «Безопасность и местоположение».
  3. Откройте раздел «Местоположение».
  4. Переключатель переведите в положение On (просто свапните его вправо). Свитчер должен подсветиться, что указывает на активное состояние.
  5. На новых моделях телефонов существует быстрая панель настроек (как правило свапом верхней панели вниз).
  6. Найдите значок с подписью GPS и активируйте его.

Если вы владеете телефоном от Apple, то активировать геолокацию можно следующим образом:

  1. Перейдите в настройки телефона.
  2. Откройте раздел «Приватность» или «Конфиденциальность».
  3. Затем нажмите на пункт «Службы геолокации».
  4. Здесь нужно переключить в положение On свитчер напротив программ, которые поддерживают определение данных местоположения.
  5. При первом включении приложений, которые используют GPS, появится запрос на активацию геопозиционирования.

Режимы работы

Для отслеживания положения устройства в пространстве существует несколько источников информации. При активации функции вам предложат выбрать один из трех режимов:

  1. По всем источникам. Предпочтительный вариант, в ранних версиях операционной системы Андроид назывался «Высокая точность». Предлагает максимальную точность определения местоположения устройства, используется весь доступный инструментарий для геопозиционирования. Будут собранны данные от мобильного оператора, со спутников GPS, информация через каналы Bluetooth и Wi-Fi (если включены).
  2. По координатам сети. В ранних версиях Андроид назывался режим «Экономия заряда батареи». Эта функция задействовала для слежения только данный от сотового оператора или беспроводных сетей. Экономным режим называется, потому что GPS деактивирован и не потребляет заряд батареи. Это помогает пользователю продлить время автономной работы и сохранить заряд батареи.
  3. По спутникам GPS. В ранних версиях Андроид называется «По датчикам устройства». Для геолокации используются данные только от GPS-маячка. Информация от беспроводных сетей, мобильного оператора учитываться не будет.

История местоположений и передача геоданных

В разделе меню «История местоположений» можно активировать запись ваших маршрутов, мест посещения разных заведений и достопримечательностей. Хранятся данные на серверах Гугл, просмотреть их можно через аккаунт в этой системе на «Google Карты». Для этого понадобится открыть раздел под названием «Хронология». Перед этим необходимо выполнить хотя бы один раз вход со своего устройства в аккаунт Гугл.

Если вы хотите, чтобы ваши родственники или друзья имели доступ к вашему местоположению, необходимо в разделе «Передача геоданных» добавить пользователей. Им будет доступна информация о ваших передвижениях и фактическом нахождении в реальном времени. Доверенные пользователи смогут отслеживать перемещение тоже через «Google Карты» из раздела «Показывать, где я».

GeoZilla – семейный локатор. GPS трекер

Для использования GPS трекера без интернета необходима регистрация или авторизация с помощью существующих аккаунтов социальных сетей. Затем создается группа, за участниками которой можно следить и находить их на карте. Добавлять можно безграничное количество участников, причем с устройствами под управлением других операционных систем. Точность геолокации при включенном интернет-соединении и геолокации – 100 м. Есть функция просмотра истории суточных перемещений каждого из участников.

Доступны платные функции, без рекламы. Доступный и понятный интерфейс на русском языке.

Understand the location settings available on your phone

Important: When you turn off location for your phone, apps and services will not be able to get your phone’s location, but you could still get local results and ads based on your IP address.

Google has a number of location-based services, including:

  • Location Accuracy for your Android device (a.k.a. Google Location Services)
    To get a more accurate location for your phone, .
  • Location History for your Google Account
    To see and manage the places your phone has been, learn how to turn on Location History.
  • Location Sharing for Google Maps
    To let others see where your phone is, learn how to share your real-time location via Google Maps.

Tip: Apps have their own settings. Learn how to manage app location settings.

Geolocation responses

A successful geolocation request will return a JSON-formatted response
defining a location and radius.

  • : The user’s estimated latitude and longitude, in
    degrees. Contains one and one
    subfield.
  • : The accuracy of the estimated location, in
    meters. This represents the radius of a circle around the given
    .
{
  "location": {
    "lat": 51.0,
    "lng": -0.1
  },
  "accuracy": 1200.4
}

Errors

In the case of an error, a standard format error response body will be
returned and the HTTP status code will be set to an error status.

The response contains an object with a single object with
the following keys:

  • : This is the same as the HTTP status of the response.
  • : A short description of the error.
  • : A list of errors which occurred. Each error contains an
    identifier for the type of error (the ) and a short description
    (the ).

For example, sending invalid JSON will return the following error:

{
 "error": {
  "errors": ,
  "code": 400,
  "message": "Parse Error"
 }
}

Possible errors include:

Reason Domain HTTP Status Code Description
403 You have exceeded your .
400 Your API key is not valid for the Geolocation API. Please ensure that
you’ve included the entire key, and that you’ve either purchased the API
or have enabled billing and activated the
API to obtain the free quota.
403 You have exceeded the request limit that you configured in the Google Cloud Platform Console.
This limit is typically set as requests per day, requests per 100 seconds,
and requests per 100 seconds per user. This limit should be configured
to prevent a single or small group of users from exhausting your daily quota,
while still allowing reasonable access to all users.
See Capping API Usage
to configure these limits.
404 The request was valid, but no results were returned.
400 The request body is not valid JSON. Refer to the
section for details on each
field.

Интерес потребителя:

1)геолокационный сервис расширяет границы «социальности»

Раньше индивид мог демонстрировать окружающих свою identity через страницу в социальной сети, где значились его: интересы, любимая музыка, места, которые ему нравятся, фотографии. Это была «статичная» информация, как слепок с портрета пользователя. Застывшие факты, запечатленные моменты прошлого.

Эту картинку разработчики «оживили» сервисом микроблогов и живой лентой новостей. Пользователь стал «актуальнее».

Внедрение сервиса геолокаций стало логичным продолжением этой «актуализации» — пользователь обрел «динамичность». Теперь он может рассказать больше о своем образе жизни, распорядке дня, социальном уровне. Как любой потребитель бренда, он перенимает часть декларируемого брендами успеха. В данном случае – брендов заведений, сферы услуг.

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

2) хорошо продуманная социальная механика, обеспечивающая высокую вовлеченность пользователей в процесс рекомендаций, оценок, ранжирования

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

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

Правда, этот же механизм имеет обратную сторону. Делая информацию о себе публичной, пользователь рискует стать объектом неправомерных действий, затрагивающих его privacy. Так, в марте этого года Apple заблокировал мобильное приложение с говорящим названием Girls Around Me, которое показывало мужчинам, где поблизости находятся женщины. При этом сами женщины не догадывались, что информация о их местоположении,которой они делились со своими друзьями, используется кем-то еще. Чтобы избежать так называемого «сталкинга» (нежелательного внимания к другой персоне и ее навязчивого преследования), LBS-сервисы, скорее всего, будут эволюционировать в сторону строго закрытых групп друзей, которым вы персонально можете предоставить доступ к информации о вашем местонахождении (пример — приложение «Найти моих друзей» от Apple).

Последствия от необдуманного предоставления информации о своем местонахождении могут быть и куда более серьезными —американским военным в Ираке рекомендовано отключать геолокационные опции в смартфонах во избежание целевых минометных атак противника.

3)коммерческая выгода

Большой плюс LBS-сервисов для рядового потребителя — это возможность получить рекомендации, советы и подсказки от других пользователей, которые уже воспользовались той или иной точкой обслуживания. Достоинство это отчасти связано с высокой степенью доверия к персонализироаванным рекомендациям и пока невысокой степеньюих коммерческого, «проплаченного» размещения. Сравните с отзывами на страницах Яндекс.Маркета — степень анонимности пользователей сводит на «нет» ценность их советов.

Большие перспективы сулит синтез геолокаций с купонными сервисами. Пример: крупнейший российский LBS-сервис Altergeo предлагает найти ближайшие к вам заведения, где сегодня действует скидка (обычно 10-20%). Зарегистрировав купон прямо из приложения, вы получаете идентификатор, предъявление которого в заведении даст вам скидку. Это дорога, по которой уже вовсю идет Groupon. Foursquare с июля также присоединится к купонной лихорадке.

Таким образом, LBS-сервисы расширяют сферу своего влияния: от простого информирования, что находится вокруг пользователя, они становятся инструментом discount hunting’а (охоты за скидками), позволяющим реально экономить в ореоле шаговой доступности, а не в масштабе огромного мегаполиса.

Перейдем теперь к, возможно, самой интересной части —

Overview

This tutorial shows you how to display the geographic location of a user or device on a Google
map, using your browser’s HTML5 Geolocation feature along with the Maps JavaScript API.
(Note that the geographic location of a user will only display if he or she has allowed location
sharing.)

Below is a map that can identify your present location.

The sample below shows the entire code you need to create this map.

// Note: This example requires that you consent to location sharing when
// prompted by your browser. If you see the error "The Geolocation service
// failed.", it means you probably did not give permission for the browser to
// locate you.
var map, infoWindow;
function initMap() {
  map = new google.maps.Map(document.getElementById('map'), {
    center: {lat: -34.397, lng: 150.644},
    zoom: 6
  });
  infoWindow = new google.maps.InfoWindow;

  // Try HTML5 geolocation.
  if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(function(position) {
      var pos = {
        lat: position.coords.latitude,
        lng: position.coords.longitude
      };

      infoWindow.setPosition(pos);
      infoWindow.setContent('Location found.');
      infoWindow.open(map);
      map.setCenter(pos);
    }, function() {
      handleLocationError(true, infoWindow, map.getCenter());
    });
  } else {
    // Browser doesn't support Geolocation
    handleLocationError(false, infoWindow, map.getCenter());
  }
}

function handleLocationError(browserHasGeolocation, infoWindow, pos) {
  infoWindow.setPosition(pos);
  infoWindow.setContent(browserHasGeolocation ?
                        'Error: The Geolocation service failed.' :
                        'Error: Your browser doesn\'t support geolocation.');
  infoWindow.open(map);
}
<div id="map"></div>
/* Always set the map height explicitly to define the size of the div
 * element that contains the map. */
#map {
  height: 100%;
}
/* Optional: Makes the sample page fill the window. */
html, body {
  height: 100%;
  margin: 0;
  padding: 0;
}
<!-- Replace the value of the key parameter with your own API key. -->
<script defer
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCkUOdZ5y7hMm0yrcCQoCvLwzdM6M8s5qk&callback=initMap">
</script>

Как удалить историю местоположений

Важно! Удаленные данные из истории местоположений нельзя будет восстановить в хронологии. Если у вас включена история приложений и веб-поиска, но вы удалите историю местоположений, ваши геоданные могут по-прежнему сохраняться в аккаунте при использовании других сайтов, приложений и сервисов Google

Например, данные о местоположении могут сохраняться в результате действий в Google Поиске и на Картах. При определенных настройках камеры эта информация добавляется в сведения о фото.

  1. Откройте приложение «Google Карты» на устройстве Android.
  2. Нажмите свое фото профиля или инициалы «Хронология» .
  3. Нажмите на значок «Ещё» Настройки.
  4. Прокрутите до раздела «Настройки местоположения».
    • Чтобы удалить историю за определенный период, нажмите Удалить часть истории местоположений.
    • Чтобы удалить всю историю, выберите Удалить всю историю местоположений.

Подробнее о том, как изменить или удалить историю местоположений…

Как настроить автоматическое удаление истории местоположений

Вы можете настроить автоматическое удаление истории местоположений, которая хранится более 3 или 18 месяцев.

  1. Откройте приложение «Google Карты» на устройстве Android.
  2. Нажмите свое фото профиля или инициалы «Хронология» .
  3. В правом верхнем углу нажмите «Ещё» Настройки и конфиденциальность.
  4. Прокрутите экран до раздела «Настройки местоположения».
  5. Нажмите Автоматически удалять историю местоположений.
  6. Следуйте инструкциям на экране.

Как повысить точность хронологии

Иногда в хронологии могут встречаться ошибки. Например, если вы обедали в ресторане в центре города, в хронологии может быть указан соседний ресторан. Чтобы повысить точность хронологии и снизить вероятность ошибок, вы можете сделать следующее:

  1. Включите историю приложений и веб-поиска. Если она уже включена в течение определенного периода, данные за этот период будут учитываться в хронологии. Например, если вы искали в Google Поиске ресторан, это поможет нам выбрать из нескольких мест по соседству именно то, где вы побывали.
  2. Подтверждайте места вручную. Вы можете сами отмечать в хронологии посещенные места.

Как сохранять историю поиска и данные о просмотренных сайтах в Google

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

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

Как включить историю приложений и веб-поиска

  1. Откройте приложение «Google Карты» на устройстве Android.
  2. Нажмите свое фото профиля или инициалы «Хронология» .
  3. Нажмите на значок «Ещё» Настройки.
  4. В разделе «История» нажмите История приложений и веб-поиска отключена.

Фотографии вокруг

Теперь поищем фотографии, сделанные рядом с местом Х. Как это делается, разберем на примере ВКонтакте API:

  • lat — широта;
  • long — долгота;
  • count — количество возвращаемых запросом фотографий;
  • radius — радиус окружности вокруг заданной точки, в которой должны быть сделаны фотографии.

Вот какие поля ответа нас интересуют:

  • src, src_big — ссылки на фотографии;
  • created — дата создания фотографии в unixtimestamp;
  • owner_id — ID владельца фотографии.

Зная ID владельца, можно зайти на его страницу или собрать инфу с помощью того же VK API:

  • uids — ID владельцев через запятую;
  • fields — поля, которые мы хотим получить в ответе.

Полный список полей доступен в документации.

У Instagram, Facebook и Flickr тоже есть API с методами для поиска фотографий по геотегам. Порядок работы с ними ищи на страницах для разработчиков приложений под эти соцсети.

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score!
Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя!
Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.

Я уже участник «Xakep.ru»

The getCurrentPosition() Method — Return Data

The method returns an object on success. The latitude,
longitude and accuracy properties are always returned. The other properties are returned
if available:

Property Returns
coords.latitude The latitude as a decimal number (always returned)
coords.longitude The longitude as a decimal number (always returned)
coords.accuracy The accuracy of position (always returned)
coords.altitude The altitude in meters above the mean sea level (returned if available)
coords.altitudeAccuracy The altitude accuracy of position (returned if available)
coords.heading The heading as degrees clockwise from North (returned if available)
coords.speed The speed in meters per second (returned if available)
timestamp The date/time of the response (returned if available)
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector