Загрузите все плитки в Bounding Box, используя Cloudmade Ruby API
Кто-нибудь может привести пример загрузки всех плиток между, скажем, увеличением 10-18, внутри ограничительной рамки,
Я пытаюсь сделать это с помощью Ruby API, но мне кажется, что я не вижу в этом смысла, я вижу, как загрузить одну плитку, как создать ограничивающий прямоугольник, но не то, как использовать ограничивающий прямоугольник для загрузите все плитки внутри него, чтобы использовать автономные карты в моем приложении для iPhone. Спасибо!
2 ответа
Я конвертировал этот Perl-скрипт в Ruby, и он прекрасно работает!
Посмотрите на класс TileService. У него есть методы #get_xy_tile, #latlon2tilenums. Это все, что вам нужно. Преобразовать (lat1, lon1), (lat2, lon2) в (x1, y1), (x2, y2) с #latlon2tilenums. x(s) и y (s) являются целыми числами. Теперь вам нужно сделать простой цикл от min (x1, x2) до max (x1, x2), сделать то же самое для y (s) и все.
Если вы пишете эту функцию, вы можете отправить ее авторам API, т.е. мне;), и мы передадим ее в транк.