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
Bir Google Cloud projesi için Sahip veya Düzenleyici IAM rolü belirlemenize yardımcı olur.
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:
- Cloud Console'da Haritalar Yönetimi sayfasını ziyaret edin.
- 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 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.
- Cloud Console'da Haritalar Yönetimi sayfasını ziyaret edin.
- Bu sayfada, Harita adı sütunundan mevcut bir harita kimliği seçin.
- Bu formun alt kısmındaki Bu harita kimliğiyle ilişkili harita stilleri açılır listesinden bir harita stili seçin.
- Kaydet'i seçin.
Harita kimliğini uygulamanıza ekleme
Android
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, şurada depolanan bir harita kimliği oluşturduğunuzu varsayalım:
res/values/strings.xml
içinde map_id
adlı dize değeri:
<?xml version="1.0" encodin>g<="ut>f<-8"?
resources
>string name<=">m<ap_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:mapI>d
="@string/map_id" /
Ayrıca, belirtmek için MapView
sınıfının map:mapId
özelliğini de kullanabilirsiniz.
harita kimliği:
<com.google.android.gms.maps.MapView
xmlns:android="http://schemas.android.com/apk/res/android"
....
map:mapId="@s>t
ring/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. Özel stiller öğeleri, 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:
- Cloud Console'daki harita kimliği dizesiyle bir
GMSMapID
oluşturun. - 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: &<quot;YOUR M>AP 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:@&<quot;YOUR M>AP 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 uygulamayı kapatıp yeniden başlatabilirsiniz uygulamanızdan çıkış yaparak son kullanılan konsoldan uygulamayı kapatmaya zorlayın. bir uygulama listesi oluşturup sonra yeniden açabilirsiniz. Güncellenen harita gösterilir.
JavaScript
Uygulama kodunuzda harita kimliği olan bir harita oluşturmak için:
Şu anda haritanızı yerleştirilmiş JSON koduyla özelleştiriyorsanız
styles
mülkMapOptions
nesnenizden; Aksi takdirde bu adımı atlayabilirsiniz.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'lerinde varsa map_id
URL parametresini ekleyip 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+Yo&rk,NYzo&om=13size=60&0x300maptype=ro&admapmarkers=color:blue%7Clabel:S%7C40.702147,-74.0&15794markers=color:green%7Clabel:G%7C40.711614,-74.0&12318markers=color:red%7Clabel:C%7C40.718217,-73.9&98284key=YOUR_AP&I_KEYmap_id=YOUR_M&AP_IDsignature=YOUR_SIGNATU>R
E" /
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ı: yükleme anında çizilen vektör tabanlı karolardan oluşan harita
istemci tarafında WebGL'yi kullanmaya başladı.
JavaScript'te kullanılabilir