对于我正在研究的项目,我需要用彩色覆盖物划分一些房屋。
问题是我没有这些块的路径坐标所以我必须生成它们。
我开始编写可以通过鼠标点击构建路径的代码,然后点击它们的周边。然而,当我放大一点时,我注意到我的路径在一个变焦处或者在另一个地方很远但在另一个地方很近但是在路上很近。
所以接下来我使用Directions API来生成如下路径:
var path = [],
poly,
service = new google.maps.DirectionsService(),
google.maps.event.addListener(map, 'click', function(evt) {
if (path.length == 0) {
path.push(evt.latLng);
poly = new google.maps.Polyline({ map: map });
poly.setPath(path);
} else {
service.route({
origin: path[path.length - 1],
destination: evt.latLng,
travelMode: google.maps.DirectionsTravelMode.DRIVING
}, function(result, status) {
if (status == google.maps.DirectionsStatus.OK) {
path = path.concat(result.routes[0].overview_path);
poly.setPath(path);
}
});
}
});
这非常适合创建与道路对接的路径。
然而,当我使用这些数据生成多边形时,多边形实际上位于街道顶部。
有没有办法阻止覆盖道路的叠加 - 通过设置叠加层或街道的zIndex - 或采用不同的路径生成方法。
非常感谢任何帮助或指示,
感谢GUYS!
答案 0 :(得分:0)
经过一些研究后,这似乎是Maps API的限制。使用Directions API可以在路上绘制路径。对此无能为力。 :(