Несоответствие размеров статических карт Google

Я использовал код, показанный в ответе на этот вопрос:

Google Maps V3 - Как рассчитать уровень масштабирования для заданных границ

но я не могу заставить мои статические карты выстроиться правильно.

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

http://maps.googleapis.com/maps/api/staticmap?center=30.42997,-91.179745&zoom=11&size=500x600&scale=1&format=png32&maptype=roadmap&sensor=false

Из SO поста ранее высота должна быть

size * 360 / 256 / 2^Zoom

поэтому мы подключаем...

600 * 360 / 256 / 2^11 = 0.41199

Это означает, что мы ожидаем, что максимальная широта изображения будет 30.42997 + (0.41199 / 2) = 30.63596, Но когда вы отображаете эту широту на Картах Google и приближаетесь к тому же уровню масштабирования, точка значительно выше, чем то, что получает наше изображение.

Любые идеи о том, как я могу рассчитать высоту изображения, которое Google отправляет обратно?

1 ответ

Есть 180 градусов по широте, а не 360, поэтому расчет высоты должен быть

height * 180 / 256 / 2^Zoom
Другие вопросы по тегам