Stil seçenekleriyle, standart Google harita stillerinin sunumunu özelleştirebilir, yollar, parklar, işletmeler ve diğer önemli yerler gibi özelliklerin görsel görünümünü değiştirebilirsiniz. Bu özelliklerin stilini değiştirmenin yanı sıra özellikleri tamamen gizleyebilirsiniz. Bu sayede, haritanın belirli bileşenlerini vurgulayabilir veya haritanın, bulunduğu sayfanın stilini tamamlamasını sağlayabilirsiniz.
Örnekler
Aşağıdaki JSON stil beyanı, tüm harita özelliklerini griye dönüştürür, ardından ana yol geometrisini maviye boyar ve çevre etiketlerini tamamen gizler:
[ { "featureType": "all", "stylers": [ { "color": "#C0C0C0" } ] },{ "featureType": "road.arterial", "elementType": "geometry", "stylers": [ { "color": "#CCFFFF" } ] },{ "featureType": "landscape", "elementType": "labels", "stylers": [ { "visibility": "off" } ] } ]
Map.setOptions() yöntemini çağırırken stil dizisini MapOptions.styles özelliğine iletin.
Bir uygulamada JSON stilinin nasıl kullanılacağını gösteren eksiksiz bir örnek için Stil Özellikli Harita Seçimi başlıklı makaleyi inceleyin.
JSON nesnesi
JSON stil beyanı aşağıdaki öğelerden oluşur:
- featureType (isteğe bağlı): Bu stil değişikliği için seçilecek özellikler. Özellikler; yollar, parklar, su kütleleri ve daha fazlası dahil olmak üzere haritadaki coğrafi özelliklerdir. Bir özellik belirtmezseniz tüm özellikler seçilir.
- elementType (isteğe bağlı): Belirtilen özelliğin seçilecek özelliği. Öğeler, etiketler ve geometri dahil olmak üzere bir özelliğin alt parçalarıdır. Bir öğe belirtmezseniz özelliğin tüm öğeleri seçilir.
- stylers: Seçilen özelliklere ve öğelere uygulanacak kurallar. Stil oluşturucular, özelliğin rengini, görünürlüğünü ve ağırlığını belirtir. Bir özelliğe bir veya daha fazla stil uygulayabilirsiniz.
Bir stil belirtmek için bir dizi featureType ve elementType seçiciyi ve stylers öğenizi bir stil dizisinde birleştirmeniz gerekir. Tek bir dizide özelliklerin herhangi bir kombinasyonunu hedefleyebilirsiniz. Ancak tek seferde uygulayabileceğiniz stil sayısı sınırlıdır. Stil diziniz maksimum karakter sayısını aşarsa hiçbir stil uygulanmaz.
Bu sayfanın geri kalanında özellikler, öğeler ve stil araçları hakkında daha fazla bilgi verilmektedir.
featureType
Aşağıdaki JSON snippet'i, haritadaki tüm yolları seçer:
{ "featureType": "road" }
Özellikler veya özellik türleri; yollar, parklar, su kütleleri, işletmeler ve daha fazlası dahil olmak üzere haritadaki coğrafi özelliklerdir.
Özellikler, kök olarak all ile bir kategori ağacı oluşturur. Bir özellik belirtmezseniz tüm özellikler seçilir.
all özelliğini belirtmek de aynı etkiye sahiptir.
Bazı özellikler, nokta gösterimi kullanarak belirttiğiniz alt özellikleri içerir. Örneğin, landscape.natural veya road.local. Yalnızca üst öğeyi (ör. road) belirtirseniz üst öğe için belirttiğiniz stiller, tüm alt öğelerine (ör. road.local ve road.highway) uygulanır.
Üst özelliklerin, tüm alt özelliklerinde bulunmayan bazı öğeler içerebileceğini unutmayın.
Aşağıdaki özellikler kullanılabilir:
all(varsayılan) tüm özellikleri seçer.administrativetüm bağlı olduğu yerleri seçer. Stil, coğrafi sınırları veya dolguyu değil, yalnızca bağlı olduğu yerlerin etiketlerini etkiler.administrative.country, ülkeleri seçer.administrative.land_parcel, arazi parsellerini seçer.administrative.locality, yerleşim yerlerini seçer.administrative.neighborhood, mahalleleri seçer.administrative.province, illeri seçer.
landscapetüm yatay resimleri seçer.landscape.man_made, binalar ve diğer yapılar gibi insan yapımı özellikleri seçer.landscape.natural; dağlar, nehirler, çöller ve buzullar gibi doğal özellikleri seçer.landscape.natural.landcover, Dünya yüzeyini kaplayan fiziksel malzeme olan arazi örtüsü özelliklerini (ör. ormanlar, çayırlar, sulak alanlar ve çıplak zemin) seçer.landscape.natural.terrain, bir kara yüzeyinin rakım, eğim ve yön gibi arazi özelliklerini seçer.
poitüm önemli yerleri seçer.poi.attraction, turistik yerleri seçer.poi.businessişletmeleri seçer.poi.government, devlet binalarını seçer.poi.medical; hastaneler, eczaneler, polis, doktorlar ve diğerleri dahil olmak üzere acil durum hizmetlerini seçer.poi.park, parkları seçiyor.poi.place_of_worship; kiliseler, tapınaklar, camiler ve diğerleri dahil olmak üzere ibadet yerlerini seçer.poi.school, okulları seçer.poi.sports_complex, spor komplekslerini seçer.
roadtüm yolları seçer.road.arterialana yolları seçer.road.highway, otoyolları seçer.road.highway.controlled_access, erişimi denetlenen otoyolları seçer.road.local, yerel yolları seçer.
transit, tüm toplu taşıma istasyonlarını ve hatlarını seçer.transit.line, toplu taşıma hatlarını seçer.transit.stationtüm toplu taşıma istasyonlarını seçer.transit.station.airporthavaalanlarını seçer.transit.station.bus, otobüs duraklarını seçer.transit.station.rail, tren istasyonlarını seçer.
water, su kütlelerini seçer.
elementType
Aşağıdaki JSON snippet'i, tüm yerel yolların etiketlerini seçer:
{ "featureType": "road.local", "elementType": "labels" }
Öğeler, bir özelliğin alt bölümleridir. Örneğin bir yol, haritadaki grafik çizgiden (geometri) ve adını belirten metinden (etiket) oluşur.
Aşağıdaki öğeler kullanılabilir ancak belirli bir özelliğin öğelerin hiçbirini, bazılarını veya tümünü desteklemeyebileceğini unutmayın:
Etiket metni fill ve stroke renkleri, yakınlaştırma seviyesine göre değişir.
Deneyimi yakınlaştırma seviyeleri arasında tutarlı hale getirmek için her zaman hem fill hem de stroke değerlerini tanımlayın.
all(varsayılan), belirtilen özelliğin tüm öğelerini seçer.-
geometry, belirtilen özelliğin tüm geometrik öğelerini seçer.geometry.fill, yalnızca özelliğin geometrisinin dolgusunu seçer.geometry.stroke, yalnızca özelliğin geometrisinin konturunu seçer.
-
labels, belirtilen özellikle ilişkili metin etiketlerini seçer.labels.icon, yalnızca özelliğin etiketinde gösterilen simgeyi seçer.labels.textyalnızca etiketin metnini seçer.-
labels.text.fillyalnızca etiketin dolgusunu seçer. Etiketin dolgusu genellikle etiket metnini çevreleyen renkli bir çerçeve olarak oluşturulur. labels.text.stroke, yalnızca etiketin metninin konturunu seçer.
stylers
Stil oluşturucular, harita özelliklerine ve öğelerine uygulayabileceğiniz biçimlendirme seçenekleridir.
Aşağıdaki JSON snippet'i, RGB değeri kullanarak bir özelliği parlak yeşil olarak gösterir:
"stylers": [ { "color": "#99FF33" } ]
Bu snippet, başlangıç rengi ne olursa olsun bir özelliğin rengindeki tüm yoğunluğu kaldırır. Bu efekt, özelliği gri tonlamalı olarak oluşturur:
"stylers": [ { "saturation": -100 } ]
Bu snippet, bir özelliği tamamen gizler:
"stylers": [ { "visibility": "off" } ]
Aşağıdaki stil seçenekleri desteklenir:
hue(#RRGGBBbiçiminde bir RGB onaltılık dizesi) temel rengi belirtir.Not: Bu seçenek, varsayılan Google stilinde (veya haritada tanımladığınız diğer stil seçeneklerinde) belirtilen doygunluğu ve açıklığı korurken tonu ayarlar. Elde edilen renk, temel haritanın stiline bağlıdır. Google, temel harita stilinde herhangi bir değişiklik yaparsa bu değişiklikler, haritanızın
hueile stillendirilmiş özelliklerini etkiler. Mümkünse mutlakcolorstil aracını kullanmanız daha iyi olur.lightness(-100ile100arasında bir kayan nokta değeri), öğenin parlaklığındaki yüzde değişimini gösterir. Negatif değerler karanlığı artırırken (-100 siyahı belirtir) pozitif değerler parlaklığı artırır (+100 beyazı belirtir).Not: Bu seçenek, varsayılan Google stilinde (veya haritada tanımladığınız diğer stil seçeneklerinde) belirtilen doygunluğu ve tonu korurken parlaklığı ayarlar. Elde edilen renk, temel haritanın stiline bağlıdır. Google, temel harita stilinde herhangi bir değişiklik yaparsa bu değişiklikler, haritanızın
lightnessile stillendirilmiş özelliklerini etkiler. Mümkünse mutlakcolorstil aracını kullanmanız daha iyi olur.saturation(-100ile100arasında bir kayan nokta değeri), öğeye uygulanacak temel rengin yoğunluğundaki yüzde değişimini gösterir.Not: Bu seçenek, varsayılan Google stilinde (veya haritada tanımladığınız diğer stil seçeneklerinde) belirtilen ton ve açıklığı korurken doygunluğu ayarlar. Elde edilen renk, temel haritanın stiline bağlıdır. Google, temel harita stilinde herhangi bir değişiklik yaparsa bu değişiklikler, haritanızın
saturationile stillendirilmiş özelliklerini etkiler. Mümkünse mutlakcolorstil aracını kullanmanız daha iyi olur.gamma(0.01ile10.0arasında bir kayan nokta değeri; burada1.0, düzeltme uygulanmadığını gösterir), öğeye uygulanacak gama düzeltme miktarını gösterir. Gama düzeltmeleri, beyaz veya siyah değerleri etkilemeden renklerin parlaklığını doğrusal olmayan bir şekilde değiştirir. Gama düzeltme genellikle birden fazla öğenin kontrastını değiştirmek için kullanılır. Örneğin, öğelerin kenarları ve iç kısımları arasındaki kontrastı artırmak veya azaltmak için gamayı değiştirebilirsiniz.Not: Bu seçenek, gama eğrisi kullanarak parlaklığı varsayılan Google stiline göre ayarlar. Google, temel harita stilinde herhangi bir değişiklik yaparsa bu değişiklikler, haritanızın
gammaile stillendirilmiş özelliklerini etkiler. Mümkünse mutlakcolorstil aracını kullanmak daha iyidir.invert_lightness(trueise) mevcut parlaklığı tersine çevirir. Bu, örneğin beyaz metinli daha koyu bir haritaya hızlıca geçmek için kullanışlıdır.Not: Bu seçenek, varsayılan Google stilini tersine çevirir. Google, temel harita stilinde herhangi bir değişiklik yaparsa bu değişiklikler, haritanızın
invert_lightnessile stillendirilmiş özelliklerini etkiler. Mümkünse mutlakcolorstil aracını kullanmak daha iyidir.visibility(on,offveyasimplified), öğenin haritada görünüp görünmeyeceğini ve nasıl görüneceğini belirtir.simplifiedgörünürlüğü, etkilenen özelliklerden bazı stil özelliklerini kaldırır. Örneğin, yollar ana hatları olmadan daha ince çizgilere basitleştirilirken parklar etiket metinlerini kaybeder ancak etiket simgesini korur.color(#RRGGBBbiçiminde bir RGB onaltılık dizesi), özelliğin rengini ayarlar.weight(sıfıra eşit veya sıfırdan büyük bir tam sayı değeri), özelliğin ağırlığını piksel cinsinden ayarlar. Ağırlığın yüksek bir değere ayarlanması, karo sınırlarının yakınında kırpmaya neden olabilir.
Stil kuralları, belirttiğiniz sırayla uygulanır. Birden fazla işlemi tek bir stil işleminde birleştirmeyin. Bunun yerine, her işlemi stil dizisinde ayrı bir giriş olarak tanımlayın.
Not: Bazı işlemler değişmeli olmadığından sıra önemlidir. Stil işlemleriyle değiştirilen özellikler ve/veya öğeler (genellikle) mevcut stillere sahiptir. İşlemler, varsa mevcut stiller üzerinde gerçekleştirilir.
Ton, doygunluk, parlaklık modeli
Stil özellikli haritalar, stil oluşturucu işlemlerinde rengi belirtmek için ton, doygunluk, parlaklık (HSL) modelini kullanır. Ton temel rengi, doygunluk bu rengin yoğunluğunu, parlaklık ise bileşen renkteki göreceli beyaz veya siyah miktarını gösterir.
Gama düzeltme, genellikle kontrastı artırmak veya azaltmak için renk uzayındaki parlaklığı değiştirir. Ayrıca HSL modeli, rengi bir koordinat uzayında tanımlar. Bu uzayda hue, renk çarkındaki yönü belirtirken doygunluk ve açıklık, farklı eksenlerdeki genlikleri belirtir. Renk tonları, RGB renk alanında ölçülür. Bu alan, beyaz ve siyah tonlarının olmaması dışında çoğu RGB renk alanına benzer.

hue, HTML onaltılık renk değeri alsa da bu değeri yalnızca temel rengi belirlemek için kullanır. Yani renk çarkındaki yönünü belirler, doygunluğunu veya açıklığını belirlemez. Bunlar yüzde değişimleri olarak ayrı ayrı belirtilir.
Örneğin, saf yeşil için tonu hue:0x00ff00 veya hue:0x000100 olarak tanımlayabilirsiniz. İki renk de aynıdır. Her iki değer de HSL renk modelinde saf yeşili gösterir.

RGB renk çarkı
Eşit miktarda kırmızı, yeşil ve mavi içeren RGB hue değerleri, HSL koordinat uzayında bir yön belirtmediği için ton belirtmez. Örnekler arasında "#000000" (siyah), "#FFFFFF" (beyaz) ve tüm saf gri tonları yer alır. Siyah, beyaz veya griyi belirtmek için tüm saturation değerlerini kaldırmanız (değeri -100 olarak ayarlayın) ve bunun yerine lightness değerini ayarlamanız gerekir.
Ayrıca, halihazırda renk şeması olan mevcut özellikleri değiştirirken hue gibi bir değeri değiştirmek, mevcut saturation veya lightness değerini değiştirmez.