我正在尝试使用React-leaflet但无法使boundsOptions工作。这显然是因为它们只有在我们预先计算边界时才有效。
如何在给定特定点和缩放级别或半径的情况下计算边界?
const position = [40.706213526877455, -74.0044641494751];
const zoom = 13;
return (<Map ref="leaflet" center={ position } boundsOptions={ { paddingBottomRight: [100, 100] } zoom={ zoom } } />)
答案 0 :(得分:1)
使用cheap-ruler
计算边界,即:
getBounds(center) {
const ruler = cheapRuler(center[0], 'meters');
const bbox = ruler.bufferPoint(center, 100000);
const p1 = Leaflet.latLng(bbox[0], bbox[1]);
const p2 = Leaflet.latLng(bbox[2], bbox[3]);
return Leaflet.latLngBounds(p1, p2);
}
答案 1 :(得分:1)
您可以使用getBounds()
this.refs.leaflet.leafletElement.getBounds()