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 harita stili yapılandırma ve harita kimliğiyle ilişkilendirme Ardından, kodunuzda bir harita kimliğine referans verdiğinizde bu haritayla ilişkilendirilmiş harita stili uygulamanızda görüntülenir. Yaptığınız sonraki stil güncellemeleri, müşterilerinizin herhangi bir güncellemesine gerek kalmadan uygulamanızda otomatik olarak görünür.

Oluşturulduktan sonra harita kimlikleri bir projeyle ilişkilendirilir. Ayrıca, tek bir platformla (Android, iOS, JavaScript) veya Maps Static API ile kısıtlanır.

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

Gerekli izinler

Belirli bir Google Cloud projesinde harita kimlikleri veya harita stilleri oluşturmak ya da bunları yönetmek için projede Sahip veya Düzenleyici IAM rollerinden birine sahip olmanız gerekir.

Harita kimliği oluşturma

Harita kimliği, bir Google Haritasının tek bir örneğini temsil eden benzersiz bir tanımlayıcıdır. İstediğiniz zaman Cloud Console'da 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.
    • Harita türü veya platform 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 Sonraki'yi seçin.

Harita kimliğini harita stiliyle ilişkilendirme

Bu talimatlar projenizde en az bir harita stilinin mevcut olduğ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şkilendirilmiş harita stilleri açılır listesinden bir harita stili seçin.
  4. Kaydet'i seçin.
    Kullanıcıların bir harita stilini bu harita kimliği ile ilişkilendirmesine olanak tanıyan açılır menünün de 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ıyla 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 bir <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" />

Bir harita kimliğini 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" />

Programatik olarak harita kimliğini 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ı her zamanki gibi derleyip çalıştırın. Özel stiller, ilk adımda yapılandırıldığı şekliyle bir kimliği olan tüm haritalara uygulanır.

iOS

Harita kimliği kullanarak bir haritayı örneklendirmek için aşağıdakileri yapın:

  1. Cloud Console'daki 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 Cloud Console'daki harita kimliğinizi istediğiniz zaman 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 istiyorsanız uygulamanızı kapatıp yeniden başlatabilirsiniz. Bunu yapmak için uygulamadan çıkıp uygulamayı son kullanılan uygulamalar listesinden çıkmaya zorladıktan sonra yeniden açabilirsiniz. Bunun ardından, güncellenen harita görünür olacaktır.

JavaScript

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

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

  2. mapId özelliğini 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ğinize ayarlayın. Bu örnekte, Maps Static API kullanılarak bir haritaya harita kimliği ekleme işlemi 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" />

ABD&#39;nin New York şehrindeki Brooklyn Köprüsü&#39;nün ortasında gösterilen ve sağ alt köşesinde harita denetimleri bulunan bir harita. Harita; yollar, su ve arazide özel stiller gösterir.

Harita kimliğinizi eklemeden önce Haritalar Statik URL'nizde dijital imzanız varsa harita kimliğinizi ekledikten sonra yeni bir dijital imza oluşturup 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 kullanılabilen özellikler

bulut tabanlı harita stilleri: Google Cloud Console'u kullanarak haritalarınızı biçimlendirin, özelleştirin ve yönetin.
Tüm platformlarda (Android, JavaScript, iOS ve Maps Static API) kullanılabilir

Vektör haritaları: WebGL kullanılarak istemci tarafında çizilen vektör tabanlı karolardan oluşan harita.
JavaScript'te kullanılabilir