Harita kimliklerini kullan

Harita kimliği, belirli bir harita stili veya özelliğiyle ilişkilendirilen bir tanımlayıcıdır. Google Cloud Console'da bir harita stili yapılandırıp harita kimliğiyle ilişkilendirin. Daha sonra, kodunuzda bir harita kimliğine referans verdiğinizde, bu harita kimliği ile ilişkilendirilmiş harita stili uygulamanızda görüntülenir. Yaptığınız tüm sonraki stil güncellemeleri, müşterilerinizin herhangi bir güncelleme yapmasına gerek kalmadan uygulamanızda otomatik olarak görünür.

Oluşturulduktan sonra, harita kimlikleri bir projeyle ilişkilendirilir ve ayrıca tek bir platform (Android, iOS, JavaScript) veya Maps Static API ile sınırlandırılır.

Cloud Console'unuzda harita kimliği oluşturmak veya yönetmek için Proje Sahibi ya da Proje Düzenleyici IAM rolüne sahip olmanız gerekir.

Gerekli izinler

Belirli bir Google Cloud projesinde harita kimliği oluşturmak veya Stilleri eşlemek için söz konusu projede Sahip ya da Düzenleyici IAM rolüne sahip olmanız gerekir.

Harita kimliği oluşturun

Harita kimliği, bir Google Haritasının tek bir örneğini temsil eden benzersiz bir tanımlayıcıdır. Cloud Console'da istediğiniz zaman harita kimlikleri oluşturabilir ve harita kimliğiyle ilişkili bir stili güncelleyebilirsiniz.

Harita kimliği oluşturmak için:

  1. Cloud Console'da Haritalar Yönetimi sayfasına gidin.
  2. Yeni Harita Kimliği Oluştur formunu görüntülemek için Yeni Harita Kimliği Oluştur'u seçin.
    Yeni Harita Kimliği Oluştur

    Formda aşağıdakileri yapın:

    • Bir harita adı belirtin.
    • Bir harita türü veya platformu belirtin.
    • JavaScript haritaları için kafes veya vektör harita türünü seçin.
    • Harita için bir açıklama girin.
    • Yeni harita kimliğini görüntülemek için İleri'yi seçin.

Harita kimliğini harita stiliyle ilişkilendirme

Bu talimatlarda, projenizde en az bir harita stili bulunduğu varsayılmıştır.

  1. Cloud Console'da Haritalar Yönetimi sayfasına gidin.
  2. Bu sayfada, Harita adı sütunundan mevcut bir harita kimliğini seçin.
  3. Bu formun alt kısmındaki Bu Harita Kimliği ile ilişkili harita stilleri açılır menüsünden bir harita stili seçin.
  4. Kaydet'i seçin.
    Kullanıcıların bir harita stilini bu harita kimliğiyle ilişkilendirmesine olanak tanıyan açılır alanın da dahil olduğu, tek bir harita kimliğinin ayrıntılar sayfasını gösteren ekran görüntüsü.

Harita kimliğini uygulamanıza ekleme

Android

Harita kimliğinizi etkinliğin düzen dosyasındaki bir <fragment> öğesi aracılığıyla, MapView sınıfını kullanarak veya programatik olarak GoogleMapOptions sınıfını kullanarak ekleyin.

Örneğin, res/values/strings.xml içinde map_id adlı dize değeri olarak depolanan bir harita kimliği oluşturduğunuzu varsayalım:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="map_id">YOUR_MAP_ID</string>
</resources>

Etkinliğin düzen dosyasına <fragment> öğesi aracılığıyla eklenen haritalar için özel stile sahip olması gereken tüm harita parçaları, map:mapId özelliğinde harita kimliğini belirtmelidir:

<fragment xmlns:map="http://schemas.android.com/apk/res-auto"
    class="com.google.android.gms.maps.SupportMapFragment"
    …
    map:mapId="@string/map_id" />

Harita kimliği belirtmek için MapView sınıfının map:mapId özelliğini de kullanabilirsiniz:

<com.google.android.gms.maps.MapView
    xmlns:android="http://schemas.android.com/apk/res/android"
    ....
    map:mapId="@string/map_id" />

Bir harita kimliğini programatik olarak belirtmek için GoogleMapOptions sınıfını kullanarak bir MapFragment örneğine iletin:

Java

 MapFragment mapFragment = MapFragment.newInstance(
     new GoogleMapOptions()
         .mapId(getResources().getString(R.string.map_id)));

Kotlin

 val mapFragment = MapFragment.newInstance(
     GoogleMapOptions()
         .mapId(resources.getString(R.string.map_id))
 )

Android Studio'da uygulamanızı normalde yaptığınız gibi oluşturup çalıştırın. Özel stiller, ilk adımda yapılandırıldığı şekliyle, kimliği olan tüm haritalara uygulanır.

iOS

Harita kimliği kullanarak bir harita oluşturmak için aşağıdaki işlemleri yapın:

  1. Cloud Console'da harita kimliği dizesiyle bir GMSMapID oluşturun.
  2. Yeni oluşturduğunuz harita kimliğini belirten bir GMSMapView oluşturun.

Swift

let camera = GMSCameraPosition(latitude: 47.0169, longitude: -122.336471, zoom: 12)
let mapID = GMSMapID(identifier: "<YOUR MAP ID>")
let mapView = GMSMapView(frame: .zero, mapID: mapID, camera: camera)
self.view = mapView

Objective-C

GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:47.0169
                                                        longitude:-122.336471
                                                             zoom:12];
GMSMapID *mapID = [GMSMapID mapIDWithIdentifier:@"<YOUR MAP ID>"];
GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero mapID:mapID camera:camera];
self.view = mapView;

Kendi harita kimliğinizi kullanıyorsanız dilediğiniz zaman Cloud Console'da harita kimliğinizi yeni bir stile sahip olacak şekilde ayarlayabilirsiniz. Bu stil, yaklaşık altı saat içinde sizin ve kullanıcılarınız için harita görünümünüze otomatik olarak yansıtılır.

Değişiklikleri hemen görmek isterseniz uygulamayı kapatıp yeniden başlatmak için uygulamayı kapatıp son kullanılan uygulamalar listesinden çıkmaya zorlayıp yeniden açabilirsiniz. Bu işlemin ardından, güncellenen harita görünür hale gelir.

JavaScript

Uygulama kodunuzda harita kimliği içeren bir harita oluşturmak için:

  1. Şu anda haritanızı yerleştirilmiş JSON koduyla özelleştiriyorsanız MapOptions nesnenizden styles özelliğini kaldırın. Aksi halde bu adımı atlayın.

  2. mapId mülkünü kullanarak haritaya bir harita kimliği ekleyin. Örneğin:

map = new google.maps.Map(document.getElementById('map'), {
center: {lat: -34.397, lng: 150.644},
zoom: 8,
mapId: 'MAP_ID'
});

Haritalar Statik

Web hizmeti API'lerimizden birini kullanan yeni veya mevcut bir haritaya harita kimliği eklemek için map_id URL parametresini ekleyip harita kimliğinizle ayarlayın. Bu örnekte, Maps Static API kullanılarak bir haritaya harita kimliği eklenmesi 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" />

Merkezinde, sağ alt köşesinde harita kontrolleri bulunan, ABD&#39;nin New York City, New York şehrindeki Brooklyn Köprüsü&#39;nü çevreleyen bir harita. Harita, yollar, su ve kara için özel stil görüntüler.

Harita kimliğinizi eklemeden önce Haritalar Statik URL'nizde dijital bir imzanız varsa, harita kimliğinizi ekledikten sonra yeni bir dijital imza oluşturmanız ve eklemeniz gerekir. Yeni URL imzalama gizli anahtarınızı oluştururken önceki dijital imzanızı URL'den kaldırmayı unutmayın.

Harita kimlikleri kullanılırken yararlanılabilecek özellikler

Bulut tabanlı harita stili: Google Cloud Console'u kullanarak haritalarınızın stilini belirleyebilir, haritalarınızı özelleştirebilir ve yönetebilirsiniz.
Tüm platformlarda kullanılabilir (Android, JavaScript, iOS ve Maps Static API)

Vektör haritaları: Yükleme sırasında WebGL tarafında çizilen, vektör tabanlı parçalardan oluşan bir harita.
JavaScript'te kullanılabilir