Newcomposers.ru

IT Мир
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Координаты по списку адресов

Сервис показа списка адресов на карте

Населенный пункт:
Только если населенный пункт был найден в адресе и он правильный
Привязывать, если населенный пункт отсутствует в адресе, потребовалось подставить населенный пункт по умолчанию (например, для карты СПб.ЛО таким населенный пункт является Санкт-Петербург).
Населенный пункт был найден в адресе, однако он оказался неправильным (т.е. остальная часть адреса ему не соответствовала), либо населенный пункт отсутствовал в адресе и подставленный вместо него нас.пункт по умолчанию тоже не подошел – потребовалось изменить населенный пункт на произвольный, но такой, чтобы нашлось соответствие.

Привязка к улице
Только если название улицы в адресе точно совпало с названием в адресной базе.
Привязывать, если название улицы совпало после перестановки слов в названии (например, вместо «Малая Конюшенная» было указано «Конюшенная Малая»).
Название совпало после того, как было подставлено слово слева (например, вместо «ул. Генерала Карбышева» было указано просто «ул. Карбышева»).
Название совпало после того, как было подставлено слово справа.
Если нет улицы, то есть поиск велся только по региону, без привязки к улице и дому

Привязка к корпусу
Только если корпус был найден в адресе и он правильный; либо корпус был не найден в адресе, и в адресной базе есть дом без корпуса
Привязывать, если указанного в адресе корпуса нет, была проведена замена.
Указанного в адресе дома нет, был найден ближайший по номеру дом той же четности (отличающийся не более чем на 10).
Нет дома, то есть поиск велся только по региону, без привязки к улице и дому

Введите в этом поле адреса, по одному адресу на строку, которые вы хотите привязать.

Здесь можно проложить маршрут, проложить несколько маршрутов, рассчитать расстояния, поставить объекты на карте.

Удобный инструмент для транспортной логистики.

Показать список адресов на карте

С 1 октября 2012г. мы ввели в эксплуатацию новейший уникальный сервис в Интернете – показ списка адресов на карте.

Это единственный известный нам удобный сервис, который позволяет большой список адресов (например — из файла EXCEL) легко показать на карте, и узнать географические координаты всех точек.

Воспользоваться этим сервисом исключительно просто.

Нужно сформировать файл с адресами следующим образом:

Адрес – адрес подряд в произвольной форме, например — Санкт-Петербург, Невский пр. д.155 корпус 3, или Невский 155/3

Адрес должен быть записан обязательно в первом столбце и обязательно в ОДНОМ столбце целиком. Если у вас адрес в нескольких столбцах – нужно просто слить их в один.

Название точки (имя точки) – если его не будет, то система ставит порядковый номер точки.

Описание – любой текст – описание точки, оно переносится в описание точки на карте.

Пример заполнения таблицы:

Вся сила, мощь и преимущество нового сервиса состоит в том, что таких адресов может быть очень много. Система обрабатывает все адреса и показывает вам процесс привязки адресов к карте.

Совершенно очевидно, что объективно система не всегда сможет привязать адреса к карте. Иногда привязать адреса невозможно.

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

Ну и конечно, программа не сможет правильно привязать адрес, если он указан неверно, например «от ларька налево за углом».

А результаты привязки программа выдает в виде статистики.

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

Кроме того, в дополнительный столбец выводятся коды привязки адреса.

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

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

Выводы.

Данный механизм показа списка адресов на карте позволяет большие массивы (списки) адресов (например, из файла EXCEL) размещать и показывать на карте, при этом выводя все координаты привязанных точек в результирующий.

Механизм уникален, т.к. в Интернете нет подобного механизма по удобству и по возможностям обработки сразу больших массивов адресов из файла.

Механизм весьма востребован, т.к. мы неоднократно встречали в Интернете запросы на такой механизм – показать именно большой список адресов на карте.

Механизм имеет неоспоримое преимущество перед google и yandex – потому, что может сразу обрабатывать целые списки адресов, а google и yandex обрабатывают по одному адресу или требуют писать отдельную программу, с использованием своего интерфейса.

Очевидно, что пользователь не будет писать программу, если ему нужно просто показать свои большие списки адресов на карте, а просто воспользуется нашим сервисом.

Этот сервис можно искать по различным ключевым словам, например:

все адреса на карте;

список адресов на карте;

интернет сервис размещения на карте большого количества адресов точек;

отметить много адресов точек на карте;

отметить адреса на карте;

Санкт-Петербург Москва карта импорт адресов Excel;

показать адреса из базы на карте;

показать адреса из файла на карте;

поиск с указанием нескольких адресов на карте;

поиск с указанием многих адресов на карте;

множественный поиск адресов на карте;

одновременный поиск нескольких адресов на карте;

привязать много адресов к карте;

показать много адресов на карте;

показать много адресов из файла на карте.

Код статуса – трехзначное число, где:
Первая цифра (сотни): статус привязки к населенному пункту
Вторая цифра (десятки): статус привязки к улице
Третья цифра (единицы): статус привязки к номеру корпуса.

Привязка к нас.пункту:
0 – норма, нас.пункт был найден в адресе и он правильный.
1 – населенный пункт отсутствует в адресе, потребовалось подставить нас.пункт по умолчанию (например, для карты спбло таким нас.пунктом является Санкт-Петербург).
2 – населенный пункт был найден в адресе, однако он оказался неправильным (т.е. остальная часть адреса ему не соответствовала), либо населенный пункт отсутствовал в адресе и подставленный вместо него нас.пункт по умолчанию тоже не подошел – потребовалось изменить населенный пункт на произвольный, но такой, чтобы нашлось соответствие.

Привязка к улице
0 – норма, название улицы в адресе точно совпало с названием в адресной базе.
1 – название совпало после перестановки слов в названии (например, вместо «Малая Конюшенная» было указано «Конюшенная Малая»).
2 – название совпало после того, как было подставлено слово слева (например, вместо «ул. Генерала Карбышева» было указано просто «ул. Карбышева»).
3 – название совпало после того, как было подставлено слово справа.
4-8 – зарезервировано
9 – нет улицы, то есть поиск велся только по региону, без привязки к улице и дому

Читать еще:  Верификационный файл не должен выполнять переадресацию

Привязка к корпусу
0 – норма, корпус был найден в адресе и он правильный; либо корпус был не найден в адресе, и в адресной базе есть дом без корпуса
1 – указанного в адресе корпуса нет, была проведена замена.
2 – указанного в адресе дома нет, был найден ближайший по номеру дом той же четности (отличающийся не более чем на 10).
3-8 – зарезервировано
9 – нет дома, то есть поиск велся только по региону, без привязки к улице и дому

Класс-обработка “Работа с картами Яндекс”

Внимание! Перед использованием обработки следует ознакомиться с условиями использования сервиса Яндекс.Карты

Вступление

Предлагаем Вашему вниманию класс-обработку, для построения маршрутов и указания меток с использованием Яндекс карт.
Обработку можно использовать в любой конфигурации 1С.
Для использования обработки потребуются лишь базовые знания по программированию в 1С и креативная идея, где этот функционал можно использовать.
Просто добавьте обработку “РаботаСКартамиЯндекс” в состав своей конфигурации и вы сможете воспользоваться простыми методами работы с картами.

Всё это уже много раз было

Для чего публикуется очередной пример работы с Яндекс-картами? — спросите вы.

Дело в том, что аналогичные решения, представленные в Инфостарте, либо перестали работать, (в связи с переходом Яндекс Карт на API 2.0), либо работают, но не в тонком клиенте (например здесь почитайте комментарии), либо предлагают решение с получением ключа карт. Во многих публикациях для отображения карт используется «Поле HTML документа» на форме 1С. Этот объект уже давно устарел и не поддерживает возможности HTML 5. В итоге, чтобы отобразить страницу на форме 1С приходится долго «плясать с бубном».

Программист, которому впервые дали задание вывести на карту точку будет тратить лишнее время и СтартМани на поиски лучшего варианта, корректировать реестр Windows, как предложено здесь и в итоге столкнётся с тем, что стабильного рабочего варианта найти не удастся.

Мы предлагаем вариант решения, который будет работать везде и без специальных условий. Мы принципиально не используем объект WebBrowser Control, чтобы всё работало всегда и у всех.

Пример 1. Метка на карте

Для добавления метки на карте достаточно знать её координаты.

Результат нажатия на кнопку “Показать метку” будет таким:

Как это работает?

Для кнопки “Показать метку” назначена процедура:

Функция для получения текста HTML:

Все экспортные функции и процедуры обработки описаны вспомогательными комментариями, поэтому будет легко догадаться о назначении параметров.
Функция “ДобавитьМетку” добавляет на карту метку с описанием.
Если необходимо на одной карте показать сразу несколько меток, то функцию “ДобавитьМетку” нужно вызывать несколько раз.
Для отображения результата составленного текста HTML используется процедура “ПоказатьНаКартеНаКлиенте”.

При выполнении этой процедуры в первый раз — появится окно с выбором программы-браузера. После выбора — откроется окно с картой.

Пример 2: Маршрут на карте

Процедура кнопки “Показать маршрут”:

Пример 3: Получение координат из адреса (геокодирование)

Не всегда в типовой базе 1С имеются данные о координатах пункта назначения. Но зато есть адрес, представленный стройкой. Иногда даже заполненный по всем правилам КЛАДР (ФИАС).
Для таких случаев имеется возможность преобразовать строку почтового адреса в координаты: долготу и широту.

Функция “ПолучитьКоординатыПоАдресу” выполняет обращение к сервису геокодирования и разбирает ответ в структуру, содержащую координаты и адрес, для которого были определены координаты.

Пример 4. Расчет длины пути маршрута

Этот пример появился в версии 2.0 нашей обработки.

Эту задачу можно решить тремя способами.

Способ 1 — платный

В API Яндекс имеется такой раздел как Матрица расстояний
Как видно из документации, всё предельно просто. Используя представленную обработку её легко можно доработать с учетом документации.
Достоинства этого способа в том, что всё будет работать на сервере и достаточно быстро.
Недостаток один. Дорого.
Поэтому мы этот способ рассматривать не будем.

Способ 2 — бесплатный, но требовательный

В наборе функций Яндекс карт имеется функция getLength, которая возвращает длину маршрута из объекта Route. Подробнее можно почитать здесь.
Сложность задачи заключается в том, что нужно выполнить чтение страницы HTML средствами 1С после её полной загрузки в браузере и выполнения скрипта JavaScript на загруженной странице.

Это возможно сделать только на клиенте.
Здесь никак не обойтись без поля формы «Документ HTML», о недостатках которого было сказано во вступлении. Нам удалось отобразить карту на форме 1С, указав в заголовках HTML строку

и убрав директиву вначале текста страницы HTML

Длина маршрута записывается скриптом в отдельный тег

Отображение маршрута на карте не реализовано для повышения производительности. В этом примере карта вообще не нужна для отображения, поэтому в своих разработках вам придётся подумать как её скрыть. К сожалению, нерисовать карту нельзя. Длина не вычислится.

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

При получении точек маршрута web-сервис запишет их как входящее задание на вычисление, например, в свой регистр сведений. Клиент каждые m секунд будет опрашивать регистр сведений на получение новых заданий. При появлении таких — берет первое (самое старое) невыполненное задание и начинает рисовать карту на своей форме. После отрисовки — возвращает результат в регистр сведений.
Примерно так:

Способ 3 — возможно, лучше всех

В предыдущем способе формируется текст страницы HTML для выполнения расчёта длины маршрута на клиенте средствами браузера. Этот текст можно попробовать использовать на сервере, применив COM-объект «AltBrowser.Browser». Применив методы простого парсинга можно получить значение из контейнера div и использовать в 1С.

Этот способ в данной статье не рассматривается.

Заключение

Все сложные операции с формированием текста HTML страницы карты и методами взаимодействия с сервисом Яндекс.Карты в нашей обработке имеют открытый код, который всегда можно доработать под свои нужды.

Обработка находится в составе конфигурации. Выложена целая конфигурация, так как в ней находится общая форма с примером использования обработки.

Релиз платформы 1С, на котором тестировали обработку 8.3.10.2561

Координаты Google

Предлагаем воспользоваться аналогичным сервисом от Яндекса — найти координаты

Определение географических координат — широта и долгота на карте Google Maps (Гугл Мапс)

Здравствуйте, уважаемые друзья портала u-karty.ru!

Инструмент — определение географических координат на карте Google Maps города, улицы, дома, в реальном времени. Как определить координаты по адресу — широту и долготу на карте, удобный поиск по координатам в Гугле (Google Maps). Карта мира с координатами (долготой и широтой) позволит найти любой адрес по уже известным параметрам, вычислить расстояние между двумя городами/точками в онлайн режиме

Читать еще:  Типы адресации ячеек

Заполните форму поиска Google Maps — ввести город, улица, номер дома. Наберите через пробел название любого географического объекта. Или самому переместить метку в нужное место, и осуществить поиск (нажать «Найти») по координатам объекта на карте Гугл. Подобный поиск уже применяли, когда искали в Краснодаре улицы и районы. Воспользуйтесь изменением масштаба схемы (искомый масштаб появится в третьем поле сверху), чтобы подробнее рассмотреть местоположение дома на улице.

Как вы могли заметить, при перемещении метки на схеме, изменяются географические параметры. Получаем своеобразную карту с широтами и долготами. Ранее мы уже занимались определением координат на карте Яндекс

Используя метод от обратного, каждый сможет по известным параметрам осуществить поиск по координатам в Гугле. Вместо географического названия объекта, заполняем форму поиска известными координатами. Сервис определит и покажет на карте точное географическое местоположение улицы, района.

Интересные места в Google Maps — онлайн тайны со спутника

Зная адрес любого города мира, легко определяется широта и долгота Вашингтона и Сантьяго, Пекина и Москвы. Схема г. Саратова с номерами домов и улиц доступна как гостям города, так и местным жителям. Уверены, вы уже смогли освоить данный инструмент на странице, по умолчанию на карте находится центр столицы России — город Москва. Нашли свою широту и долготу на карте по адресу.

Мы же предлагаем узнать тайны сервиса Maps Google онлайн. Спутник не пролетит мимо интересных исторических мест, каждое из которых популярно в определенной части земного шара.

Ниже вы сможете сами убедиться в том, что данные интересные места земли заслуживают особого внимания. И сервис Google Maps Спутник с удовольствием предлагает найти и увидеть самые известные географические тайны мира. Считаем, что жителям Самарской области будет также интересно. Как выглядит Автозаводский район Тольятти — они уже знают.

Вам не надо определять их географические координаты и искать нужные карты Гуглы сервиса. Достаточно скопировать любые параметры из списка ниже — широту и долготу (CTRL+C).

К примеру, будем смотреть со спутника (перейти на тип схемы «Спутник») крупнейший стадион мира и Бразилии — Маракана ( Рио-де-Жанейро, Maracana). Копируем широту и долготу из списка ниже:

вставляем в форму поиска сервиса Google Maps (CTRL+V). Остается запустить сам поиск объекта. На схеме появится метка с точным местоположением координат. Напоминаем, необходимо активировать тип схемы «Спутник». Каждый выберет удобный для себя масштаб +/- , чтобы лучше рассмотреть стадион в Бразилии

Сохранить в закладки в любом браузере — CTRL+D

Приглашаем поделиться списком со своими друзьями!

Благодарим за предоставленные данные сервис Google Maps

Get Started

New Users:

To use Google Maps Platform, you need a project with a billing account and at least one Google Maps Platform API or SDK enabled. Visit Get Started with Google Maps Platform for full instructions or click the button below for guided setup.

The Geocoding API is a service that provides geocoding and reverse geocoding of addresses.

This service is also available as part of the client-side Google Maps JavaScript API, or for server-side use with the Java Client, Python Client, Go Client and Node.js Client for Google Maps Services.

Geocoding is the process of converting addresses (like a street address) into geographic coordinates (like latitude and longitude), which you can use to place markers on a map, or position the map.

Reverse geocoding is the process of converting geographic coordinates into a human-readable address.

You can also use the Geocoding API to find the address for a given place ID.

Sample request and response

You access the Geocoding API through an HTTP interface. Following are examples of geocoding and reverse geocoding requests.

Geocoding request and response (latitude/longitude lookup)

The following example requests the latitude and longitude of «1600 Amphitheatre Parkway, Mountain View, CA», and specifies that the output must be in JSON format.

You can test this by entering the URL into your web browser (be sure to replace YOUR_API_KEY with your actual API key). The response includes the latitude and longitude of the address.

Below is a sample geocoding response, in JSON:

Reverse geocoding request and response (address lookup)

The following example requests the address corresponding to a given latitude/longitude in Brooklyn, NY, USA. It specifies that the output must be in JSON format.

You can test this by entering the URL into your web browser (be sure to replace ‘YOUR_API_KEY’ with your actual API key). The response includes a human-readable address for the latitude and longitude location.

Below is a sample reverse geocoding response, in JSON:

Start coding with our client libraries

Client libraries make developing with the Google Maps web service APIs easier by providing simple, native implementations of common tasks, such as authentication, request throttling and automatic retry. The Geocoding API is available in the Java Client, Python Client, Go Client and Node.js Client for Google Maps Services.

Authentication, quotas, pricing, and policies

Authentication

To use the Geocoding API, you must first enable the API and obtain the proper authentication credentials. For more information, see Get Started with Google Maps Platform.

Quotas and pricing

Review the usage and billing page for details on the quotas and pricing set for the Geocoding API.

Policies

Use of the Geocoding API must be in accordance with the API policies.

Learn more

There’s more you can do with the Geocoding API. See the Geocoding API developer guide for additional demos, examples, available parameters, status codes and error messages, and other details.

The Geocoding API developer guide describes the Geocoding API web service. It is intended for website and mobile developers who want to use geocoding data within maps provided by one of the Google Maps Platform APIs.

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Годовая
подписка
на
Хакер

Xakep #251. Укрепляем VeraCrypt

Читать еще:  Неправильный адрес электронной почты или пароль

Xakep #250. Погружение в AD

Xakep #248. Checkm8

Xakep #247. Мобильная антислежка

Геотаргетинг для программиста. Что интересного могут рассказать бесплатные геоинформационные API

Содержание статьи

Географические координаты — самая ценная инфа, которую веб-разработчик может получить от посетителей сайта. Имея смекалку и зная пару приемчиков, можно многое выяснить о человеке по его местоположению: адрес, какие заведения есть неподалеку, фотографии, сделанные в его районе, на что жалуются соседи и глубину ближайшей реки.

WARNING

INTRO

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

Юзкейс 1. «Я тебя вычислю по IP»

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

Юзкейс 2. Геомаркетинг

Яндекс.Директ уже давно применяет прицельный геотаргетинг для своих объявлений. Объявление «Сеть пиццерий в Москве» сознание игнорирует. А мимо ссылки «Пицца Рочдельская улица дом 14» (через дорогу от тебя) пройти практически невозможно.
Ты можешь использовать геоданные для продвижения товаров и услуг. Если человек в данный момент ощущает на себе действие пониженного атмосферного давления, то есть вероятность, что ему захочется купить таблетки для поднятия жизненного тонуса.

Юзкейс 3. Веселый функционал

Здесь огромный простор для творчества. Ставим на сайт «ночную» тему оформления после того, как у юзера заходит солнце. Показываем ему последние селфи девушек, сделанные в 10 км от него. По климату и глубине водоемов определяем, какая рыба водится в округе. Вариантов масса.

Юзкейс 4. «Научные» исследования аудитории

Результаты анонимного онлайн-опроса могут оказаться существенно полезнее, если в дополнение к ответам отмечать географическое положение респондентов.

Интересно? Тогда вперед.

Получение координат

GPS-данные можно получить с помощью JavaScript и HTML5 Geolocation API. Но учти: узнать точное местоположение пользователя можно только с его согласия. Он должен выразить его, ответив утвердительно на вопрос всплывающего окна, разрешить ли текущему сайту узнать его местоположение.

Пример кода на нативном JS:

Яндекс.Локатор

Если пользователь не хочет добровольно делиться GPS-инфой, то еще не все потеряно. Есть крутой инструмент Яндекс.Локатор. Средняя точность определения составляет 300 м. Он вычисляет, где находится человек, по следующей информации:

  • сигналам сети мобильной связи;
  • сигналам сетей доступа Wi-Fi;
  • IP-адресу мобильного устройства.

Внедряется в проект в разы сложнее, чем HTML5 Geolocation API. Перед отправкой запроса к Яндекс.Локатор API сайт или мобильное приложение должно получить access key и выяснить много подробностей о пользователе. Если посетитель сидит в инете через мобильную связь, то надо знать ID сотовой ячейки и силу сигнала, если через Wi-Fi — силу сигнала и MAC-адрес точки доступа.

За точными инструкциями отсылаем тебя к руководству разработчика.

Exif-данные фотографий

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

  • в PHP есть встроенная функция read_exif_data();
  • для Ruby есть библиотека exifr;
  • у Python есть Package ExifRead 2.0;
  • для С++ — easyexif.

База GeoIP

Можно попробовать найти IP-адрес пользователя в базе GeoIP, но это чистой воды хиромантия. Дорогая и устаревшая. По моему опыту, эта база полна неточностей и доверять ей нельзя. Да и процент использующих VPN довольно значителен.

Составляем досье

Получив в руки географические координаты, приступим к сбору информации. Для каждого пункта будем делать запрос с параметрами к одному из API и парсить возвращаемый XML/JSON-ответ.

Для начала узнаем адрес пользователя с точностью до улицы.

Узнаем адрес пользователя

Это можно сделать Яндекс.Геокодером (с ним можно работать без предварительной OAuth-авторизации).

Все просто. Запросу передается два параметра: широта (56.0000) и долгота (36.3630).

Сервер выдаст ответ в формате XML (см. скрин). Нас интересуют следующие поля:

  • AdressDetails->Country->AdressLine — текстовая строка с полным адресом пользователя;
  • AdressDetails->Country->СountryName — страна;
  • AdressDetails->AdministrativeArea->AdministrativeAreaName — регион;
  • AdressDetails->SubAdministrativeArea->SubAdministrativeAreaName — район;
  • AdressDetails->Locality->LocalityName — населенный пункт;
  • AdressDetails->ThoroughFare->ThoroughFareName — улица.

Адрес с номером дома Яндекс.Геокодер не раскрывает. Но если немного напрячь мозги и вспомнить школьную программу, то можно вычислить его. В одном градусе широты 111 км 111 м. С долготой все чуть-чуть сложнее. Ведь диаметр Земли варьируется в зависимости от широты. Поэтому долгота рассчитывается по следующей формуле (6371 — это радиус Земли):

Как эти знания помогут вычислить точный адрес пользователя? А вот как:

  1. Узнаем улицу с помощью Яндекс.Геокодера.
  2. Отправляем запрос на получение точных географических координат какого-нибудь дома на этой улице:
    http://geocode-maps.yandex.ru/1.x/?geocode=пермь, улица Яблочкова,2
  3. Считываем значение

из ответа сервера.

  • Зная длину градуса широты и долготы, рассчитываем расстояние от искомой точки до этого дома.
  • Открываем Яндекс.Карты и линейкой прикидываем, какой дом имеет географические координаты пользователя.
  • Всех юзеров таких способом не задетектишь, но некоторых особо нужных вполне. Главное — не ошибиться в расчетах.

    Google Street View

    Координаты можно найти на Google Maps и включить режим просмотра улиц. Забавно посмотреть на дом или офис человека, который нагло критикует в твоем блоге фотки свежего ремонта дачи.

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

    Теперь поищем фотографии, сделанные рядом с местом Х. Как это делается, разберем на примере ВКонтакте 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! Подробнее

    Ссылка на основную публикацию
    Adblock
    detector