Google Haritalar Platformu, Google Cloud Console'u kullanarak haritalarınızın stilini ayarlamayı, özelleştirmeyi ve yönetmeyi kolaylaştıran Cloud tabanlı harita stili özellikleri sunar. Böylece, her stil değişikliği yaptığınızda uygulamanızın kodunu güncellemek zorunda kalmadan kullanıcılarınız için özelleştirilmiş bir harita deneyimi oluşturabilirsiniz.
15 Eylül 2020'den önce oluşturulan stillerde Google Haritalar'ın gelişmiş doğal özellikleri gösterilmez. Harita stiliniz için Google Haritalar gelişmiş doğal özellikler desteğini kullanmak istiyorsanız bir harita Stili oluşturmanız gerekir.
Bulut tabanlı harita stili, harita kimliği oluşturulduktan sonra kodunuzda değişiklik yapmanıza gerek kalmadan, Google Haritalar'ı kullanan herhangi bir uygulama için harita stili oluşturmanıza ve düzenlemenize olanak tanır. Tüm stil değişiklikleri Cloud Console'da yapılabilir. Kodlama bilgisine sahip olmanız gerekmez. Yollar, binalar, su kütleleri, önemli noktalar ve toplu taşıma rotaları gibi birçok harita öğesinin görünümünü ve rengini değiştirin.
Bu özellikler şunlardır:
- Bulut tabanlı harita stili: Haritalarınızı kod kullanarak JSON kullanarak biçimlendirmek yerine, dinamik veya statik haritalarınızı harita kimlikleri ve harita stilleri kullanarak yönetin ve stilini belirleyin.
- Vektör Haritası: JavaScript geliştiricileri, maps.google.com adresinde doğrudan kendi web uygulamalarında bulunan WebGL destekli hızlandırılmış vektör tabanlı haritayı kullanmayı seçebilir.
- İşletme ÖY filtrelemesi: Beş önemli yer noktası kategorisi, harita görünümünden isteğe bağlı olarak kaldırılabilir.
- ÖY Yoğunluk Kontrolü: Temel haritada gösterilen önemli noktaların yoğunluğu varsayılan olarak daha fazla veya daha az önemli noktayı gösterecek şekilde ayarlanabilir.
Bulut tabanlı harita stili Android için Haritalar SDK'sı1, iOS için Haritalar SDK'sı, JavaScript ve Maps Static API'de kullanılabilir olsa da tüm özellikler tüm platformlarda görünmeyebilir.
Başlamadan önce
- Harita kimliği oluşturma
Bulut tabanlı harita stili kullanmak için haritanızın harita kimliği kullanılarak yüklenmesi gerekir. - Sabit kodlu stilden geçiş yapın
JSON veya URL sorgu parametreleri gibi sabit kodlu stillerle özelleştirilmiş mevcut bir harita üzerinde Cloud tabanlı harita stilini kullanmak için bir harita kimliği eklemeden önce, sabit kodlu stili kaldırmanızı öneririz. JSON stilinizi yeni bir harita stiline aktarabilirsiniz.- Android'de
MapStyleOptions
'i güncelleyin - iOS'te
GMSMapStyle
sınıfını güncelleyin - JavaScript'te
MapTypeStyle
stilini kaldırın - Haritalar Statik'te
style
parametresini kaldırın
- Android'de
Bulut tabanlı harita stili kullanmak istiyorsanız Android için Haritalar SDK'sının 18.0.0 veya sonraki bir sürümünü kullanmanız ve Android için en son Haritalar SDK'sını kullanmanız gerekir.
Faturalandırma
Bulut tabanlı harita stili kullanmak için bir harita kimliği gerekir. Android için Haritalar SDK'sı, iOS için Haritalar SDK'sı ve JavaScript'te harita kimliği kullanıldığında Dinamik Haritalar SKU'su için ücret alınır. Maps Static API'de harita kimliği kullanıldığında Statik Haritalar SKU'suna göre ücret alınır.
Örnekler
Android
ApiDemos örnek uygulamasını çalıştırın
ApiDemos örnek uygulamasını çalıştırmak için GitHub örneğine (Java
| Kotlin) ve CloudBasedMapStylingDemoActivity
demosuna ((Java
| Kotlin) bakın.
Android haritanızın bulutta nasıl biçimlendirileceğini gösteren bir Java ve Kotlin örnek uygulaması bulabilirsiniz.
Bilinen Sorunlar
Uygulamanız müşterilere teslim edildikten sonra harita kimlikleri içeren haritalar için özel stiller Google Cloud Console'dan güncellenebilir. Yeni stiller birkaç saat içinde uygulamanıza yansıtılır.
Yeni özel stillerin test amacıyla hemen görünmesini sağlamak için test cihazınızdan uygulama verilerini temizleyin. Cihazınızdaki verileri temizleme hakkında daha fazla bilgi edinmek için Android Yardım - Yer Açma bölümüne bakın.
Ayarların telefona göre farklılık gösterebileceğini unutmayın. Daha fazla bilgi için cihaz üreticinize başvurun.
iOS
ApiDemos örnek uygulamasını çalıştırın
ApiDemos örnek uygulamasını çalıştırmak için GitHub örneğine
GoogleMap örnek uygulamasına bakın ve CloudBasedMapStylingViewController
projesini (Swift
| Objective-C için GitHub örneği) görüntüleyin.
İsteğe bağlı Cloud Styling CocoaPod veya GitHub demosu
Sıfırdan başlamak yerine, iOS haritanızı buluttan nasıl biçimlendireceğinizi gösteren Objective-C örnek uygulamamızı buradan deneyebilirsiniz.
Beta demo uygulaması oluşturuluyor
Xcode'da, geçerli şemayı oluşturup çalıştırmak için derle düğmesine basın.
Derleme bir hata oluşturarak API anahtarınızı SDKDemoAPIKey.h
dosyasına girmenizi ister.
Henüz API anahtarınız yoksa Cloud Console'da proje oluşturmak ve API anahtarı almak için bu talimatları uygulayın. Anahtarı Cloud Console'da yapılandırırken anahtarı yalnızca uygulamanızın kullanabileceğinden emin olmak için uygulamanızın paket tanımlayıcısını belirtebilirsiniz. SDK örnekleri uygulamasının varsayılan paket tanımlayıcısı com.example.GoogleMapsDemos
'dir.
SDKDemoAPIKey.h
dosyasını düzenleyin ve API anahtarınızı kAPIKey sabit değerinin tanımına yapıştırın:
```
static NSString *const kAPIKey = @"YOUR_API_KEY";
```
Xcode, düzenlemek için SDKDemoAPIKey.h
dosyasının kilidini açmanızı isterse Kilidi aç'ı seçin.
Aşağıdaki satırı kaldırın:
```
#error Register for API Key and insert here.
```
Projeyi oluşturun ve çalıştırın.
Bulut tabanlı haritalar stili harita demosu
CloudStyling
demosu, Google Cloud Console'da ayarlanan bir stil kullanılarak haritanın stilinin nasıl ayarlanacağını gösterir.
Demo uygulaması başladığında, listenin en üstündeki Beta Örnekleri bölümünde Harita Özelleştirme demosunu tıklayın.
Farklı harita kimlikleri yüklemenin etkisini görmek için Stil Haritası'nı tıklayın.
Kendi stilinizi de eklemeyi deneyin ("Harita Stili" > "Yeni Harita Kimliği Ekle") ve harita güncellemesinin özel stil uygulanmış haritasıyla birlikte görünmesini sağlayın.
JavaScript
Bu, harita kimliği kullanarak özel bir stil içeren harita yüklemenin temel bir örneğidir. Bu durumda, Haritalar JavaScript, harita yüklendiğinde 8e0a97af9386fef
harita kimliğine başvuruda bulunur ve şu anda bu harita kimliğiyle ilişkilendirilmiş harita stilini otomatik olarak uygular.
TypeScript
function initMap(): void { new google.maps.Map( document.getElementById("map") as HTMLElement, { mapId: "8e0a97af9386fef", center: { lat: 48.85, lng: 2.35 }, zoom: 12, } as google.maps.MapOptions ); } declare global { interface Window { initMap: () => void; } } window.initMap = initMap;
JavaScript
function initMap() { new google.maps.Map(document.getElementById("map"), { mapId: "8e0a97af9386fef", center: { lat: 48.85, lng: 2.35 }, zoom: 12, }); } window.initMap = initMap;
Örneği Deneyin
Maps Static API
Harita kimliği, belirli bir harita stili veya özellikle ilişkili bir tanımlayıcıdır. Harita stilini yapılandırın ve Google Cloud Console'da harita kimliğiyle ilişkilendirin. Daha sonra, kodunuzdaki bir harita kimliğine başvurduğunuzda, bu haritanın ilişkili harita stili uygulamanızda gösterilir. Yapacağınız sonraki stil güncellemeleri, müşterileriniz tarafından güncelleme yapılmasına gerek kalmadan uygulamanızda otomatik olarak görünür.
style
parametresi ile özelleştirilmiş mevcut bir haritayla bulut tabanlı harita stili kullanıyorsanız gelecekteki işlevlerle ilgili olası çakışmaları önlemek için bunları kaldırdığınızdan emin olun.Web API'lerimizden birini kullanan yeni veya mevcut bir haritaya harita kimliği eklemek için
map_id
URL parametresini ekleyip harita kimliğiniz olarak ayarlayın. Bu örnekte, Maps Static API'yi kullanarak bir haritaya harita kimliği eklemek gösterilmektedir.<img src="https://maps.googleapis.com/maps/api/staticmap?center=Brooklyn+Bridge,New+York,NY&zoom=13&size=600x300&maptype=roadmap&markers=color:blue%7Clabel:S%7C40.702147,-74.015794&markers=color:green%7Clabel:G%7C40.711614,-74.012318&markers=color:red%7Clabel:C%7C40.718217,-73.998284&key=YOUR_API_KEY&map_id=YOUR_MAP_ID&signature=YOUR_SIGNATURE" />
-
Bulut tabanlı harita stili Android'in Basit modunda kullanılamaz. ↩