Рассчитать градусы / минуты Размеры статической карты Google
Как определить ширину (в градусах и минутах) изображения Google Static Maps?
Например, если я запрашиваю статическую карту с центром -32 Lat 151 Long(Австралия Сидней) и значением увеличения 14, как я могу определить ширину возвращенного спутникового изображения?
http://maps.googleapis.com/maps/api/staticmap?center=-32,151&zoom=14&size=400x400&sensor=true
Какова будет реальная ширина и высота возвращаемого изображения?
Я знаю, что центр -32, 151 и уровень масштабирования 14. Может быть, zoom=14 представляет высоту 14000 метров? Если так, то я могу вычислить измерения реального мира, используя математику, но я не уверен, что это то, что означает "14".
Этот SO вопрос выглядел очень многообещающим, но, увы, ответов на них нет: несоответствие размеров статических карт Google
1 ответ
Если вас не интересуют измеренные расстояния [мили или км], а только сферические расстояния [градусы], расчет не составит труда.
При нулевом уровне масштабирования все 360° экватора укладывается в 256 пикселей. При увеличении 1 это 360÷2=180°. При увеличении 14 это 360 ÷ 214 = 0,021973° (приблизительно).
widthDeg = (elementWidthInPixels/256)*(360 / Math.pow(2,zoom))