gpt4 book ai didi

javascript - 多条折线相互重叠 - 带来一个 "to the front"

转载 作者:行者123 更新时间:2023-11-30 05:36:47 24 4
gpt4 key购买 nike

有没有办法将 block 的多边形(及其折线)带到顶层?

我正在为城市中的街区绘制折线(以形成多边形)。每个 block 多边形都用白色折线勾勒出轮廓:

 block = new google.maps.Polygon({
paths: blockCoordinates,
strokeColor: '#ffffff',
strokeOpacity: 1.0,
strokeWeight: 2,
fillColor: '#ff0000',
fillOpacity: shadeValue
}); }

当我将鼠标悬停在一个 block 上时,我希望轮廓变成黑色。我目前有这段代码:

google.maps.event.addListener(flightPath, 'mouseout', function (event) {
this.setOptions({
strokeColor: '#ffffff'
});
});
google.maps.event.addListener(flightPath, 'mouseover', function (event) {
this.setOptions({
strokeColor: '#000000'
});
});

但是,它不适用于所有 block 。我认为这是因为(取决于 block 的绘制顺序),有时其他 block 的多段线在当前 block 多段线的“上方”。

enter image description here

如果我将白色折线的不透明度设置为 0(将黑色折线的不透明度设置为 1)。 它工作正常,但我当然看不到 block 之间漂亮的白线。

enter image description here

最佳答案

我对几条重叠的 Polylines 也有同样的问题。我解决这个问题的方法是用 zIndex 初始化 Polyline。对你来说它应该是这样的:

 block = new google.maps.Polygon({
paths: blockCoordinates,
strokeColor: '#ffffff',
strokeOpacity: 1.0,
strokeWeight: 2,
fillColor: '#ff0000',
fillOpacity: shadeValue,
zIndex: 1
}); }

现在您应该可以像这样使用 mouseovermouseout 事件更改 PolylineszIndex :

google.maps.event.addListener(flightPath, 'mouseout', function (event) {
this.setOptions({
strokeColor: '#ffffff',
zIndex: 1
});
});
google.maps.event.addListener(flightPath, 'mouseover', function (event) {
this.setOptions({
strokeColor: '#000000',
zIndex: 2
});
});

初始化不是绝对必要的,但如果不这样做,您可能会遇到意外行为。

关于javascript - 多条折线相互重叠 - 带来一个 "to the front",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23176333/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com