Harita kimliklerini kullanma

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

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

Cloud Console'da herhangi bir 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ı'nın tek bir ö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 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 platform belirtin.
    • JavaScript haritaları için raster veya vektör harita türü 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 bir harita stiliyle ilişkilendirme

Bu talimatlar için projenizde en az bir harita haritası stili bulunduğu varsayılı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ında, 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 dahil, 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üzeni 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ı 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 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ğ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" />

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ı her zamanki gibi oluşturup çalıştırın. İlk adımda yapılandırılan özel stiller, kimliğe sahip 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'da harita kimliğinizi istediğiniz zaman yeni bir stile sahip olacak şekilde ayarlayabilirsiniz. Stiliniz, kendiniz ve kullanıcılar için yaklaşık altı saat içinde otomatik olarak harita görünümünüze yansıtılır.

Değişiklikleri hemen görmek istiyorsanız uygulamadan çıkıp uygulamayı son kullanılan uygulamalar listesinden çıkmaya zorlayarak ve ardından yeniden açarak uygulamanızı kapatıp yeniden başlatabilirsiniz. Ardından, güncellenen harita görünür hale gelir.

JavaScript

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

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

  2. mapId özelliğini kullanarak haritaya bir harita kimliği ekleyin. Örnek:

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 ekleyin ve harita kimliği olarak ayarlayın. Bu örnekte, Maps Static API'yi kullanarak 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" />

New York, New York&#39;ta Brooklyn Köprüsü&#39;nü çevreleyen bir harita, sağ alt köşesinde harita denetimleriyle gösteriliyor. Harita yolların, suların ve arazinin özel stilini gösterir.

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 sırrı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 stili: 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ı: Yükleme zamanında WebGL kullanılarak yükleme sırasında çizilen ve vektör tabanlı bloklardan oluşan harita.
JavaScript'te kullanılabilir