Во-первых, найдите заголовок дороги, которую вы хотите проверить, то есть, сколько градусов к северу от нее, используя тригонометрию: найдите две определяющие точки широты для этого отрезка и назовите их point1 и point2: (в псевдокоде)
double roadDrctn = Math.Atan2(point2.y - point2.y, point2.x - point1.x)
затем определите ориентацию вашего автомобиля / GPS и посмотрите, будет ли это то же самое или что вы хотите с ним сделать. Не забудьте также проверить его на + 180 градусов (или Math.Pi, если он использует радианы), потому что вы можете идти по дороге в обе стороны! Мое единственное беспокойство по поводу этого метода заключается в том, что функции триггера довольно дороги с точки зрения производительности.
Надеюсь, что ответит на ваш вопрос.