Что такое "уровни" в кодировании / декодировании полилинии?

Что такое "уровни" в кодировке / декодировании полилиний и как они соотносятся с уровнями масштабирования карты в Google Maps API v3 или Android Maps API v2?

Единственное описание, которое я могу найти, из утилиты Interactive Polyline Encoder:

Полилинии в Картах Google формируются в виде набора пар широта / долгота. Кроме того, для каждой вершины (местоположения) в закодированной полилинии можно указать уровень, указывающий, что местоположение должно появиться на этом уровне и на любом более высоком уровне (т. Е. Любое уменьшение масштаба). Если местоположение не отображается на данном уровне, линия будет идти от последнего видимого местоположения к следующему видимому местоположению. Обратите внимание, что первое и последнее местоположения должны быть точками уровня 3, в противном случае полилиния не будет отображаться на всех уровнях.

Соответствует ли "Уровень 3" уровню масштабирования 3 в Google Maps API v3 или Android Maps API v2?

Вот как уровень масштабирования 3 выглядит в API Карт Google v3 (полилиния не отображается - это просто для иллюстрации того, как выглядит "уровень масштабирования = 3"):

Должна ли отображаться точка "Уровень 3", если мы уменьшаем масштаб еще на один шаг, чтобы увеличить Уровень 2?

Цитата:

Обратите внимание, что первое и последнее местоположения должны быть точками уровня 3, в противном случае полилиния не будет отображаться на всех уровнях.

... указывает на то, что точки уровня 3 должны отображаться на всех уровнях, включая уровни масштабирования 2, 1 и 0.

Мне интересно, если заявление:

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

... на самом деле должно быть:

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

"Уменьшение масштаба" кажется неправильным, потому что точки уровня 18 (очень увеличенные) будут отображаться на уровне 3 (очень уменьшенные).

"увеличение масштаба", как правило, имеет смысл (вы бы масштабировали точку 3-го уровня и при увеличении до уровня 18 - другими словами, вы добавляете детали по мере приближения к карте), однако это кажется противоречащим утверждению, что точки уровня 3 должны отображаться при более низких уровнях масштабирования 2, 1 и 0.

На Android в библиотеке android-maps-utils с открытым исходным кодом есть метод для декодирования полилиний, но он не обрабатывает уровни, поэтому я не могу сказать, есть ли доступное сопоставление с уровнями масштабирования API Карт Android v2.

Кто-нибудь может прояснить это?

2 ответа

Уровни являются устаревшей функцией. Они контролировали, были ли точки видны при определенных уровнях масштабирования. Они были важной особенностью Google Maps API v2, но вы должны игнорировать их сейчас; Google Maps API v3 делает это автоматически.

Уровень масштабирования определяет разрешение текущего вида.

уровень масштабирования

  • 0: охватить всю землю
  • 1: Мир
  • 5: Суша/континент
  • 10: Город
  • 15: Улицы
  • 20: Здания

«zoom=12» используется в приведенном ниже примере.

https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=12&size=400x400&key=YOUR_API_KEY&signature=YOUR_SIGNATURE

Другие вопросы по тегам