Что такое "уровни" в кодировании / декодировании полилинии?
Что такое "уровни" в кодировке / декодировании полилиний и как они соотносятся с уровнями масштабирования карты в 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» используется в приведенном ниже примере.