Як Google обслуговує свої стильові карти?


14

Як ми всі знаємо, Google змінив веб-карти, коли представив Карти Google. На момент написання цього тексту кахельні карти зараз є нормою із веб-картою.

Наприклад, за допомогою сервера ArcGIS ви кешуєте якомога більше своїх шарів у кешованих службах карт, а потім, якщо необхідно, ви перетягуєте будь-який із своїх операційних шарів за допомогою або динамічних, або службових функцій.

Після того, як у вас є кешована послуга, немає ніякого способу налаштувати картографію без необхідності знову створювати новий кеш.

V3 Google Maps API дозволяє стиль Google Плитковий BaseMap. Майстер укладання дозволяє повозитися майже всі аспекти карти Google, щоб задовольнити ваші потреби.

Я можу зрозуміти з точки зору API, як можна надіслати запит стилю в об’єкт JSON.

Що я хочу знати, як вони роблять це ззаду? (Було б добре включити довідку)

Якщо я переглянув майстра стилізації з Firebug і вніс будь-які зміни, я можу побачити, що нові запити GET робляться для повернення зображень PNG до клієнта.

введіть тут опис зображення

Ви можете застосувати нескінченні варіанти, які ви можете застосувати, тому вони не можуть бути попередньо приготованими та готовими до подачі всі плитки. Тому я можу лише припустити, що вони створюють ці плитки на вимогу?


1
Думаю, що всі різні типи функцій та етикетки є попередньо приготовленими прозорими плитками PNG, які перефарбовуються та зливаються разом із зворотного боку для кожного запиту.
blah238

Гарна теорія. Якщо це правда, тоді було б багато попередньо приготовленої плитки. Подумайте, скільки плиток у будь-якому випадку є, а тоді, коли саме для показу моря в кожному кольорі HEX.
Саймон

2
Ні, я мав на увазі, що вони будуть перефарбовані на льоту. Набагато простіше відновити існуючий образ, ніж запитувати реальну геометрію та створювати нове з нуля. Звичайно, я поняття не маю, як це насправді працює, як ви сказали, це просто теорія :)
blah238

1
Це хороша теорія bla238. Їм потрібно буде лише змінити палітру в png, а не фактичні растрові дані.
Метью Снейп

Відповіді:


9

В інших реалізаціях (як і в нашій реалізації ) це робиться з модифікацією палітри; Ви можете швидко відновити зображення PNG, не торкаючись фактичних даних, якщо знаєте повну оригінальну палітру.

Google не робить цього; вони, ймовірно, мають базу даних на основі плиток та плитки векторних даних, які растеризовані на льоту.


Дякую tmcw. Однак для правильної відповіді я шукаю одного з підтверджуючими доказами. Цілком може бути, що ми можемо теоретизувати лише те, як вони це роблять.
Саймон

2
Вдало знайдете підтверджуючі докази щодо будь-яких не PR-реквізитів інфраструктури Google :). З цього приводу, що приводить мене до цього висновку (окрім шепотів від Googlers) - це якість згладжування кольорів та можливість видалення функцій на різних рівнях у поєднанні з циклами швидкого відтворення.
tmcw

3

Я знаю, що це не зовсім те, що ви шукаєте, але я подумав, що ви все одно зможете знайти його корисним. Ви бачили цей приклад від Odoe, який використовує фільтри css на картах? Може бути обмеженим поза хромом

http://www.odoe.net/apps/mapstyler/

https://github.com/odoe/MapStyler


Ви граєте з цим, щоб принести антени Bing у відтінках сірого. Його велике використання css, але плитки все ще з’являються кольором, а потім змінюються на X після завантаження. Може трохи відволікати. Пов'язані д тут , але для GMaps API stackoverflow.com/questions/13564712 / ...
Simon

2

Є два патенти, які я знайшов, задаючи це питання собі:

Динамічне відображення карти як функція користувальницького параметра US8103445

і

Відображення текстури на основі попиту в системі візуалізації на основі плитки US20110254852

Не вдалося знайти жодної офіційної інформації про те, хто використовує ці чи подібні схеми, але, мабуть , малюнки другого документу виглядають досить прямо вперед, і я не бачу причин, чому б не слід було реалізувати це чи щось ще ефективніше в тим часом.


Цікаві патенти. Я не впевнений, що вони повністю справляються зі стилізацією, але це цікаве читання.
Devdatta Tengshe
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.