我想检查标记是在mapview上还是在地图外。 我正在放置地图的标记,无法检查它是否在currentView上。我试过下面的代码。 this.map.getBounds()包含(e.layer.getLatLng())。 但它让我回归真实。 map正在返回它的旧lat lng,即边界(我想是这样)
答案 0 :(得分:9)
map.getBounds().contains(myMarker.getLatLng())
map.getBounds()
:返回当前地图视图的LatLngBounds。
latLngBounds.contains()
:如果矩形包含给定点,则返回true
。
myMarker.getLatLng()
:返回标记的当前地理位置。
答案 1 :(得分:3)
我使用自定义功能:
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;
}