Преобразование координат плитки в пиксели в географические координаты - PullRequest
0 голосов
/ 03 января 2012

В сети много похожих вопросов, но ни один из них не касается iOS.

Если у вас есть 16 тайлов (0,0), (0,1), (0,2), (1,0), (1,1) и т. Д. При уровне масштабирования 2 (4 ^ N) и 2 для плиток, которые меня интересуют в Соединенных Штатах, координаты плиток (0,1) и (1,1) являются стандартными 256X256 png. Эти 2 плитки представляют изображения осадков.

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

Это отличная ссылка , которая научила меня немного, но я все еще теряюсь в координатной части. Чтобы получить пиксельное представление фрагмента карты ex (1,1), я бы умножил и x, и y на 256?

Я чувствую, что смогу сделать это, если смогу просто определить координаты карты тайла в пикселях в широте / долготе.

Может быть, кто-то может направить меня в правильном направлении.

Ответы [ 2 ]

1 голос
/ 03 января 2012

Если я не понимаю, я должен спросить, почему вы делаете этот расчет вручную. Существует четыре метода MKMapView для преобразования из пикселей в координаты и обратно. Первые два связаны с точками:

- (CGPoint)convertCoordinate:(CLLocationCoordinate2D)coordinate toPointToView:(UIView *)view
- (CLLocationCoordinate2D)convertPoint:(CGPoint)point toCoordinateFromView:(UIView *)view

Кроме того, вы можете конвертировать ректы туда и обратно:

- (CGRect)convertRegion:(MKCoordinateRegion)region toRectToView:(UIView *)view
- (CGRect)convertRegion:(MKCoordinateRegion)region toRectToView:(UIView *)view

Все это можно найти в справочнике MKMapView, здесь .

0 голосов
/ 03 января 2012

Ну, возможно, я ответил на один из моих вопросов, хотя я не получил результаты, которые я думал. Используя

CGPoint touchPoint = [gestureRecognizer locationInView:self.mapView];
NSLog(@"Touch point is %f %f", touchPoint.x, touchPoint.y);

Я могу коснуться точек вокруг карты и вернуть CGPoints в отчете журнала. В документации говорится, что точка (0,0) всегда будет в северо-западном углу в соответствии с this

Фактические значения, которые я получаю, хотя (1.00000, 2.00000) (в углу NW). Но опять же, в документации сказано, что при уровне масштабирования 0 карта будет состоять из одной большой плитки, а затем экспоненциально возрастет относительно уровня масштабирования. Я чувствую, что я все ближе к решению.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...