如何计算边界

时间:2017-02-23 15:08:44

标签: react-leaflet

我正在尝试使用React-leaflet但无法使boundsOptions工作。这显然是因为它们只有在我们预先计算边界时才有效。

如何在给定特定点和缩放级别或半径的情况下计算边界?

const position = [40.706213526877455, -74.0044641494751];
const zoom = 13;

return (<Map ref="leaflet" center={ position } boundsOptions={ { paddingBottomRight: [100, 100] } zoom={ zoom } } />)

2 个答案:

答案 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()