Клуб API Карт

Проверка, входит ли точка в видимую область карт

yektsucshschtsu
17 февраля 2016, 17:52

Добрый день! У меня есть на странице карты, на карте есть маркер. Пользователь может "двигать" карты при помощи перетаскивания. Мне нужно создать функцию, которая определяет, входит ли точка с координатами lat, lng в видимую область карты. Готового метода в API не нашел, попытался написать свой:

    var bounds = this.radarMap.getBounds();
    if (bounds[0][0] <= this.selectedTrackPoint.lat <=bounds[1][0]) {
      console.log('contains');
    }
    else {
      console.log('not contains');
    }

Хотя и сравниваем пока что только широту, код не работает корректно. radarMap создается вот так:

    this.radarMap = new ymaps.Map(this.mapElement[0], {
      center: [55.7522200, 37.6155600],
      zoom: 10,
      controls: []
    }, {
      autoFitToViewport: 'always',
      avoidFractionalZoom: false,
      suppressMapOpenBlock: true
    });

Подскажите, что я делаю не так? Заранее спасибо

6 комментариев
Подписаться на комментарии к посту
> Подскажите, что я делаю не так? Заранее спасибо

Вы плохо искали
https://tech.yandex.ru/maps/doc/jsapi/2.1/ref/reference/util.bounds-docpage/#containsPoint
dimik,
работает, спасибо =)
В Javascript так работать не будет
bounds[0][0] <= this.selectedTrackPoint.lat <=bounds[1][0]
dimik,
Почему не будет?
yektsucshschtsu,
Потому что такой синтаксис не поддерживается, проверьте сами
console.log(4 <= 2 <= 3) // true

http://stackoverflow.com/questions/16655959/multiple-comparison-operators-in-a-javascript-boolean-expression
dimik,
Точно. Спасибо!