检查标记是否在当前可见区域中

时间:2010-12-15 08:48:30

标签: javascript openlayers

点击标记时,如果它不在当前可见区域,我想做点什么。

我正在尝试这个,但它做错了因为它考虑了我在区域内看不到的标记。无法弄清楚这里有什么问题。谢谢!

var marker_is_visible = this.map.getExtent().containsLonLat (new OpenLayers.LonLat(marker.x, marker.y)) 
if (!marker_is_visible) {
     // Reset view
}

2 个答案:

答案 0 :(得分:3)

实际上,为此目的有一个标准函数onScreen();看看here

答案 1 :(得分:0)

请注意,您的marker.xmarker.y不是纬度和经度,而是标记的地图位置坐标。尝试检查x < 0 || y < 0 || x > mapWidth || y > mapHeight