2014-04-02 5 views
12

Il nuovo Google Maps hanno URL che assomigliano a questo:Qual è la codifica dell'attributo dei dati nella nuova versione di Google Maps?

https://www.google.com/maps/search/coffee/@37.0625,-95.677068,4z/data=!3m1!4b1 

Ovviamente il termine di ricerca è "caffè" e @37.0625,-95.677068,4z è il lat, lng e zoom; ma quali sono i dati? Cioè quale codifica è !3m1!4b1?

+4

Scopri l'articolo sul formato dell'URL delle nuove mappe di google: http://moz.com/blog/new-google-maps-url-parameters – nemesv

+1

Grazie per questo link! Sicuramente fa luce sul problema, ma ti continua a non rispondere a ciò che è questo per la codifica. In background gmaps sta inviando centinaia di richieste come questa: https://www.google.com/maps/vt/pb=!1m4!1m3!1i2!2i0!3i1!2m3!1e0!2sm!3i267096279!3m4! 2sen! 5e1105! 12m1! 1e47! 4E1! 5m4! 1E4! 8m2! 1E0! 1E1! 6m15! 1e3! 2i11! 16E1! 19m4! 1E1! 2E0! 4m1! 1E0! 20m4! 1E1! 2E3! 3M1! 1E0! 30m1! 1f1.1320754289627075! 7s! 20m1! 1b1 e mi piacerebbe davvero sapere cosa si suppone significhi. –

risposta

19

Non ho mai visto questa codifica, suppongo che sia qualcosa di proprietario di Google. Ci sono alcuni suggerimenti sulla struttura però. Ho cliccato su "embed" e ottenuto un URL più lungo, con la stessa sintassi:

<iframe src="https://www.google.com/maps/embed?pb=!1m12!1m8!1m3!1d26081603.294420473!2d-95.677068!3d37.0625!3m2!1i1024!2i768!4f13.1!2m1!1scoffee!5e0!3m2!1sde!2s!4v1404930797899" width="600" height="450" frameborder="0" style="border:0"></iframe> 

Il ! char è molto probabile un separatore. Per una migliore leggibilità, alcune interruzioni di riga:

https://www.google.com/maps/embed?pb= 
!1m12 
!1m8 
!1m3 
!1d26081603.294420473 
!2d-95.677068 
!3d37.0625 
!3m2 
!1i1024 
!2i768 
!4f13.1 
!2m1 
!1scoffee 
!5e0 
!3m2 
!1sde 
!2s 
!4v1404930797899 

Il modello sembra essere !<id><data type><value>.
Alcuni dei tipi di dati che vediamo qui: s è una stringa, è booleano, i è intero, d è doppio, f float.

Ora questa è solo un'ipotesi, ma penso che m sia un contenitore e che il modello sia !<id>m<X> seguito dai parametri X. In questo modo i valori sono raggruppati la classica, gli ID sono unici e in ordine crescente a ogni livello:

!1m12 
    !1m8 
    !1m3 
     !1d26081603.294420473 
     !2d-95.677068 
     !3d37.0625 
    !3m2 
     !1i1024 
     !2i768 
    !4f13.1 
    !2m1 
    !1scoffee 
    !5e0 
!3m2 
    !1sde 
    !2s 
!4v1404930797899 

Un altro esempio, dopo aver cliccato su un negozio di caffè casuale. Ho cercato di identificare alcuni dei valori.

!1m14 
    !1m8 
    !1m3 
     !1d3101.011519367493 // zoom level 
     !2d-94.59454913903049 // longitude 
     !3d38.99223345944582 // latitude 
    !3m2 
     !1i1024    // looks like some screen resolution, 
     !2i768     // but never changes 
    !4f13.1 
    !3m3 
    !1m2 
     !1s0x0%3A0xaf8a57446f312899 
     !2sOne+More+Cup  // business name that I clicked 
    !5e0 
!3m2 
    !1sde      // language (german) 
    !2s 
!4v1404933052643    // timestamp 

Quindi, se questo è un po 'a destra, il vostro esempio !3m1!4b1 è un valore booleano.

+1

Buona analisi! – rageit

+1

Ho creato un Gist Javascript base in base alla risposta per analizzare il valore dell'attributo "data" in un 'array: https://gist.github.com/jeteon/e71fa21c1feb48fe4b5eeec045229a0c – jeteon

Problemi correlati