В настоящее время я работаю над приложением, которое запускает уведомление, когда кто-то находится в квадрате. Следующее определяет квадрат:
var zonebounds = [[30,35], [40,45]];
var zone = L.rectangle(zonebounds, {color: "#ff7800", weight: 1, oppacity: .5});
Я сделал следующее утверждение, чтобы проверить, находится ли кто-то внутри квадрата.
if (posY > zonebounds[0][0] && posY < zonebounds[1][0] && posX > zonebounds[0][1] && posX < zonebounds[1][1] && zoneTimer == 0) {
ons.notification.toast('Test', { timeout: 5000 });
zoneTimer = 1;
} else if (posY >! zonebounds[0][0] && posY <! zonebounds[1][0] && posX >! zonebounds[0][1] && posX <! zonebounds[1][1] && zoneTimer == 1) {
zoneTimer = 0;
}
Я думаю, >!
, к сожалению, не ведет себя как я бы этого хотел.
Я сделал переменную zoneTimer, чтобы уведомление не повторялось. Возможно, есть еще лучший способ сделать это.
Обновление
Я исправил это, используя комбинацию двух полученных ответов, вот окончательный результат:
if(zoneBoundslatLng.contains(latLng)){
if (inZone == 0) {
inZone = 1;
ons.notification.toast('Zone 1, klik voor informatie.', { timeout: 5000 });
}
} else {
inZone = 0;
}