我正在使用mapbox-gl版本0.46.0-beta.1(带有ReactJS)。
我已经使用GeoJSON源绘制了简单的填充层。
用于绘制填充的坐标是
坐标数据:
在特定的缩放级别,多边形将按预期方式呈现。
预期层:
但是在放大时,多边形会变形。
变形的填充层:
我正在使用的代码是:
`let paint = {
'fill-color': 'Some Color',
'fill-opacity': 0.4,
'fill-outline-color': 'Some Color'
}
let uniqueID = 'someuniqueID';
map.addLayer({
'id': uniqueID,
'type': 'fill',
'source': {
'type': 'geojson',
'data': {
'type': 'Feature',
'geometry': {
'type': 'Polygon',
'coordinates': [polyCoords]
}
}
},
'paint': paint
})`
答案 0 :(得分:0)
通过确保多边形中的第一个点也是最后一个点,我们能够解决相同的问题。对于此多边形,应添加点:
[28.6045067810482..., 77.3860210554725...]
答案 1 :(得分:0)
我也遇到了这个问题。对于mapbox的坐标边界框,仅具有4个坐标对来创建多边形确实会产生渲染伪像,就像上面一样。将坐标边界框设为多边形时,请确保输入第5条记录,该记录与您在coor [0]处的坐标相同,其中coor是您的坐标对数组。您只会在缩放时注意到奇怪的渲染和重新绘制,这实际上使它消失了。
例如:
var coors = [[+sw_lng, +sw_lat], [+sw_lng, +ne_lat], [+ne_lng, +ne_lat], [+ne_lng, +sw_lat]]; //makes a 4 pointed polygon
coors.push(coors[0]); //then continue