谷歌地图方向服务限制为10?

时间:2017-01-02 12:07:41

标签: javascript jquery api google-maps google-maps-api-3

我使用Google Maps Directions API计算当前用户位置的商店位置/距离。一切正常,但当我有超过10个商店时,API停止运行(限制在Google Maps Directions API上)。

我使用HTML5地理位置获取当前用户位置:

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

我使用Google地图指南服务计算:

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 Maps Directions服务的限制?

1 个答案:

答案 0 :(得分:1)

唯一的选择,如果您想使用JavaScript API,并增加购买premium plan的8个限制。您还可以使用HTTP Web服务免费获取25个航点(包括起点和终点)。请注意,请求必须附带密钥和密钥,并由服务器端处理。

使用自己的密钥,截至2016年6月22日,Google Maps API需要更新。要使用密钥,请将其作为查询参数传递

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

关于高级密钥,如果您有任何疑虑,可以通过使密钥仅在白名单域或HTTP引用上工作来保护密钥 。可以在Google Developers Console的密钥限制部分中管理这些设置。记住要经常考虑这一点 - 这是至关重要的。

key resctriction

或者,使用JavaScript API在8限制域内有另一个选项。哪个使用旅行商问题(TSP)算法 - Google Maps TSP Solver on GitHub。我已经使用了100个航路点,它做得不错。