Harita kimliklerini kullan
Harita kimliği, belirli bir harita stili veya özelliğiyle ilişkilendirilen bir tanımlayıcıdır. Bir harita stili yapılandırın ve bunu Google Cloud Console'da bir harita kimliğiyle ilişkilendirin. Ardından, kodunuzda bir harita kimliğine referans verdiğinizde, onunla ilişkilendirilmiş harita stili uygulamanızda görüntülenir. Daha sonra yaptığınız stil güncellemeleri, müşterileriniz tarafından herhangi bir güncelleme yapılması gerekmeden otomatik olarak uygulamanızda görünür.
Harita kimlikleri oluşturulduktan sonra bir projeyle ilişkilendirilir ve ayrıca, tek bir platform (Android, iOS, JavaScript) veya Haritalar 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 veya eşleme 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şturun
Harita kimliği, bir Google haritasının tek bir örneğini temsil eden benzersiz bir tanımlayıcıdır. Dilediğ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:
- Cloud Console'da Haritalar Yönetimi sayfasına gidin.
- Yeni Harita Kimliği Oluştur formunu görüntülemek için Yeni Harita Kimliği Oluştur'u seçin.
Formda aşağıdakileri yapın:
- Bir harita adı belirtin.
- Bir 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 İleri'yi seçin.
Harita kimliğini bir harita stiliyle ilişkilendirme
Bu talimatlarda, projenizde en az bir harita stili bulunduğu varsayılmıştır.
- Cloud Console'da Haritalar Yönetimi sayfasına gidin.
- Bu sayfada, Harita adı sütunundan mevcut bir harita kimliğini seçin.
- Bu formun alt kısmındaki Bu Harita Kimliği ile ilişkili harita stilleri açılır listesinden bir harita stili seçin.
- Kaydet'i seçin.
Uygulamanıza harita kimliğini ekleyin
Android
Harita kimliğinizi MapView
sınıfını kullanarak etkinliğin düzen dosyasındaki bir <fragment>
öğesiyle veya GoogleMapOptions
sınıfını kullanarak programatik olarak ekleyin.
Örneğin, res/values/strings.xml
bölgesinde 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ındaki bir <fragment>
öğesiyle eklenen haritalarda ö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" />
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ı her zamanki gibi geliştirip ç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ğıdakileri yapın:
- Cloud Console'daki harita kimliği dizesiyle bir
GMSMapID
oluşturun. - Az önce oluşturduğunuz harita kimliğini belirterek 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 istiyorsanız uygulamadan çıkıp uygulamayı kapatıp en son kullanılan uygulamalar listesinden çıkmaya zorlayıp tekrar açarak uygulamayı kapatıp yeniden başlatabilirsiniz. Güncellenen harita bundan sonra görünür olacaktır.
JavaScript
Uygulama kodunuzda harita kimliği içeren bir harita oluşturmak için:
Şu anda haritanızı yerleştirilmiş JSON koduyla özelleştiriyorsanız
MapOptions
nesnenizdenstyles
özelliğini kaldırın. Aksi takdirde bu adımı atlayın.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ğinize 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" />
Harita kimlikleri kullanılırken yararlanılabilen özellikler
bulut tabanlı harita stilleri: Google Cloud Console'u kullanarak haritalarınızın stilini belirleyebilir, haritalarınızı özelleştirip yönetebilirsiniz.
Tüm platformlarda (Android, JavaScript, iOS ve Maps Static API) kullanılabilir
Vektör haritaları: Yükleme sırasında WebGL tarafında çizilen ve vektör tabanlı bloklardan oluşan bir harita.
JavaScript'te kullanılabilir