Почему дистанцию нельзя динамически увеличивать, я уже объяснял ранее. Для того чтобы ввести динамическое уменьшение дистанции, надо чтобы дистанция оповещения всех точек в базе была указана для максимальной возможной скорости в конкретном месте.
Мое предложение было не использовать дистанцию предупреждения из базы вообще!
Динамическая дистанция предупреждения (визуального и голосового) =
длина зоны контроля (зависит только от
типа точки) + расстояние, которое я проеду, если начну тормозить со своей
текущей скорости с комфортным
замедлением (настраиваемым под себя) до момента, когда скорость станет равна
разрешенной+допустимое
превышение.
Результат: если в момент предупреждения я начинаю замедляться (сбросил газ или начал тормозить - кому как нравится), то к моменту въезда в зону контроля моя скорость будет равна желаемой, при этом
не зависимо от моей начальной скорости. Таким образом, предупреждение будет звучать точно в тот момент, когда надо начинать замедляться - не раньше и не позже!
Про зуммер - это моё второе предложение - чтобы он зависел не от скорости, а от текущего замедления, и звучал, только если текущего
замедления не достаточно для въезда в зону контроля с желаемой скоростью.