OpenLayers2'de özel Google harita stili uygulanıyor mu?


10

Son zamanlarda Google Haritalar'a özel stiller ekleme potansiyelini gösteren bu ilginç makaleye rastladım . Tarz haritaların bazı örnekler görülebilir buraya ve sıfırdan kendi tasarlayabilirsiniz burada .

'Gri tonlama' temasını OpenLayers temel haritama uygulamak istiyorum: resim açıklamasını buraya girin

Google demosuna göre stil açıklaması bir şekilde şöyle görünür:

var styles = {
  'Greyscale': [
    {              
      featureType: 'all',
      rules: [
        {saturation: -100},
        {gamma: 0.50}
      ]
    }
  ]
}

OpenLayers'taki Google haritam şu anda şöyle görünüyor:

var gmap = new OpenLayers.Layer.Google("Google Streets",
    {
    'numZoomLevels': 20,
    'sphericalMercator': true}
);

Haritama gri tonlama temasını nasıl uygulayabilirim?


Kendi özel renklerinizi tanımlamak istiyorsanız Google Haritalar Colorizr googlemapscolorizr.stadtwerk.org size yardımcı olabilir.
radek



Ödülünü bırakmak istemiyor musun? :) Bence simo got it
Ragi Yaser Burhum

Aslında. Hala üç gün rekabet tho;]
radek

Yanıtlar:


20

Layer.mapObject öğesini kullanarak googlemap nesnesine doğrudan erişebileceğiniz anlaşılıyor .

Katmanı biçimlendirmek için gmap API'sına bakın: https://developers.google.com/maps/documentation/javascript/styling

Oluşturduğum küçük bir örnek sayfa: http://www.intermezzo-coop.eu/mapping/styled_gmap.html

Ayrıca googlemap sihirbazına da bakın: https://mapstyle.withgoogle.com/


Başardın mı Radek?
simo

@simo: 'layer.mapObject' tam olarak nasıl kullanılacağından emin değilim
radek

1
@radek; harita stilinizi tanımlamak için kendi JS'nizden bazılarını oluşturmanız gerekir; ikinci bağlantıda size çok iyi akış gösteren birkaç iyi örnek var.
DEWright

1
@radek: Test etmedim ama sanırım gmap katmanınızı bu şekilde oluşturuyorsunuz var glayer = new OpenLayers.Layer.Google (seçenekler) , sonra Gmap sözdizimini kullanarak stilinizi oluşturun ve son olarak glayer.mapObject.mapTypes kullanarak uygula .set ('hiphop', jayzMapType); yukarıdaki verilen örneğe bakınız. Yakında biraz zamanım olursa, yapmaya çalışacağım ve size bildireceğim
simo

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.