检查标记是否在视图中(地图) - mapbox

Kal*_*hir 2 javascript leaflet mapbox

在此输入图像描述我想检查标记是在mapview上还是在地图外.我正在放置地图的标记,无法检查它是否在currentView上.我试过下面的代码.this.map.getBounds()包含(e.layer.getLatLng()).但它让我回归真实.map正在返回它的旧lat lng ie bounds(我想是这样的)

ghy*_*ybs 10

map.getBounds().contains(myMarker.getLatLng())

另请参阅:使用小叶在地图视点中的区域估计

  • 可以编辑这个答案,以便更清楚这是Leaflet吗?问题是Mapbox和我通过Google得到了问题,但发现mapbox没有#contains方法.希望能帮助未来的开发者提出这个问题. (3认同)
  • @BubbaRaskin在几个小时之内,规格在我身上被改变了,而且这个功能被扯掉了.乐趣.功能的要点是这个,得到你的盒子的NE和SW角点.添加90到所有的长度,180到所有长(所以一切都是积极的,使比较更容易).然后,检查新的点值是否落在新框值的范围内.很简单. (2认同)

Den*_*nis 7

我使用自定义函数:

function inBounds(point, bounds) {
  var lng = (point.lng - bounds._ne.lng) * (point.lng - bounds._sw.lng) < 0;
  var lat = (point.lat - bounds._ne.lat) * (point.lat - bounds._sw.lat) < 0;
  return lng && lat;
}
Run Code Online (Sandbox Code Playgroud)