2010-12-15 3 views
0

Когда маркер щелкнут и если он не находится в текущей видимой области, я хочу что-то сделать.Проверка наличия маркера в текущей видимой области

Я пытаюсь с этим, но он делает это неправильно, потому что он рассматривает маркеры, которые я не вижу внутри области. Не могу понять, что здесь не так. Благодаря!

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

Мне не хватает чего-то здесь, как его можно щелкнуть, если он не отображается на карте? – 2010-12-20 17:53:17

ответ

3

На самом деле, для этой цели существует стандартная функция onScreen(); проверьте это here.

0

Думают, ваш marker.x и marker.y не широты и долготы, а координаты карты позиции маркера. Попробуйте уточнить x < 0 || y < 0 || x > mapWidth || y > mapHeight