Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在不覆盖道路的情况下在谷歌地图中划定住宅区_Javascript_Google Maps - Fatal编程技术网

Javascript 在不覆盖道路的情况下在谷歌地图中划定住宅区

Javascript 在不覆盖道路的情况下在谷歌地图中划定住宅区,javascript,google-maps,Javascript,Google Maps,对于我正在进行的一个项目,我需要用彩色的覆盖物来划分一些房屋街区 问题是我没有这些块的路径坐标,所以我必须生成它们 我开始编写代码,通过鼠标点击来构建路径,然后点击它们的周长。然而,当我放大时,我注意到我的路径在一次放大时摇摇晃晃或靠近道路,但在另一次放大时却很遥远 接下来,我使用directions API生成如下路径: var path = [], poly, service =

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

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

我开始编写代码,通过鼠标点击来构建路径,然后点击它们的周长。然而,当我放大时,我注意到我的路径在一次放大时摇摇晃晃或靠近道路,但在另一次放大时却很遥远

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

任何帮助或指导都将不胜感激


谢谢大家

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

可能是@Duncan\m的翻版,谢谢。是的,我认为这不容易解决