iPhone dev - показывает два местоположения на карте
Теперь у меня есть координаты двух местоположений, скажем, местоположение A с широтой 40 и долготой -80, местоположение B с широтой 30 и долготой -70,
Я хочу создать mapView, чтобы я мог видеть оба местоположения с подходящим расстоянием просмотра.
Я получил новую координату, найдя среднюю точку (в этом примере {35, -75}), но вопрос в том,
Как я могу получить подходящее расстояние просмотра? В частности, как я могу вычислить CLLocationDistance (если я использую MKCoordinateRegionMakeWithDistance) или MKCoordinateSpan (если я использую MKCoordinateSpanMake).
Заранее спасибо.
1 ответ
Вот что я понял:
CLLocation *pointALocation = [[CLLocation alloc] initWithLatitude:middlePoint.latitude longitude:middlePoint.longitude];
CLLocation *pointBLocation = [[CLLocation alloc] initWithLatitude:pointB.latitude longitude:pointB.longitude];
CLLocationDistance d = [pointALocation distanceFromLocation:pointBLocation];
MKCoordinateRegion r = MKCoordinateRegionMakeWithDistance(middlePoint, 2*d, 2*d);
[mapView setRegion:r animated:YES];
CLLocationDistance d содержит расстояние (в метрах) между центром и второй точкой, которую вы хотите увидеть. Затем вы используете среднюю точку и два расстояния в метрах, чтобы установить область, которую вы хотите видеть на экране. Используя 2*d, я убедился, что на экране будет достаточно места для отображения второй точки.
Надеюсь, поможет.
- Анк