2013-07-21 3 views
0

У меня есть «карта», которая показывает POI, которые определяются долготой и широтой. Могу ли я каким-то образом выяснить эти два значения, где именно поставить точку, представляющую POI, относительно позиции пользователя? Я подумал о чем-то вроде этого:Отображение долготы и широты

Предположим, что позиция пользователя - долгота = 12.3456789 и широта = 98.7654321, а магазин будет чем-то вроде долготы = 12.2345678 и широты = 98.. (Мнимые значения) Можно ли сопоставить эти магазины с прямоугольной областью (подобно картам Google)?

Я использую iOS, поэтому, если у вас есть ссылки, было бы полезно, если бы они были ориентированы на C, JAVA и Obj-C тоже должны быть в порядке.

+0

Использование 'MKMapView'? Чем эти местоположения связаны с местоположением пользователя? Вы пытались добавить аннотации к карте? – Wain

+0

@Wain Я не пользуюсь официальной библиотекой или чем-то еще. Я просто хотел бы визуализировать эти точки в uiview в отношении местоположения пользователя. –

+0

Итак, вы хотите использовать математику для определения угла и расстояния между точками и показать эту информацию на виде? – Wain

ответ

1

Используйте это page, чтобы узнать о длинных вычислениях. Apple поможет с некоторыми вещами, например, если вы используете CLLocation, вы можете использовать метод distanceFromLocation.

Как только у вас есть расстояния и углы, вы, вероятно, захотите нормализовать расстояния до единичного круга, чтобы их легче было сопоставить в систему координат вашего вида. Затем вы можете добавить subviews для представления каждого местоположения и установить их позиции на основе нормализованного расстояния и угла от центра (который представляет пользователя), или вы можете реализовать drawRect и нарисовать линии/круги, чтобы показать позиции.

+0

О, я слышал о формуле Хаверсина! выглядит многообещающим! Я посмотрю, и завтра я отвечу. Большое спасибо, Wain –

+0

Хорошо, я не совсем уверен, что это правильно, но похоже, что это так. Для малых расстояний равноугольное приближение дает приемлемые результаты. Таким образом, я получаю вектор, и это позволяет мне нарисовать точку в соответствующем месте. Я дважды проверю это завтра, но ваша ссылка мне очень помогла! –

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