2017-01-02 2 views
-1

Я вычислил местоположение магазина/расстояние текущего местоположения пользователя с помощью API-интерфейсов Google Maps Directions. Все работает отлично, но когда у меня больше 10 магазинов, API перестает работать (ограничение на API карт Google Maps).Google Maps Directions Ограничение обслуживания 10?

я получить текущее местоположение пользователя с HTML5 Geolocation:

get_user_location = function(){  
    if(navigator.geolocation){ 
     navigator.geolocation.getCurrentPosition(add_stores_to_array); 
    } 
}; 

И рассчитать его с помощью службы Google Maps Directions:

var directionsService = new google.maps.DirectionsService(); 

var request = { 
    origin: user, 
    destination: store, 
    travelMode: google.maps.DirectionsTravelMode.DRIVING 
}; 

directionsService.route(request, function(response, status) { 
    if (status == google.maps.DirectionsStatus.OK) { 
     var response = Math.ceil(response.routes[0].legs[0].distance.value/1000); 

Как я могу избежать предела тока Google Служба маршрутных карт?

+2

Вы можете приобрести премиум-доступ, который позволяет до 25 остановок, включая источник и пункт назначения. Кроме того, вы можете использовать алгоритм TSP, который теоретически допускает неограниченные остановки. Я лично проверил его с более чем 100 остановками и делаю приличную работу. –

+0

Но я могу сделать 2500 запросов в день? У меня всего 30 магазинов? –

+0

Что вы пытаетесь сделать? Вы пытаетесь найти ближайший магазин в месте? Или маршрут для посещения всех магазинов из этого места? – geocodezip

ответ

1

Единственный вариант, если вы хотите использовать JavaScript API и увеличить предел 8 до покупки premium plan. Вы также можете использовать веб-службу HTTP, чтобы бесплатно получить 25 путевых точек (включая источник и пункт назначения). Обратите внимание, что запрос должен сопровождаться ключом и тайной, и обрабатываться на стороне сервера.

Чтобы использовать свой собственный ключ, который требуется к настоящему времени с 22 июня 2016 года, обновляется API Карт Google. Чтобы использовать ключ, передать его в качестве параметра запроса

<script src="https://maps.googleapis.com/maps/api/js?key={API_KEY}"></script> 

Что касается ключа премиума, если у вас есть какие-либо проблемы, ключ может быть защищен как заставить его работать только на доменах или белого списка HTTP реферерах. Этими настройками можно управлять из раздела Ограничение ключа в Google Developers Console. Не забывайте всегда учитывать это - это очень важно.

key resctriction

Кроме того, есть еще один вариант, в пределах 8 предельной области с помощью JavaScript API. Что использует алгоритм проблемы с продавцом (TSP) - Google Maps TSP Solver on GitHub. Я использовал это со 100 путевыми точками, и он выполняет достойную работу.

Смежные вопросы