2014-04-02 16 views
12

yeni Google Maps şuna benzer URL'leri vardır:Yeni Google Haritalar'da veri özelliklerinin kodlaması nedir?

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

Açıkçası arama terimi "kahve" ve @37.0625,-95.677068,4z lat, Ing ve zum olduğu; ama veri nedir? Yani kodlama !3m1!4b1 nedir?

+4

Yeni google haritalarının url biçimiyle ilgili makaleye göz atın: http://moz.com/blog/new-google-maps-url-parameters – nemesv

+1

Bu bağlantı için teşekkürler! Bu konuya kesinlikle ışık tutuyor, ancak ti hala kodlama için ne olduğunu yanıtlamıyor. Arka planda gmaps şu şekilde yüzlerce istek gönderiyor: https://www.google.com/maps/vt/pb=!1m4 !1m3! 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 ve gerçekten ne anlama geldiğini bilmek isterim. –

cevap

19

Bu kodlamayı hiç görmedim, sanırım Google'ın mülkiyetinde bir şey var. Yapısı ile ilgili bazı ipuçları var. Aynı sözdizimi ile, "embed" tıkladım ve daha uzun url var:

<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> 

! karakter oldukça olasılıkla bir ayırıcı olduğunu. Daha iyi okunabilmesi için, bazı satır sonları:

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 

desen !<id><data type><value> gibi görünüyor.
Burada gördüğümüz veri türlerinden bazıları: s bir dize, b boole, i tamsayı, d çift, f float.

Şimdi bu bir tahmin, ancak bence m bir kapsayıcıdır ve !<id>m<X>'un ardından X parametreleri izler. benzer değerler gruplandırılmış Bu şekilde, kimlikleri her düzeyde benzersiz ve artan düzende şunlardır:

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

başka örnek, rastgele bir kafede tıkladıktan sonra. Bazı değerleri tanımlamaya çalıştım.

!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 

Yani bu biraz doğru ise, sizin örnek !3m1!4b1 bir mantıksal değerdir.

+1

İyi analiz! – rageit

+1

"Veri" özellik değerini "Array" olarak ayrıştırmak için cevabınıza dayalı temel bir Javascript Gist oluşturdum: https://gist.github.com/jeteon/e71fa21c1feb48fe4b5eeec045229a0c – jeteon

İlgili konular