диапазон масштабирования API карты Google - PullRequest
50 голосов
/ 20 февраля 2012

Я использую Google Map API версии-3, я пытался с другим значением масштабирования, я случайно сделал для некоторых чисел, начиная с 1 до 100, карта получает увеличение для увеличения чисел, но некоторый уровень дает тот же результат, я имею в виду Я получаю одинаковый зум для 30 и 100.

Мне нравится знать, каков точный диапазон увеличения?

Ответы [ 4 ]

65 голосов
/ 20 февраля 2012

Основы Google Maps

Уровень увеличения - увеличение

0 - 19

0 самый низкий зум (весь мир)

19 Наибольший зум (отдельные здания, если доступны) Получить текущий уровень зума, используя mapObject.getZoom()

44 голосов
/ 05 сентября 2015

Доступные уровни масштабирования

Уровень масштабирования 0 - самый доступный уровень масштабирования с уменьшением, и каждый целочисленный шаг в уровне масштабирования вдвое уменьшает X и Y экстентов вида и удваивает линейное разрешение.

Карты Google были построены на системе листов размером 256x256 пикселей, где уровень масштабирования 0 был изображением всей земли размером 256x256 пикселей. Плитка 256x256 для уровня масштабирования 1 увеличивает область пикселей 128x128 от уровня масштабирования 0.

Как правильно заявлено bkaid, доступный диапазон масштабирования зависит от того, где вы смотрите, и от того, какую карту вы используете:

  • Дорожные карты - кажется, повсюду поднимаются до уровня 22 * ​​1010 *
  • Гибридные и спутниковые карты - максимально доступные уровни масштабирования зависят от местоположения. Вот некоторые примеры:
    • Отдаленные районы Антарктиды: 13
    • Пустыня Гоби: 17
    • Большая часть США и Европы: 21
    • Места "глубокого увеличения": 22-23 (см. ссылка bkaid )

Обратите внимание, что эти значения относятся к Google Static Maps API , который, кажется, дает еще один уровень масштабирования, чем Javascript API. Похоже, что дополнительный уровень масштабирования, доступный для Статических карт, является просто версией с максимальным разрешением изображения с максимальным разрешением из API Javascript.

Масштаб карты при различных уровнях масштабирования

В Картах Google используется проекция Меркатора, поэтому масштаб существенно зависит от широты. Формула для расчета правильной шкалы на основе широты:

meters_per_pixel = 156543.03392 * Math.cos(latLng.lat() * Math.PI / 180) / Math.pow(2, zoom)

Формула взята из Комментарий Криса Бродфута .

22 голосов
/ 17 ноября 2014

То, что вы ищете, это шкалы для каждого уровня масштабирования. Используйте это:

20 : 1128.497220
19 : 2256.994440
18 : 4513.988880
17 : 9027.977761
16 : 18055.955520
15 : 36111.911040
14 : 72223.822090
13 : 144447.644200
12 : 288895.288400
11 : 577790.576700
10 : 1155581.153000
9  : 2311162.307000
8  : 4622324.614000
7  : 9244649.227000
6  : 18489298.450000
5  : 36978596.910000
4  : 73957193.820000
3  : 147914387.600000
2  : 295828775.300000
1  : 591657550.500000
10 голосов
/ 22 мая 2013

Диапазон зависит от того, где вы смотрите.В некоторых местах уровень масштабирования составляет только 15 или около того, а в других местах - 23 (или больше). Вот несколько примеров из 23 уровней масштабирования.В Картах Google есть вызов API getMaxZoomAtLatLng, который вы можете сделать, чтобы получить максимальный уровень масштабирования.

...