Google Haritalar Platformu, Google Cloud Console'u kullanarak haritalarınızın stilini ayarlamayı, özelleştirmeyi ve yönetmeyi kolaylaştıran bulut tabanlı harita özellikleri sunar. Bu sayede, 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 tüm uygulamalarınız için harita stilleri oluşturmanıza ve düzenlemenize olanak tanır. Tüm stil değişiklikleri Cloud Console'da yapılabilir. Kodlama bilgisi gerekmez. Yollar, binalar, su kütleleri, önemli yerler 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: Haritanızı JSON kullanarak kod kullanarak ayarlamak yerine, dinamik veya statik haritalarınızı harita kimliklerini ve harita stillerini kullanarak Cloud Console'da yönetin ve stilini belirleyin.
- Vektör Haritası: JavaScript geliştiricileri, maps.google.com adresinde doğrudan kendi web uygulamalarında bulunan WebGL hızlandırılmış vektör tabanlı haritayı kullanmayı seçebilir.
- İşletme ÖY'si için filtreleme: Beş önemli işletme kategorisi kategorisi, isteğe bağlı olarak harita ekranından kaldırılabilir.
- ÖY Yoğunluk Kontrolü: Temel haritada gösterilen önemli yer yoğunluğu, varsayılan olarak daha fazla veya daha az önemli yer 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 özelliklerin tümü tüm platformlarda görünmeyebilir.
Başlamadan önce
- Harita kimliği oluşturun
Bulut tabanlı harita stili kullanmak için haritanızın bir 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 haritada bulut tabanlı harita stilini kullanmak için harita kimliği eklemeden önce, gelecekteki işlevlerle olası çakışmaları önlemek için sabit kodlu stili kaldırmanızı öneririz. JSON stilinizi yeni bir harita stiline aktarabilirsiniz.- Android'de
MapStyleOptions
uygulamasını güncelleme - iOS'ta
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 stilini kullanmak için Android için Haritalar SDK'sının 18.0.0 veya daha yeni bir sürümünü kullanıyor ve Android için en son Haritalar SDK'sını kullanın.
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ımı Dinamik Haritalar SKU'su üzerinden ücretlendirilir. Maps Static API'de, harita kimliği kullanmak Statik Haritalar SKU'su için ücretlendirilir.
Ö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) göz atın.
Android haritanızı bulutta nasıl biçimlendireceğinizi gösteren bir Java ve Kotlin örnek uygulaması bulabilirsiniz.
Bilinen Sorunlar
Uygulamanız müşterilere teslim edildikten sonra, harita kimlikleri olan haritalar için özel stiller Google Cloud Console'dan güncellenebilir. Yeni stiller birkaç saat içinde uygulamanıza yansıtılacaktır.
Yeni özel stillerin test amacıyla hemen görünmesini sağlamak için test cihazınızdaki uygulama verilerini temizleyin. Cihazınızdaki verileri temizleme hakkında daha fazla bilgi için Android Yardımı - Yer Açma konusuna bakın.
Ayarların telefona göre değişebileceğ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 için GitHub örneği
| Objective-C) görüntüleyin.
İsteğe bağlı Cloud Styling CocoaPod veya GitHub demosu
Sıfırdan başlamak yerine, buluttan iOS haritanızın stilini nasıl belirleyeceğinizi gösteren Objective-C örnek uygulamamızı deneyebilirsiniz.
Beta demo uygulaması oluşturma
Xcode'da derleme yapmak için derle düğmesine basın ve ardından mevcut şemayı çalıştırı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 bir proje oluşturmak ve API anahtarı almak için bu talimatları uygulayın. Anahtarı yalnızca uygulamanızda kullanabileceğinizden emin olmak için Cloud Console'da anahtarı yapılandırırken 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
'tir.
SDKDemoAPIKey.h
dosyasını düzenleyin ve API anahtarınızı kAPIKey sabitinin tanımına yapıştırın:
```
static NSString *const kAPIKey = @"YOUR_API_KEY";
```
Xcode, düzenleme için SDKDemoAPIKey.h
dosyasının kilidini açmanızı isterse Kilit açma'yı 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ı harita stili harita demosu
CloudStyling
demosu, Google Cloud Console'da ayarlanmış bir stil kullanarak 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 ekleyebilirsiniz ("Stil Haritayı" > "Yeni Harita Kimliği Ekle") ve harita güncellemesiyle birlikte özel stil uygulanmış haritanızı görebilirsiniz.
JavaScript
Bu, harita kimliği kullanarak özel bir stil içeren harita
yüklemenin temel bir örneğidir. Bu durumda, Haritalar JavaScript'i, harita yüklenirken 8e0a97af9386fef
harita kimliğine referans verir ve o harita kimliğiyle ilişkili olan 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 özelliğiyle ilişkilendirilen bir tanımlayıcıdır. Harita stilini yapılandırın ve Google Cloud Console'da bir harita kimliğiyle ilişkilendirin. Daha sonra, kodunuzda bir harita kimliğine başvurduğunuzda, ilişkili harita stili uygulamanızda gösterilir. Daha sonra yapacağınız stil güncellemeleri, müşterilerinizin güncellenmesine gerek kalmadan otomatik olarak uygulamanızda görünür.
style
parametresiyle ö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ğinize ayarlayın. Bu örnekte, Maps Static API'yi kullanarak bir haritaya harita kimliği ekleme 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. ↩