有没有办法将块的多边形(及其折线)带到顶层?
我正在为城市中的街区绘制折线(以形成多边形)。每个块多边形都用白色折线标出:
block = new google.maps.Polygon({
paths: blockCoordinates,
strokeColor: '#ffffff',
strokeOpacity: 1.0,
strokeWeight: 2,
fillColor: '#ff0000',
fillOpacity: shadeValue
}); }
当我将鼠标悬停在一个区块上时,我希望轮廓变黑。我目前有这个代码:
google.maps.event.addListener(flightPath, 'mouseout', function (event) {
this.setOptions({
strokeColor: '#ffffff'
});
});
google.maps.event.addListener(flightPath, 'mouseover', function (event) {
this.setOptions({
strokeColor: '#000000'
});
});
然而,它并不适用于所有的块。我认为这是因为(取决于块的绘制顺序),有时其他块的折线在当前块折线的“上方”。
如果我将白色折线设置为不透明度为0(黑色设置为不透明度为1)。 它工作正常,但我当然不会在块之间找到漂亮的白线。
答案 0 :(得分:1)
我遇到了几个重叠Polylines
的问题。我解决这个问题的方法是使用Polyline
初始化zIndex
。对你而言应该看起来像:
block = new google.maps.Polygon({
paths: blockCoordinates,
strokeColor: '#ffffff',
strokeOpacity: 1.0,
strokeWeight: 2,
fillColor: '#ff0000',
fillOpacity: shadeValue,
zIndex: 1
}); }
现在,您应该可以使用zIndex
和Polylines
这样的事件来更改mouseover
的{{1}}:
mouseout
初始化并非严格必要,但如果不这样做,则可能会遇到意外行为。