Leaflet 如何在仅给出1对[lat,lon]的传单中绘制矩形标记
我需要在传单地图上的一个点周围画一个矩形。这一点是一对[lat,lon]。我怎么能轻松做到这一点?我知道画圆很容易。但是如何绘制矩形呢?下面的代码计算出矩形的坐标,然后将其添加到地图中Leaflet 如何在仅给出1对[lat,lon]的传单中绘制矩形标记,leaflet,Leaflet,我需要在传单地图上的一个点周围画一个矩形。这一点是一对[lat,lon]。我怎么能轻松做到这一点?我知道画圆很容易。但是如何绘制矩形呢?下面的代码计算出矩形的坐标,然后将其添加到地图中 var latLng = L.latLng(your_coordinates); var currentPoint = map.latLngToContainerPoint(latLng); var width = 20; var height = 15; var xDif
var latLng = L.latLng(your_coordinates);
var currentPoint = map.latLngToContainerPoint(latLng);
var width = 20;
var height = 15;
var xDifference = width / 2;
var yDifference = height / 2;
var southWest = L.point((currentPoint.x - xDifference), (currentPoint.y - yDifference));
var northEast = L.point((currentPoint.x + xDifference), (currentPoint.y + yDifference));
var bounds = L.latLngBounds(map.containerPointToLatLng(southWest),map.containerPointToLatLng(northEast));
L.rectangle(bounds).addTo(map);
以米为单位指定半径更容易: 您可以通过以下方式实现: 1.-获得给定中心坐标和半径的边界:
let radiusMts = 5500;
let bounds = L.latLng(44.6730555555556, 6.9225).toBounds(radiusMts);
2.-将边界添加到目标:
L.rectangle(bounds).addTo(map);
另外,您可以为矩形设置颜色:
L.rectangle(bounds, {color: "#ff7800", weight: 1}).addTo(map);
换句话说,对象“边界”类似于一个矩形,因此您将拥有东北、西北、东南和东南坐标
更多信息:如何确定矩形的大小/纵横比?大小是合理的。到1520年可能是20岁到15岁什么?像素?米?20像素乘以15像素是否可以给出米的值?好的,问题解决了。谢谢但是如何更改填充和线条颜色?在
L.rectangle
的选项哈希中操作样式。这是第二个参数(在我的示例中未使用)