[英]Google Maps JavaScript API - Create Polygon from Polylines Snapped to Road
[英]Google Maps API - Polylines snap to road limit
我正在构建多条折线。 下面是其中两个的代码。 超过15条折线会紧贴道路,出现以下错误:“路线请求失败:OVER_QUERY_LIMIT”。
因此,我想找到一个解决方案。 其中之一就是将所有这些信息放入我的计算机的缓存中,因此,我从Google Maps获得的唯一东西就是地图。 那可能吗 ?
您知道其他解决方案吗?
//Circuit CHL1C1
CHL1C1 = [
new google.maps.LatLng(-22.91401,-68.192237),
new google.maps.LatLng(-23.226361,-67.064938)
];
var traceCHL1C1 = new google.maps.Polyline({
path: CHL1C1,
strokeColor: "red",
strokeOpacity: 1.0,
strokeWeight: 4
});
var serviceCHL1C1 = new google.maps.DirectionsService(),traceCHL1C1,snap_pathCHL1C1=[];
traceCHL1C1.setMap(map);
for(j=0;j<CHL1C1.length-1;j++){
serviceCHL1C1.route({origin: CHL1C1[j],destination: CHL1C1[j+1],travelMode: google.maps.DirectionsTravelMode.DRIVING},function(result, status) {
if(status == google.maps.DirectionsStatus.OK) {
snap_pathCHL1C1 = snap_pathCHL1C1.concat(result.routes[0].overview_path);
traceCHL1C1.setPath(snap_pathCHL1C1);
} else alert("Directions request failed: "+status);
});
}
//Circuit CHL1C2
CHL1C2 = [
new google.maps.LatLng(-22.898988,-68.198154),
new google.maps.LatLng(-22.337195,-68.016747),
new google.maps.LatLng(-22.443062,-68.899408)
];
var traceCHL1C2 = new google.maps.Polyline({
path: CHL1C2,
strokeColor: "green",
strokeOpacity: 1.0,
strokeWeight: 4
});
var serviceCHL1C2 = new google.maps.DirectionsService(),traceCHL1C2,snap_pathCHL1C2=[];
traceCHL1C2.setMap(map);
for(j=0;j<CHL1C2.length-1;j++){
serviceCHL1C2.route({origin: CHL1C2[j],destination: CHL1C2[j+1],travelMode: google.maps.DirectionsTravelMode.DRIVING},function(result, status) {
if(status == google.maps.DirectionsStatus.OK) {
snap_pathCHL1C2 = snap_pathCHL1C2.concat(result.routes[0].overview_path);
traceCHL1C2.setPath(snap_pathCHL1C2);
} else alert("Directions request failed: "+status);
});
}
如果我错了,请纠正我,但是免费API最多可以包含8个航路点。
免费API最多有8个航点。 但是,根据您要执行的操作,可以通过创建折线数组并为数组中的每个元素调用一次路线服务来解决此限制。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.