Клуб API Карт

определить входит точка у bounds карты[РЕШЕНО]

iytin-ne
26 июля 2013, 17:35

Здравствуйте. Вроде задача не сложная но не могу найти ответ, как можно проверить ходит точка у видимую часть карты?

просто задача стоит в том что есть метка, она все время движется, и когда дойдет практически до края карты, хочу смещать карту.

8 комментариев
Подписаться на комментарии к посту

1. Получить область карты (метод getBounds)

2. Создать из нее геометрию типа Rectangle

3. Выставить ей карту и опции карты.

4. проверить точку методом contains.

 

Итого:

var bounds = myMap.getBounds(),      area = new ymaps.geometry.Rectangle(bounds);area.setMap(myMap);area.options.setParent(myMap.options);console.log(area.contains([_lat_, _long_]));

спасибо, такой замысел был, просто у меня это должно очень часто проверяться, при каждом смещении точки, не хочел использовать Rectangle,

но если нет проще варианта придется так. 

искал и надеялся что есть, что-то типа такого  myMap.getBounds().contains([])  =)

наверное нужно Rectangle зарание нарисовать, но еще слушать changebounds, и перерисовывать этот четырехугольник.

Да, можно создать один раз,

а при changebounds просто менять ему геометрию

area.setCoordinates(_новые координаты_);

спасибо, как всегда выручил)

ymaps.geoQuery(point).searchContaining(map);

Ух ты )))

надо переходить на геоквери

спасибо Марина, вот он, простой способ который я искал))) и да, нужно детальней посмотреть  на geoQuery))

какое мощное обновление я пропустил!!

круто!!!

молодцы!