【发布时间】:2013-09-29 17:20:25
【问题描述】:
我想通过路线方向创建一个多边形,如下所示:http://i.imgur.com/olGmuN6.png 所以我写了这个:
directionService.route(request, function(result, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsRenderer.setDirections(result);
var r = [];
var z = 0.5;
var bla = result.routes[0].overview_path;
for(var i=0 in result.routes[0].overview_path) {
r.push(new google.maps.LatLng(bla[i].lat()+z, bla[i].lng()-z));
}
bla.reverse();
for(var x=0 in bla) {
r.push(new google.maps.LatLng(bla[x].lat()-z, bla[x].lng()+z));
}
var prva = new google.maps.Polyline({
path: result.routes[0].overview_path,
strokeColor: "#00000",
strokeOpacity: 1.0,
strokeWeight: 2
});
prva.setMap(map);
druga = new google.maps.Polygon({
paths: r,
strokeColor: "#FF0000",
strokeOpacity: 0.8,
strokeWeight: 2,
fillColor: "#FF0000",
fillOpacity: 0.35
});
druga.setMap(map);
} else {
alert("Directions query failed: " + status);
}
});
但在某些情况下是好的,在某些情况下不是,所以我的代码产生了这个:
BAD case:
好的:
那么我如何解决这个问题以通过路线方向获得漂亮的多边形???有人有想法吗?
如何在我的代码中实现这一点:http://i.imm.io/1gMu5.png
还有其他方法可以创建我需要的东西吗...
【问题讨论】:
-
对不起,我不能发布图片,因为我没有 10 个声誉,所以你必须将链接复制到浏览器中......
-
dev.gentoo.org/~dberkholz/tutorials/cairo/siggraph.pdf - 如何实现这个算法...
标签: javascript jquery google-maps polygon