我使用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服务的限制?
答案 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的密钥限制部分中管理这些设置。记住要经常考虑这一点 - 这是至关重要的。
或者,使用JavaScript API在8限制域内有另一个选项。哪个使用旅行商问题(TSP)算法 - Google Maps TSP Solver on GitHub。我已经使用了100个航路点,它做得不错。