In che modo Google pubblica le sue mappe stilizzate?


14

Come tutti sappiamo, Google ha cambiato la mappatura web quando ha introdotto Google Maps. Al momento della stesura di questo, le mappe piastrellate sono ormai la norma con il web mapping.

Ad esempio, con ArcGIS Server, si memorizza nella cache il maggior numero possibile di livelli nei servizi di mappe memorizzati nella cache e, se necessario, si inserisce uno qualsiasi dei livelli operativi tramite servizi dinamici o di funzionalità.

Una volta che hai un servizio memorizzato nella cache, non c'è modo di modificare la cartografia senza dover creare nuovamente una nuova cache.

L'API di Google Maps v3 ti consente di dare uno stile alla mappa di base affiancata di Google. La procedura guidata per lo styling ti consente di armeggiare su quasi tutti gli aspetti di Google Map, in base alle tue esigenze.

Posso capire dal punto di vista dell'API, come è possibile inviare la richiesta di stile in un oggetto JSON.

Quello che voglio sapere è, come stanno facendo questo nel back-end? (Sarebbe bene includere un riferimento)

Se guardo la Styling Wizard con Firebug e apporto modifiche a qualsiasi cosa, vedo che vengono fatte nuove richieste GET per restituire le immagini PNG al client.

inserisci qui la descrizione dell'immagine

Ci sono quasi infinite varianti che potresti applicare, quindi non possono avere tutte le tessere precotte e pronte per essere servite. Pertanto, posso solo supporre che stiano creando queste tessere su richiesta?


1
La mia ipotesi è che tutti i diversi tipi di funzionalità ed etichette siano tessere PNG trasparenti precotte che vengono ricolorate e unite sul back-end per ogni richiesta.
blah238,

Buona teoria. Se questo è vero, allora ci sarebbero MOLTE piastrelle pre-cotte. Pensa a quante tessere ci sono comunque, quindi a volte solo per mostrare Sea in ogni colore HEX.
Simon,

2
No, intendevo dire che sarebbero stati ricolorati al volo. Molto più facile ricolorare un'immagine esistente che interrogare la geometria reale e renderne una nuova da zero. Ovviamente non ho idea di come funzioni davvero, come hai detto, è solo una teoria :)
blah238

1
Questa è una buona teoria blah238. Dovrebbero solo cambiare la tavolozza nel png anziché i dati raster effettivi.
Matthew Snape,

Risposte:


9

In altre implementazioni (come nella nostra implementazione ) questo viene fatto con la modifica della palette; puoi ricolorare rapidamente un'immagine PNG senza toccare i dati effettivi, se conosci la tavolozza originale completa.

Google non lo fa; probabilmente hanno un database basato su riquadri e riquadri di dati vettoriali rasterizzati al volo.


Grazie tmcw. Tuttavia, per una risposta corretta, sto cercando uno con prove a sostegno. Potrebbe essere che possiamo solo teorizzare come lo fanno.
Simon,

2
Buona fortuna a trovare prove a sostegno di eventuali dettagli non relativi all'infrastruttura di Google :). Detto questo, ciò che mi porta a questa conclusione (oltre ai sussurri di Googler) è la qualità anti-aliasing tra i colori e la capacità di rimuovere funzionalità a vari livelli, combinata con i rapidi cicli di re-render.
tmcw,

3

So che questo non è proprio quello che stai cercando, ma ho pensato che potresti trovarlo utile comunque. Hai visto questo esempio di Odoe che utilizza i filtri CSS sulle mappe? Potrebbe essere limitato al di fuori di Chrome

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

https://github.com/odoe/MapStyler


state giocando con quello per portare le antenne di Bing in scala di grigi. È un ottimo uso di CSS, ma le tessere si colorano ancora e poi cambiano in X dopo averle caricate. Può essere un po 'fonte di distrazione. Q correlata qui ma per API gmaps stackoverflow.com/questions/13564712/…
Simon

2

Ci sono due brevetti che ho trovato mentre mi ponevo questa domanda:

Rendering dinamico della mappa in funzione di un parametro utente US8103445

e

Rendering di texture basato sulla domanda in un sistema di rendering basato su piastrelle US20110254852

Non sono state trovate informazioni ufficiali su chi utilizza questi o schemi simili, ma immagino che i disegni del secondo documento siano piuttosto semplici da implementare e non vedo alcun motivo per cui non avrebbero dovuto implementare questo o qualcosa di ancora più efficiente in nel frattempo.


Brevetti interessanti. Non sono sicuro che gestiscano completamente lo stile, ma è una lettura interessante.
Devdatta Tengshe,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.