Клуб API Карт

Найдено на тему «Ограничения API»:
Настройки API-ключа: как привязать ключ к доменам или IP-адресам
Maps API
31 января 2020, 13:24

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

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

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

Владелец ключа может задать в настройках один или несколько доменов или разрешённые IP-адреса (это могут быть IPv4 или IPv6 адреса и подсети). Тогда запросы из всех других источников будут возвращать ошибку.

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

Если вы используете один ключ и в JS API, и в HTTP Геокодере, можно указать для него одновременно домены и IP-адреса/подсети. Они будут проверяться через ИЛИ — запрос должен либо прийти с разрешённого домена, либо с разрешённого IP-адреса. 

Как задать ограничения

Отредактировать настройки API-ключа можно в Кабинете разработчика. Выберите ключ и нажмите «Изменить». В открывшейся форме укажите нужные ограничения по одному значению в строке.

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

Подробнее в документации

Команда API Яндекс.Карт

1 комментарий
новости,Ограничения API,геокодер,поиск по организациям,API 2.1
Как можно получить баллы пробок?
contact@petersamokhin.com
3 июня 2017, 03:10

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

Так вот, как поступить? Мне необходимо получить баллы пробок в определенном городе в виде числа. Как я могу это сделать? Не запрещено ли парсить страницы и брать баллы пробок оттуда? Можно даже небесплатно, и указание, что данные взяты именно с Яндекс.Пробок тоже подойдет. Так делать нельзя?

3 комментария
яндекс пробки,пробки,Ограничения API
Ограничение на количество и/или частоту обращения к маршрутизатору
Роман В.
5 мая 2017, 22:51

Здравствуйте!

Имеется ли какое-либо ограничение на количество запросов к маршрутизатору, кроме 25000 в сутки для бесплатной версии js-API?

В моём проекте происходит построение большого количества маршрутов за раз, однако  больше 1147 маршрутов (год основания Москвы? ;)) ни разу не удавалось получить за  раз. При этом при повторном подключении маршруты снова строятся, но на каком-то моменте сервер перестает отвечать. Пробовал вводить таймауты и кликать руками — всё равно упираюсь в какой-то предел, 1147 или меньше.

Если убрать воду, то мой код выглядит следующимо бразом:

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

function init () {

	var targetCoords = [55.848527, 37.583103],

	myMap = new ymaps.Map('map', {
	    center: targetCoords,
	    zoom: 11
	}, {
	    searchControlResults: 1,
	    searchControlNoCentering: true
	}),

	currentRoute,
	sourceCoordsArr,
	targetPoint;

	routesArr = [];
	var sourceCoordsArrLength;
	myMap.events.add('click', onMapClick);

    function evalRoute(source, target){
    	var currentRoute = new ymaps.multiRouter.MultiRoute(
    	{
    		referencePoints: [source, target],
    		params: { routingMode: 'masstransit'},
    	});

    	currentRoute.events.add("activeroutechange", function (event) {
    		var routes = currentRoute.getRoutes();
    		for (var i = 0; i<routes.getLength(); i++){
				// some code
    		}

	    	routeArr.push(route);	
	    	console.log('' + getCurrentTime() + '\t' + routeArr.length+' ' + route);

	    	if(routeArr.length == sourceCoordsArrLength){
	    		// some code
	    	}
	    	else{
	    		evalRoute(sourceCoordsArr[sourceCoordsArrIndex++], targetCoords);
	    		console.log('' + getCurrentTime() + '\t' +sourceCoordsArrIndex+' waitig..');
	    	}
		});
    }

    function evalCoordinates(targetCoords){
 		// some code
 		return sourceCoordsArr;
    }

    function onMapClick (e) {
    	metricArr = [];
	    clearTargetPoint();
	    targetCoords = e.get('coords');
	    targetPoint = new ymaps.Placemark(targetCoords, { iconContent: '' }, { preset: 'islands#blueCircleIcon' });
	    myMap.geoObjects.add(targetPoint);

	    // Generate source coordinates
	    sourceCoordsArr = evalCoordinates(targetCoords);
	    sourceCoordsArrLength = sourceCoordsArr.length;
	    
	    str = '' + sourceCoordsArrLength + ' точек';

	    evalRoute(sourceCoordsArr[sourceCoordsArrIndex++], targetCoords);
	}
}
ymaps.ready(init);

6 комментариев
маршрутизатор,маршрутизация,Ограничения API
Можно ли ограничить область поиска не только прямоугольником?
artrol
29 октября 2016, 03:26

Например, вытаскиваю координаты отсюда 

https://nominatim.openstreetmap.org/search.php?q=%D0%9C%D0%BE%D1%81%D0%BA%D0%BE%D0%B2%D1%81%D0%BA%D0%B0%D1%8F+%D0%BE%D0%B1%D0%BB%D0%B0%D1%81%D1%82%D1%8C%2C+%D0%94%D0%BC%D0%B8%D1%82%D1%80%D0%BE%D0%B2%D1%81%D0%BA%D0%B8%D0%B9+%D1%80%D0%B0%D0%B9%D0%BE%D0%BD&polygon=1

и ищу только внутри этой области.

5 комментариев
boundedBy,Ограничения API
Геокодирование. Панорамы. Суточные ограничения.
mosclimattorg.ru
22 сентября 2016, 09:44

Здравствуйте!

Прошу разъяснить архиважнейший, для моего будущего Интернет-проекта, вопрос подсчёта суточного ограничения в 25 000 запросов к API.

Геокодирование.

Какое действие пользователя сайта несёт за собой запрос к функции геокодирования?

  1. Поиск по адресу на карте с автоматическим вызовом у найденного адреса баббла.
  2. Клик по зданию на карте (создание баббла без занесения его в БД сайта).
  3. Клик по зданию на карте (создание баббла с занесением его в БД сайта).
  4. Просмотр уже созданных, и занесённых в БД сайта бабблов.
  5. Поиск своего геоположения на карте (при загрузке сайта).

На примере сайта CIAN (на карте которого тысячи бабблов) объясните пожалуйста, при каком действии посетителя сайта идёт запрос к функции геокодирования и какое кол-во запросов может генерировать один пользователь сайта, просто просмотривая его?

Панорамы.

Пример: на моём сайте на каждой странице используется Панорама

- выведенное изображение определённого адреса (с привязкой к геопозиции).

  1. При просмотре 1 посетителем 1 панорамы на 1 странице происходит 5 запросов?
  2. Если тот же самый посетитель обновит ту же саму страницу произойдёт ещё 5 запросов?
  3. Если тот же самый посетитель просмотрит другую страницу с другой панорамой произойдёт ещё 5 запросов?
  4. Каким то образом можно "кешировать" Панорамы на стороне сайта?

Заранее благодарю за ответы!

2 комментария
Ограничения API