Как стать автором
Поиск
Написать публикацию
Обновить
6.7

Maps API *

API картографических сервисов

Сначала показывать
Порог рейтинга
Уровень сложности

Как найти себе место на земле и не попасть на счетчик Яндекса

Время на прочтение5 мин
Количество просмотров40K
… эта история началась давным-давно в далекой-далекой стране Краковия, чьи жители беспечно проживали свои жизни и не знали…

Но сам я местный, и сегодня расскажу вам страшную историю, о том, что мешало спать (лично мне) долгие годы. И это не налоги (с ними все нормально), это — геокодер Яндекс.Карт!
Геокодер — это один из HTTP-сервисов Яндекс.Карт, получающий в запросе текстовое представление адреса и возвращающий в ответе найденные на его основании объекты. Либо наоборот: получающий координаты и отвечающий адресом.

Именно геокодер подскажет, где на карте находится чудная страна Краковия. И именно он будет главным героем этой истории, завязка которой была описана совершенно в другой книге — в древнем фолианте Пользовательское соглашение API Яндекс.Карт. Легенда гласит, что существует ограничение на количество запросов к функции геокодирования. Максимально допустимо делать в сутки не более 25 000 запросов к HTTP и JS геокодеру в сутки. Или овсянка, сэр.

И буквально на днях это правило из обычных слов превратилось в угрозу работоспособности сайта. В клубе API Карт было опубликовано сообщение о массовых банах различных сервисов, превышающих лимиты.



Что делать? Для наглядности достанем из кустов рояль — 8 лет назад на Хабре засветился проект «еСоседи» — «Карта интересных мест». Все эти годы я продолжаю работать над ним.
Читать дальше →

Анимация фильтрации маркеров в Yandex Maps API

Время на прочтение3 мин
Количество просмотров12K
Последняя версия API Яндекс-Карт всем хороша. Но нет предела совершенству. Захотелось, чтобы фильтрация объектов на карте происходила через fade.
Давайте разберемся, возможно ли это.

Читать дальше →

Редактирование пространственных данных в Leaflet

Время на прочтение7 мин
Количество просмотров19K
Несмотря на развитие картографических веб-фреймворков, редактирование векторных географических данных всё ещё, по большей части, происходит в настольных приложениях, но пора бы уже переходить к редактированию в браузерах.

Для отрисовки веб-карт существует несколько открытых библиотек, например, OpenLayers и Leaflet. Довольно давно наш выбор пал на Leaflet и мы продолжаем его активно использовать при реализации проектов. Для редактирования геоданных хотелось бы использовать его же и, при этом, иметь возможность интегрироваться с существующими хранилищами пространственных данных.

Для достижения последней цели как правило используются ГИС-сервера (geoserver, mapserver), которые умеют публиковать большое количество разнообразных форматов данных по стандартам OGC. Так, WMS протокол прекрасно справляется с функцией визуализации готовой карты, но не предполагает функции редактирования, для которой резонно использовать WFS-протокол с возможностью изменения данных. Запросы к WMS возвращают уже отрисованные тайлы — картинки, а к WFS — сырую информацию, «исходный код» за этими тайлами. Leaflet поддерживает модули расширения, соответственно, можно поискать готовый компонент, либо написать свой. Т.к. поиск готовых модулей для Leaflet удовлетворяющих результатов не дал, мы приступили к собственной реализации.

По статистике запросов на leaflet.uservoice.com понятно, что данный модуль интересен не только нам.
Приступим к реализации

Установка OpenStreetMap Nominatim для нахождения широты и долготы по введенному адресу

Время на прочтение6 мин
Количество просмотров62K
image

Хотел бы поведать свою историю об установке геокодера Nominatim на выделенный сервер. Изначально предполагалось, что эта задача займёт у меня около 5-7 часов, но не тут то было… Поэтому было решено написать статью c описанием разворачивания Nominatim на сервер до полной работоспособности сайта. Но обо всём по порядку.
Читать дальше

Как добавить карты Bing Maps в Windows-приложение на HTML и JavaScript. Часть 2

Время на прочтение7 мин
Количество просмотров7.3K


И снова, здравствуйте!

Сегодня мы продолжаем знакомство с картами Bing Maps. В предыдущей статье мы разобрались с тем, как добавить карту в Windows приложение, а также посмотрели, как работать с метками на карте.

В этой части мы будем продолжать улучшать нашу карту и добавлять различные полезные функции, такие как определение GPS-координаты, построение маршрутов и отображение информации о дорожной ситуации.
Читать дальше →

Как добавить карты Bing Maps в Windows-приложение на HTML и JavaScript. Часть 1

Время на прочтение6 мин
Количество просмотров19K


Всем привет!

В этой статье мы научимся работать с Bing-картами в Windows-приложениях. В результате мы получим приложение на JavaScript с использованием Bing Maps SDK.

Помимо использования карты в приложении, мы рассмотрим дополнительные возможности SDK. Научимся изменять вид карты, добавлять метки и описания к ним.

Читать дальше →

ObjectManager в API Яндекс.Карт. Как быстро отрисовать 10 000 меток на карте и не затормозить всё вокруг

Время на прочтение10 мин
Количество просмотров112K
Перед разработчикам, которые используют API Яндекс.Карт, довольно часто встаёт задача отобразить много объектов на карте. Действительно много — порядка 10 000. Причем эта задача актуальна и для нас самих — попробуйте поискать аптеки на Яндексе. На первый взгляд кажется: «А в чем собственно проблема? Бери да показывай». Но пока не начнешь этим заниматься, не поймешь, что проблем на самом деле целый вагон.



Вопросы по большому количеству меток с завидной регулярностью поступают в наш клуб и техподдержку. Кто все эти люди? Кому может быть интересно показать на карте больше 10 меток? В этом посте я подробно рассмотрю весь вагон проблем и расскажу, как в API появились инструменты, помогающие разработчикам оптимально показать большое количество объектов на карте.
Читать дальше →

BlackHole.js с привязкой к картам leaflet.js

Время на прочтение12 мин
Количество просмотров23K
Приветствую вас, сообщество!

Хочу предложить вашему вниманию, все таки доведенную до определенной точки, свою библиотеку для визуализации данных blackHole.js использующую d3.js.
Данная библиотека позволяет создавать визуализации подобного плана:
картинки кликабельные
image или

Статья будет посвящена примеру использования blackHole.js совместно с leaflet.js и ей подобными типа mapbox.
Но так же будут рассмотрено использование: google maps, leaflet.heat.

Получится вот так =)

Поведение точки зависит от того где я находился по мнению google в определенный момент времени

Посмотрите, а как перемещались вы?...
Детали...

Недостающие карты: как проект расшифровки генома человека, только для городов

Время на прочтение7 мин
Количество просмотров18K
Огромное число поселений, наиболее уязвимых для катастроф и эпидемий, оставались белым пятном на карте мира… до сегодняшнего дня. Станьте частью беспрецедентного плана: нанести на карту самые далёкие уголки мира.

Отдел «Guardian Cities» примет у себя картовстречу проекта «Недостающие карты»: нарисуем карту африканского города. Присоединяйтесь: cities@theguardian.com

image
Карта Монровии (Либерия) до и после. Благодаря команде гуманитарной картопомощи (Humanitarian OpenStreetMap Team, HOT), в борьбе с вирусом Эбола городу поможет свободная электронная карта.

В 2010 году землетрясение ударило по Гаити. Сотни тысяч человек погибли. Но худшее ожидало впереди. Эпидемия холеры вырвалась из-под контроля. С Иваном Гейтоном (Ivan Gayton) из организации «Врачи без границ» (Médecins Sans Frontières, MSF) связалась медсестра из удаленной деревни, затерянной среди гаитянских лесов. «Помогите, пожалуйста,» — просила она, — «Нас настигла жуткая болезнь, с которой мы ещё не сталкивались».

Читать дальше →

Свои карты на leaflet.js

Время на прочтение2 мин
Количество просмотров47K
В городе Красноярске намечено проведение Универсиады в 2019 году, в связи с этим и не только администрация Красноярска проводит разработку генерального плана территориального развития города до 2033 года. Недавно чиновники выложили схемы генерального плана на сайте администрации города для общественного обсуждения. Но вот незадача: просмотр и анализ схем неудобен, потому что файлы имеют большие размеры и разрешение. Например, файл основной схемы имеет размер 43,34Мб и разрешение 19256x16019px. У меня компьютер тормозит при просмотре такой картинки.

Немного поскриптовав с коллегами, сделали вот такую интерактивную карту antirek.github.io/krskmap/main/index.html



Далее немного подробнее, как сделать свою карту на leaflet.js из картинки с большим разрешением.

Читать дальше →

Добро пожаловать в сообщество российских Map Maker’ов

Время на прочтение2 мин
Количество просмотров14K
Рады сообщить, что в России теперь работает Map Maker — онлайн-инструмент, который позволяет миллионам людей по всему миру вносить свой вклад в развитие и улучшение Google Карт. С его помощью можно добавлять малоизвестные маршруты или любимые места, наносить на карты дороги и обновлять уже существующие данные. Внесенные вами изменения после модерации появятся на Google Картах — как десктопных, так и мобильных, в сервисе Google Планета Земля, а также на других сайтах через API Google Карт.

Читать дальше →

2GIS API 2.0

Время на прочтение4 мин
Количество просмотров56K
Мы рассказали про новый 2ГИС почти всё. Точнее, почти обо всём, с чем сталкивается пользователь. Настало время рассказать о том, что у него “под капотом”. Угадали, речь об API 2ГИС.

Если вы пользовались новым 2ГИС с момента его появления, вы уже видели 2GIS API 2.0 в деле. Сегодня же он вышел из статуса беты и стал доступен всем желающим. Отдельно хотим поблагодарить тех, кто участвовал в тестировании: ребята, спасибо, вы помогли сделать продукт именно таким, каким он получился. То есть более, чем неплохим.

Если вам не терпится попробовать новый API, то посмотрите сюда. Те, кто любит не только смотреть, но и читать, загляните под кат.


Читать дальше →

Google Maps v2 для Android: Всплывающее окно с полноценной перерисовкой и поддержкой событий ввода

Время на прочтение6 мин
Количество просмотров17K
image

С объявлением библиотеки Google Maps v1 для Android устаревшей прекратилась и выдача ключей. Разработчикам была предложена новая версия — быстрее, выше, сильнее лучше, удобнее старой. Чего стоила попытка отобразить с ее использованием несколько точек на карте и несложное всплывающее окно с изображением, небольшим описанием и кнопкой – читайте под катом.
Читать дальше →

Ближайшие события

Простая публикация геоданных на собственной карте на базе 2ГИС

Время на прочтение4 мин
Количество просмотров28K
Недавно передо мной встала интересная задача — отображать на сайте карту, с различными объектами, причем этих объектов могут быть десятки и сотни, а управлять ими должен уметь любой менеджер ниже среднего звена.

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

Для реализации задумки была выбрана связка Google Docs и API картографического сервиса 2ГИС. Решение получилось действительно простым, в духе знаменитых «30 строк» :)
Читать дальше →

Момент истины

Время на прочтение1 мин
Количество просмотров8K
На таймере обратного отсчета осталось совсем чуть-чуть. Гости собрались и вот-вот уже всё случится. Если вы не поняли, о чем речь — она о пресс-конференции 2ГИС, которая состоится в центре Digital October через считанные минуты. На ней мы расскажем о прошлом, настоящем и будущем 2ГИС и покажем нечто, что, надеемся, сделает вашу жизнь еще удобнее.



Запасайтесь попкорном, откиньтесь на спинку кресла, как это предлагалось сделать при установке Windows 98, и наслаждайтесь просмотром.

Красивым городам — красивую карту

Время на прочтение2 мин
Количество просмотров19K
Один город в два месяца — примерно с такой скоростью появляются города на карте 2ГИС. Вот и сейчас мы хотим анонсировать ещё один. Но не самый обычный.

Этот город считается желанным местом не только для туристов, но и для тех, кто хочет перебраться туда «где лучше» (на самом деле, стоит присмотреться).
Город, который торт (на самом деле, нет).
Город, в котором мост отнял славу у Октябрьского моста в Новосибирске (на самом деле, странная история).
Город, в котором самое вкусное пиво (на самом деле, кому-то нравится немецкое).
Город, в котором по транспорту можно сверять часы (на самом деле, да).
Город, который… знаете, можно продолжать и дальше, но скорее всего, многие из вас уже догадались, что речь о Праге.


Читать дальше →

Что общего у стоматолога и бани?

Время на прочтение2 мин
Количество просмотров13K
Полным ходом идет осень — золотая пора (для шиномонтажек), а 2ГИС узнал новые подробности о тысячах компаний почти в паре сотен городов России. И хотя второе вовсе не следует из первого, нам очень хочется поделиться с вами этими самыми подробностями.


Читать дальше →

Google Maps API: схема проезда, анимация и стилизация

Время на прочтение4 мин
Количество просмотров78K
image
Многие из нас часто вставляют на свои сайты карты. Обычно, это карта на странице контактов с единственным маркером, которым отмечено место офиса. Но иногда у заказчика включается фантазия и начинается «творчество». В свое время я потратил много времени, чтобы разобраться в постоянно меняющемся Google Maps API и хочу поделиться с вами своими наработками для решения обычных проблем с картами, которые выходят за рамки одного маркера.

Все, что описано ниже, можно узнать внимательно читая документацию GMaps API. Предполагается, что читатель уже умеет внедрять карту, подключать API и ставить маркер. Статья не претендует на полноту изложения, но может быть полезна начинающим пользователям Google Maps API.
Читать дальше →

JavaScript API Яндекс.Карт — версия 2.1-beta — новый дизайн и новые возможности

Время на прочтение5 мин
Количество просмотров28K
Мы выпустили бета-версию API Яндекс.Карт 2.1. Главная ее особенность — полный редизайн интерфейса карты. Причем изменения затронули не только внешний вид, но и поведение элементов управления картой. Поскольку изначально было понятно, что поломки обратной совместимости не избежать, мы также внесли архитектурные изменения, которые были необходимы для улучшения работы API (о них ближе к концу поста).
image
Что касается дизайна, нам было важно, чтобы интерфейс одинаково хорошо выглядел на устройствах и экранах разных размеров. Одна из основных сложностей заключается в том, что мы никогда не знаем заранее, как будет выглядеть сервис или сайт со встроенными картами. Поэтому при разработке редизайна нам нужно было постараться предусмотреть максимум вариантов.

Для решения наших задач мы решили в новой версии реализовать адаптивный дизайн интерфейса. На Yet another Conference дизайнер madhare и разработчик zloylos выступили с докладом о том, зачем нам понадобилась адаптивность и как именно мы ее реализовали в API. В этом посте я опишу предысторию и концепцию наших решений, расскажу о том, что еще нового появилось в версии 2.1-beta, а также о том, что еще изменится к релизу 2.1.
Читать дальше →

Быстрые треки на google maps

Время на прочтение11 мин
Количество просмотров32K
Я работаю над визуализацией парапланерных соревнований — пишу плеер просмотра гонки для Airtribune.com. В процессе работы мне попадаются интересные и нестандартные задачи. Одна из них — задача быстрой отрисовки маркеров и треков на карте google maps.

Масштабы такие: есть ~200 трекеров в довольно ограниченной области (50x50км), каждый передает данные о своем положении раз в 10 секунд. Нужно их все отрисовать на карте и плавно перемещать при изменении координат. За каждым маркером должен отрисовываться трек. Картинка примерно следующая:



Скоро обнаружилось, что встроенные объекты — google.maps.Marker и google.maps.Polyline — для данной задачи работают слишком медленно. Была куча идей по оптимизации, и в результате получилось решение на canvas-е, которое работает со скоростью 40fps даже на тысяче маркеров. Впрочем, fps вы можете померить сами — я собрал тестовое приложение для сравнения 4-х движков, в котором на лету можно подключать разные фишки и смотреть на скорость работы.

Читать дальше →