Google Stil Haritalarını nasıl sunuyor?


14

Hepimizin bildiği gibi Google, Google Haritalar'ı tanıttıklarında web eşlemesini değiştirdi. Bunu yazarken, kiremitli haritalar artık web haritalama ile norm haline gelmiştir.

Örneğin, ArcGIS Server ile, katmanlarınızın çoğunu önbelleğe alınmış harita hizmetlerine önbelleğe alırsınız ve gerekirse dinamik veya özellik hizmetleri aracılığıyla operasyonel katmanlarınızdan herhangi birini çekersiniz.

Önbelleğe alınmış bir hizmetiniz olduğunda, yeni bir önbellek oluşturmanıza gerek kalmadan haritacılıkta ince ayar yapmanın bir yolu yoktur.

V3 Google Maps API yapmanızı sağlar tarzı hakkında Çinili basemap. Stil sihirbazı size ihtiyaçlarınıza göre Google Haritasında neredeyse tüm yönlerini tamircilik sağlar.

Bir API bakış açısından, bir JSON nesnesinde stil isteğinizi nasıl gönderebileceğinizi anlayabiliyorum.

Bilmek istediğim şey, bunu arka uçta nasıl yapıyorlar? (Referans eklemek iyi olur)

Firebug ile Stil Sihirbazı'na bakar ve herhangi bir şeyde değişiklik yaparsam, PNG görüntülerini istemciye geri döndürmek için yeni GET isteklerinin yapıldığını görebilirim.

resim açıklamasını buraya girin

Uygulayabileceğiniz neredeyse sonsuz varyasyonlar vardır, bu nedenle tüm karoları önceden pişirilmiş ve servis vermeye hazır olamazlar. Bu nedenle, sadece bu karoları talep üzerine oluşturduklarını varsayabilir miyim?


1
Tahminimce tüm farklı özellik türleri ve etiketler, her istek için arka uçta yeniden renklendirilen ve birleştirilen önceden pişirilmiş şeffaf PNG fayanslarıdır.
blah238

İyi teori. Bu doğruysa, önceden pişirilmiş bir sürü LOT olurdu. Zaten kaç tane karo olduğunu düşünün, sonra her HEX renginde Deniz'i göstermek için zamanlar.
Simon

2
Hayır, demek istediğim, anında renklendirileceklerdi. Mevcut bir görüntüyü yeniden renklendirmek, gerçek geometriyi sorgulamak ve sıfırdan yeni bir görüntü oluşturmaktan çok daha kolaydır. Tabii ki gerçekten nasıl çalıştığını bilmiyorum, dediğin gibi, bu sadece bir teori :)
blah238

1
Bu iyi bir teori falan 238. Paletleri, gerçek raster verileri yerine yalnızca png'deki değiştirmeleri gerekir.
Matthew Snape

Yanıtlar:


9

(Bölgesi gibi başka uygulamalarda, bizim uygulama , bu palet modifikasyonu ile yapılır); Tam orijinal paleti biliyorsanız bir PNG görüntüsünü gerçek verilere dokunmadan hızlı bir şekilde yeniden renklendirebilirsiniz.

Google bunu yapmaz; muhtemelen bir karo tabanlı veritabanı ve anında rasterleştirilmiş vektör verilerinin döşemeleri vardır.


Teşekkürler tmcw. Ancak, doğru bir cevap için, kanıtları destekleyen bir tane arıyorum. Belki de nasıl yaptıklarını teorikleştirebiliriz.
Simon

2
Google'ın altyapısının PR olmayan ayrıntıları için destekleyici kanıt bulmakta iyi şanslar :) Bununla birlikte, beni bu sonuca götüren şey (Google çalışanlarından fısıltıların yanı sıra) renkler arasındaki kenar yumuşatma kalitesi ve hızlı yeniden oluşturma döngüleriyle birlikte çeşitli düzeylerde özellikleri kaldırma yeteneğidir.
tmcw

3

Bunun aradığınız şey olmadığını biliyorum, ama yine de yararlı bulabileceğinizi düşündüm. Bu örneği haritalarda css filtreleri kullanan Odoe tarafından gördünüz mü? Krom dışında sınırlandırılabilir

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

https://github.com/odoe/MapStyler


evet, gri tonlarında Bing antenlerini getirmek için bununla oynuyordum. Css'in harika kullanımı, ancak karolar hala renklidir ve yüklendikten sonra X'e geçer. Biraz dikkat dağıtıcı olabilir. Burada ilgili q ama gmaps API için stackoverflow.com/questions/13564712/…
Simon

2

Bu soruyu kendime sorurken bulduğum iki patent var:

US8103445 kullanıcı parametresinin bir fonksiyonu olarak dinamik harita oluşturma

ve

Kiremit tabanlı bir oluşturma sisteminde talep tabanlı doku oluşturma US20110254852

Bu veya benzeri şemaları kimin kullandığı hakkında herhangi bir resmi bilgi bulunamadı, ancak ikinci makalenin çizimlerinin uygulanması oldukça basit görünüyor ve bunu veya daha verimli bir şey uygulamamasının nedenini göremiyorum. bu arada.


İlginç patentler. Stilleri tamamen ele aldıklarından emin değilim, ama ilginç bir okuma.
Devdatta Tengshe
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.