Harita kimliklerini kullanma

Harita kimliği, belirli bir harita stili veya özelliğiyle ilişkilendirilmiş bir tanımlayıcıdır. Google Cloud Console'da bir harita stili yapılandırın ve bu stili bir harita kimliğiyle ilişkilendirin. Ardından, kodunuzda bir harita kimliğine referans verdiğinizde, ilişkili harita stili uygulamanızda gösterilir. Daha sonra yaptığınız stil güncellemeleri, müşterilerinizin güncelleme yapmasına gerek kalmadan uygulamanızda otomatik olarak görünür.

Harita kimlikleri oluşturulduktan sonra bir projeyle ilişkilendirilir ve tek bir platformla (Android, iOS, JavaScript) veya Maps Static API ile sınırlandırılı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 kimliği veya harita stili oluşturmak ya da yönetmek için projede Sahip veya Düzenleyici IAM rolüne sahip olmanız gerekir.

Harita kimliği oluşturma

Harita kimliği, bir Google Haritası örneğini temsil eden benzersiz bir tanımlayıcıdır. Cloud Console'da dilediğ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 Harita 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şturma

    Formda aşağıdakileri yapın:

    • Bir harita adı belirtin.
    • Bir harita türü veya platform belirtin.
    • JavaScript haritaları için raster veya vektör harita türünü seçin.
    • Haritanın açıklamasını girin.
    • Yeni harita kimliğini görüntülemek için Sonraki'yi seçin.

Harita kimliğini bir harita stiliyle ilişkilendirme

Bu talimatlarda, projenizde en az bir harita stilinin bulunduğu varsayılır.

  1. Cloud Console'da Harita Yönetimi sayfasına gidin.
  2. Bu sayfada, Harita adı sütunundan mevcut bir harita kimliği seçin.
  3. Bu formun alt kısmındaki Bu harita kimliğiyle ilişkili 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ğiyle ilişkilendirmesine olanak tanıyan açılır liste alanı da dahil olmak üzere tek bir harita kimliğinin ayrıntılar sayfasını gösteren ekran görüntüsü.

Harita kimliğini uygulamanıza ekleme

Yapay Zeka

Harita kimliğinizi, etkinliğin düzen dosyasında 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 alanında map_id adlı bir 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ında <fragment> öğesi aracılığıyla eklenen haritalar için özel stile sahip olması gereken tüm harita parçalarında map:mapId özelliğinde harita kimliği belirtilmelidir:

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

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" />

Bir harita kimliğini programatik olarak belirtmek için GoogleMapOptions sınıfını kullanarak 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 derleyin ve çalıştırın. İlk adımda yapılandırdığınız özel stiller, kimliği olan tüm haritalara uygulanır.

iOS

Harita kimliğini kullanarak bir harita örneği oluşturmak için aşağıdakileri yapın:

  1. Cloud Console'dan harita kimliği dizesini kullanarak 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'da harita kimliğinizi dilediğiniz zaman yeni bir stilde ayarlayabilirsiniz. Bu stil, yaklaşık altı saat içinde sizin ve kullanıcıların harita görünümüne otomatik olarak yansıtılır.

Değişiklikleri hemen görmek istiyorsanız uygulamadan çıkıp son kullanılan uygulamalar listesinden uygulamayı kapatarak zorla çıkabilir ve ardından uygulamayı yeniden açabilirsiniz. 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şik JSON koduyla özelleştirebiliyorsanız MapOptions nesnenizdeki styles mülkünü kaldırın. Aksi takdirde 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'
});

Maps Static

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

Sağ alt köşede harita kontrolleri bulunan, ABD, New York, New York City&#39;deki Brooklyn Köprüsü&#39;nün ortasına yerleştirilmiş bir harita. Harita, yollarda, sularda ve arazide özel stil gösterir.

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

Harita kimlikleri kullanıldığında 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 yükleme sırasında çizilen vektör tabanlı karolardan oluşan bir harita.
JavaScript'te kullanılabilir