Как получить api ключ яндекс карты
Перейти к содержимому

Как получить api ключ яндекс карты

  • автор:

Бесплатно ли использование API яндекс карт

Я подключил api Яндекс карт на сайт для отображения местоположения компании, карта только помогает найти компанию. Прочитал про трафик, про то, что ПО должно быть открытым и т.д. но все равно есть какое-то недоверие и страх, что придет счëт через пару лет на миллион. При получении ключа указывается телефон, остальное можно написать фейковое. Как Яндекс отслеживает нарушения, можно ли в них случайно попасть? Как разработчики поступают при надобности подключить карту на сайт? Цепляют на свой аккаунт или просят заказчика предоставить ключ?

  • веб-программирование
  • api
  • yandex-maps-api
  • яндекс-карта-api

Отслеживать
задан 8 окт 2021 в 22:22
68 13 13 бронзовых знаков

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

8 окт 2021 в 22:57
у яндекс-карт ограничения еще человеческие, у гугла всё еще хуже
8 окт 2021 в 23:11

Если будет превышение по показам — увидите карту с наложенным серым фоном и надписью про превышение. страх, что придет счëт через пару лет на миллион — Договор подписывали? Тогда идут лесом

8 окт 2021 в 23:40

Менеджер сказал, что до меня разработчики сами ключ получали (наверно, на фейковую почту делали и не парились), а я получение ключа слил на заказчика, уже стал сомневаться, но ваши ответы мне придали уверенности, спасибо большое!

9 окт 2021 в 11:19

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

При соблюдении условий можно получить ключ и использовать API Яндекс.Карт бесплатно неограниченное время.

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

Случайного «счёта на миллион» постфактум быть не может. Сервис оплачивается по типу prepaid — оплачиваете год использования — получаете оплаченный коммерческий ключ.

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

Как получить API-ключ Яндекс #3074

На открывшейся странице нажмите на кнопку «Подключить API».

216831661_8569_618d008943476.png

Шаг 2

Выберите пункт «JavaScript API и HTTP Геокодер» и нажмите «Продолжить».

216831661_8570_618d008968c8d.png

Шаг 3

В открывшемся окне укажите:

  • Свои контактные данные (ФИО, Email, телефон, Название компании).
  • В открытой или закрытой системе Вы планируете использовать API.
  • В платном или бесплатном проекте Вы планируете использовать API.
  • На карте или используя только геокодирование Вы планируете отображать данные.
  • Укажите ссылку на ваш сайт.
  • Кратко опишите, для чего вам необходим ключ (например, «для размещения карт с контактными данными» или «для указания координат пунктов самовывоза» и т.д.).
  • Количество запросов к геокодеру или маршрутизатору в сутки.
  • Если вы согласны с условиями пользовательского соглашения, отметьте соответствующую галочку.
  • Прочие поля заполните на свое усмотрение.

В конце нажмите «Продолжить».

216831661_8571_618d01b912386.png

Шаг 4

Вы попадете на страницу, где сможете скопировать созданный ключ.

216831661_8572_618d053817b68.png

  • Полученный ключ вы сможете указать в соответствующем разделе Системы Управления — это позволит корректно работать яндекс-картам на вашем сайте. Подробнее по ссылке.

Мы создаём веб-сайты для России и зарубежных рынков с 1997 года. Наша команда – более пятисот сотрудников в разных странах и городах.

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

Этот сайт был создан на платформе
CMS S3 от Megagroup.ru

Данный сайт защищен с помощью reCAPTCHA и соответствует
Политике конфиденциальности и Условиям использования Google.

Управление API-ключами Яндекс.Карт: добавление, ограничение использования, блокировка

Я застал то время, когда процесс создания Яндекс.Карты с использованием соответствующего API не подразумевал наличия персонального ключа доступа.

С некоторого же времени, политика Яндекса в отношении использования своего сервиса (Яндекс.Карт) изменилась, и теперь, чтобы сформировать карту, прежде всего необходимо получить персональный API-ключ.

Сделать это можно бесплатно (при соблюдении всех условий использования API Яндекс.Карт, подробнее с которыми можно ознакомиться в официальной справке) и как именно – рассмотрим в этом подробном посте.

Получаем первый бесплатный API-ключ для работы с Яндекс.Картами

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

1. Перейдите по этой ссылке (откроется в новом окне) и авторизуйтесь в кабинете разработчика.

2. Далее на открывшейся странице нажмите «Подключить API». Кнопка будет по центру. Справа вверху, если вы уже используете какой-то из сервисов Яндекса.

Управление API-ключами Яндекс.Карт: добавление, ограничение использования, блокировка

3. В открывшемся модальном окне в блоке «Карты» выберите «JavaScript API и HTTP Геокодер»

Управление API-ключами Яндекс.Карт: добавление, ограничение использования, блокировка

и нажмите «Подключить», где в следующем модальном окне заполните (и отправьте) форму со всеми обязательными полями (отмечены красной звёздочкой).

Если вы получаете бесплатный ключ (это мы и рассматриваем в данной статье), отмечаете в форме пункты: «В открытой» (для типа системы, в которой будет использоваться API), «В бесплатном» (для типа вашего проекта) и «Буду отображать данные на карте» (как будете использовать полученные данные).

После успешной отправки формы и появления нового окна с сообщением «API сервис подключён» жмёте на кнопку «Перейти к API».

Управление API-ключами Яндекс.Карт: добавление, ограничение использования, блокировка

Подключение сервиса завершено, и мы попадаем в его панель управления, где в блоке «Ключи API» уже доступен один действующий ключ, который вы можете использовать в своём проекте.

Управление API-ключами Яндекс.Карт: добавление, ограничение использования, блокировка

Ключи становятся активированными в течение 15 минут после их получения. Каких-либо дополнительных действий с вашей стороны при этом не требуется.

Помимо первого ключа здесь (на момент написания поста) вам доступно: удаление API-интерфейса и общая (по всем ключам) статистика по использованию API с возможностью её выгрузки (скачки) в XLS и CSV,

Управление API-ключами Яндекс.Карт: добавление, ограничение использования, блокировка

добавление (выпуск) новых ключей API, а также управление существующими.

Как использовать (куда вставлять), полученный API-ключ для Яндекс.Карт?

Ключ прописывается в адресе до JavaScript-файла, подключение которого выглядит примерно следующим образом:

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

Выпуск (добавление) дополнительных API-ключей для Яндекс.Карт

Если по какой-то из причин вам потребовался ещё один (или несколько) ключ для работы с картами, добавить новый вы можете в панели управления сервисом, в правом верхнем углу, нажатием на кнопку «Новый ключ».

Управление API-ключами Яндекс.Карт: добавление, ограничение использования, блокировка

В появившемся окне прописываете название ключа (необязательное действие) и жмёте «Добавить ключ»,

Управление API-ключами Яндекс.Карт: добавление, ограничение использования, блокировка

после чего тот появится в списке всех ключей в блоке «Ключи API».

Как ограничить использование API-ключа, полученного для работы с Яндекс.Картами на другом сайте?

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

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

Управление API-ключами Яндекс.Карт: добавление, ограничение использования, блокировка

Здесь нас интересуют два поля, это «Ограничение по IP-адресам» и «Ограничение по HTTP Referer» (домену). Заполняете необходимые (можно сразу оба) по примерам ниже их и сохраняете изменения нажатием на соответствующую кнопку (ОК).

Управление API-ключами Яндекс.Карт: добавление, ограничение использования, блокировка

Указанные ограничения начинают действовать через 15 минут после их добавления.

Как удалить API-ключ, полученный для работы с Яндекс.Картами?

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

Управление API-ключами Яндекс.Карт: добавление, ограничение использования, блокировка

По необходимости действие ключа можно восстановить, нажав на сменившуюся в том же месте кнопку «Разблокировать».

Управление API-ключами Яндекс.Карт: добавление, ограничение использования, блокировка

Это, пожалуй, всё, что я хотел бы вам сегодня рассказать.

Рекомендуем к просмотру

Как продлить (увеличить) время жизни базового (API Instagram Basic Display) ключа доступа (access_token) для API «Instagram»

API Яндекс.Карты – геокодирование и маршрутизация на JavaScript

Яндекс.Карты — замечательный, популярный инструмент, демонстрирующий отличные результаты геокодирования и построения маршрутов.

Но предположим, что перед пользователем стоит задача обработать большой список адресов/координат, а именно, посчитать расстояния между точками по автомобильным дорогам и определить координаты внушительного списка объектов. Тогда-то он и столкнется с отсутствием возможности пакетной обработки в пользовательском интерфейсе сервиса. Однако, Яндекс об этом позаботился, предоставив в условно-бесплатное пользование JavaScript API.

Разработчики на JavaScript API получают техническую поддержку, подробную документацию, инструментарий для тестирования кода в “песочнице” на сайте проекта https://yandex.ru/dev/maps/jsapi/

Итак, я попробую воспользоваться этим инструментом для решения задачи геокодирования и построения маршрутов. Мне понадобится учетная запись Яндекс и API ключ для сервиса “JavaScript API и HTTP Геокодер”, который можно создать в Кабинете разработчика https://developer.tech.yandex.ru. Не буду подробно останавливаться на этом моменте, в сети достаточно информации, чтобы самостоятельно разобраться.

JavaScript API работает только в браузере, поэтому для выполнения кода нужно разработать web-страничку. В моем случае я могу обойтись статичным html-файлом, т.е. читать исходные данные и записывать результат буду в html-элементы, т.е. для упрощения обойдусь без использования серверной части. Итак, запускаю текстовый редактор и создаю заготовку будущей web-страницы.

JavaScript API Yndex.Map

Тут будет два многострочных текстовых поля, первое для ввода исходных данных (data) и второе — для записи результата (target), и две кнопки для запуска процесса обработки и очистки поля с результатом.

Обратите внимание, в заголовке страницы в элементе script подключается так необходимый мне API от Яндекса, а в параметрах url атрибута src необходимо указать тот самый секретный api-ключ, полученный в кабинете разработчика.

После загрузки страницы, в глобальном контексте выполнения JavaScript станет доступен объект ymaps, через который я получаю доступ к API, в том числе и к необходимым мне функциям геокодирования и маршрутизации. Напишу две функции “router” и “geocoder”, которые, как не сложно догадаться, реализуют построение маршрута и выполняют геокодирование. Конечно же JavaScript API реализуют значительно больше картографических сервисов и даже получаемые тут данные о маршруте и местоположении являются далеко не полными. Полное описание используемых методов доступно по ссылке, указанной в начале этого материала. Но вернемся к поставленной задаче и разберемся сначала с функцией “router”:

function router(from, to)< return ymaps.route([from,to], ) .then(r => > ) .catch(e => >); >

В качестве аргументов она принимает пункты отправления и назначения, которыми могут быть как строками с адресом, так и массивами [широта, долгота]. Эти аргументы передаются в метод route объекта ymaps вместе с параметрами построения маршрута, в моем случае routingMode: “auto” – это указание строить именно автомобильный маршрут. Метод возвращает promise-объект, содержащий в том числе протяженность маршрута в метрах, который затем и возвращает функция.

Очередь функции “geocoder”:

function geocoder(place)< return ymaps.geocode(place, ).then( r => < let geo = r.geoObjects.toArray()[0]; let data = geo.properties.get('metaDataProperty').GeocoderMetaData; let point = geo.geometry.getCoordinates() let result = ; return result;> ).catch(e => >) >

Функция принимает адрес строкой или массив [широта, долгота]. Этот параметр передается в метод geocode объекта ymaps вместе с параметрами геокодирования, в моем случае results: 1 – указание вернуть только один, наиболее точный, результат. Функция вернет promise-объект, содержащий координаты, тип, наименование, точность геокодирования.

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

, то в консоль браузера будут записаны результат геокодирования объекта “Москва” и информация о протяженности автомобильного маршрута “Москва -> Санкт-Петербург”

Остается только реализовать построчную обработку содержимого элемента “data” и запись результата в элемент “target”. Ниже приводится итоговое содержимое html-файла, в котором это реализуется функцией “start_process”.

Страница в браузере с результатами обработки выглядит примерно следующим образом:

Верхнее текстовое поле для вставки исходных данных, в нижнее пишется полученный результат. Если в строке исходных данных встречается разделитель (разделителем между пунктом отправления и прибытия является “;”), то осуществляется расчет маршрута, в противном случае выполняется геокодирование сроки (в примере на картинке выше “Лондон”). Также регулярным выражением определяется, являются ли исходные данные географическими координатами (широта и долгота разделены запятой) или строкой адреса, при этом адреса и координаты можно комбинировать при построении маршрута.

Внимательному читателю наверняка сразу бросилась в глаза вот эта конструкция в листинге кода:

await new Promise(r => setTimeout(r, 50));

Тут я делаю короткую (50 мсек) паузу перед обработкой следующей строки, т.е. искусственно устанавливаю предел максимальной скорости обработки в 20 строк в секунду. Спросите, зачем? И тут настало время упомянуть о технических лимитах бесплатного использования JavaScript API от Яндекса. А их два, но они довольно «вкусные»:

— Суточное ограничение – до 25000 запросов к API (каждый вызов метода geocode или route считается за 1). Информация о расходовании суточного лимита доступна в Кабинете разработчика.

— Кол-во запросов в секунду – не более 50

Т.е. пауза между вызовами API нужна, чтобы не превысить «скоростной лимит», установленный Яндексом.

На этом, пожалуй, всё, “за кадром” осталась css-таблица стилей, а также разработка backend на Node.js, но это — уже совсем другая история.

Добавить комментарий

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