当 flyToBounds 方法缩放多边形时多边形边缘冻结
when flyToBounds method zooming polygon polygonal edges freezing
我正在使用 flytobounds 方法加载带动画的多边形。
但是这里有个小问题
正如您在 gif 和 jsfiddle 示例中看到的那样,在缩放多边形时,多边形边缘会冻结,直到获得最佳缩放级别。
我该如何解决这个动画问题?
或者是否有任何替代方法来替换“flytobounds”方法。
İf gif 样本不清晰。
你可以在 jsfiddle 上检查这个错误。我相信 jsfiddle 样本清晰然后 gif。
https://jsfiddle.net/esjtfL0y/1/
var circle = L.circle([51.508, -0.11], {
color: 'red',
fillColor: '#f03',
fillOpacity: 0.5,
weight: 2,
radius: 500
}).addTo(map);
setTimeout(function(){
map.flyToBounds(circle.getBounds(), { 'duration': 7.5 })
}, 1000);
您可以监听 move
事件,然后在地图上触发 viewreset
以“重新加载”图层。
const reRenderFunction = ()=>{
map.fire('viewreset');
};
setTimeout(function(){
map.flyToBounds(circle.getBounds(), { 'duration': 7.5 })
map.on('move',reRenderFunction)
// remove the reload listener after 7.5 seconds
setTimeout(()=>{
map.off('move',reRenderFunction);
},7500);
}, 1000);
我正在使用 flytobounds 方法加载带动画的多边形。 但是这里有个小问题
正如您在 gif 和 jsfiddle 示例中看到的那样,在缩放多边形时,多边形边缘会冻结,直到获得最佳缩放级别。
我该如何解决这个动画问题? 或者是否有任何替代方法来替换“flytobounds”方法。
İf gif 样本不清晰。
你可以在 jsfiddle 上检查这个错误。我相信 jsfiddle 样本清晰然后 gif。 https://jsfiddle.net/esjtfL0y/1/
var circle = L.circle([51.508, -0.11], {
color: 'red',
fillColor: '#f03',
fillOpacity: 0.5,
weight: 2,
radius: 500
}).addTo(map);
setTimeout(function(){
map.flyToBounds(circle.getBounds(), { 'duration': 7.5 })
}, 1000);
您可以监听 move
事件,然后在地图上触发 viewreset
以“重新加载”图层。
const reRenderFunction = ()=>{
map.fire('viewreset');
};
setTimeout(function(){
map.flyToBounds(circle.getBounds(), { 'duration': 7.5 })
map.on('move',reRenderFunction)
// remove the reload listener after 7.5 seconds
setTimeout(()=>{
map.off('move',reRenderFunction);
},7500);
}, 1000);