iphone - получить плитки видимой части карты - PullRequest
0 голосов
/ 08 марта 2012

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

Мой партнер использует Android, и он использует этот алгоритм для перевода координат в плитки, по-видимому, Карты Google разделили мир на плитки, и мне нужны плитки, которые содержатся в картах, чтобы запросить информацию на моем сервере, которая связано с этими плитками.

Знаете ли вы, как это можно сделать для iOs?

Вот способ сделать это в Android (возможно, это поможет):

lat = mapView.getBounds()[1][0]/1E6;
lon = mapView.getBounds()[0][1]/1E6;
int xtile1 = (int)Math.floor( (lon + 180) / 360 * (1<<zoom) ) ;
int ytile1 = (int)Math.floor( (1 - Math.log(Math.tan(Math.toRadians(lat)) + 1 / Math.cos(Math.toRadians(lat))) / Math.PI) / 2 * (1<<zoom) ) ;
lon = mapView.getBounds()[1][1]/1E6;
int xtile2 = (int)Math.floor( (lon + 180) / 360 * (1<<zoom) ) ;             
lat = mapView.getBounds()[0][0]/1E6;
int ytile2 = (int)Math.floor( (1 - Math.log(Math.tan(Math.toRadians(lat)) + 1 / Math.cos(Math.toRadians(lat))) / Math.PI) / 2 * (1<<zoom) ) ;

Первая проблема, масштабирование в Android и iOs не одно и то же, поэтому я получу разные данные, даже если я показываю один и тот же фрагмент карты.

Мне нужен способ обойти это. Или другой способ получить плитки в iOS

Спасибо.

1 Ответ

0 голосов
/ 30 марта 2012

В этом примере вы увидите, как это делается. Очень хорошо сделанный подход https://github.com/mtigas/iOS-MapLayerDemo

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