2014-01-03 2 views
0

Я создаю приложение для Android. У меня есть маркер и круг вокруг этого маркера с радиусом.Получить местоположение маркера с текущего местоположения Android Google Map

Когда текущее местоположение пересекает радиус круга, отображается предупреждающее сообщение.

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

Буду признателен за вашу помощь в том, как достичь этого. и я надеюсь, что мой запрос ясен.

Большое спасибо,

Абдулла

ответ

2

Как никто не до сих пор не дал никакого ответа, я буду стараться и придумать предложение.

Я считаю, что вы могли бы упростить вопрос, думая о двух точках как о двухмерных точках в евклидовом пространстве (предполагая, что радиус вокруг маркера не очень велик).

Учитывая эти две точки, позвоните им x={xlat,ylng} и y={ylat,ylng}, x - текущее местоположение, а y - маркер.

Теперь вычислите delta_lat и delta_lng.

delta_lat=xlat-ylat 
delta_lng=xlng-ylng 

и вычислить угол между двумя точками с использованием дельта-значения

angleInDegrees = atan2(delta_lat, delta_lng) * 180/PI 

Угол calulation найден из: How to calculate the angle between a line and the horizontal axis?

Теперь, имея степень должна быть тривиальной, чтобы определить, является ли направление восток, запад, север или юг.

Смежные вопросы