0

对于我正在进行的一个项目,我需要用彩色覆盖物划分一些房屋块。

问题是我没有这些块的路径坐标,所以我必须生成它们。

我首先编写代码,通过鼠标点击构建路径,然后在它们的周边点击。然而,当我拉近时,我注意到我的路径很不稳定,或者在一次变焦时靠近道路,但在另一次变焦时却很远。

所以我接下来使用方向 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 - 或采用不同的路径生成方法。

任何帮助或指示将不胜感激,

多谢你们!

4

1 回答 1

0

经过一些研究,这似乎是 Maps API 的一个限制。使用方向 API 在道路上绘制路径。对此无能为力。:(

于 2013-08-12T07:16:45.240 回答