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 Kodunuzda bir harita kimliğine başvurduğunuzda, bu kimlikle ilişkilendirilmiş harita stili veya uygulamanızda görüntüleyebilirsiniz. Sonradan yapacağınız stil güncellemeleri, uygulamanızda otomatik olarak görünür. müşterilerinizin güncellemelerine ihtiyaç duymaz.
Oluşturulduktan sonra, harita kimlikleri bir projeyle ilişkilendirilir ve ayrıca, tek bir platformla (Android, iOS, JavaScript) veya Maps Static API ile sınırlandırılmıştır.
Cloud Console'da harita kimliği oluşturmak veya yönetmek için: Projeye Sahip veya Proje Düzenleyici IAM rolü.
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 etiketinin tek bir örneğini temsil eden benzersiz bir tanımlayıcıdır Harita. İstediğiniz zaman harita kimlikleri oluşturabilir ve bir harita kimliğiyle ilişkilendirilmiş stili güncelleyebilirsiniz. Cloud Console'da kontrol edin.
Harita kimliği oluşturmak için:
- Cloud Console'da Haritalar Yönetimi sayfasını ziyaret edin.
- Yeni Harita Kimliği Oluştur için Oluştur
Yeni Harita Kimliği formu doldurun.
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.
- Cloud Console'da Haritalar Yönetimi sayfasını ziyaret edin.
- 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şkilendirilmiş 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 aktiviteye <fragment>
öğesi aracılığıyla ekleyin.
düzen dosyasını MapView
sınıfını kullanarak veya
GoogleMapOptions
sınıf.
Ö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" encoding="utf-8"?>
<resources>
<string name="map_id">YOUR_MAP_ID</string>
</resources>
Etkinliğin düzen dosyasındaki bir <fragment>
öğesi aracılığıyla eklenen haritalar için
özel stile sahip olması gereken tüm harita parçaları
map:mapId
özelliğindeki harita kimliği:
<fragment xmlns:map="http://schemas.android.com/apk/res-auto"
class="com.google.android.gms.maps.SupportMapFragment"
…
map:mapId="@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="@string/map_id" />
Harita kimliğini programatik olarak belirtmek için bir MapFragment
öğesine iletin
GoogleMapOptions
sınıfını kullanan bir örnek:
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 öğ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: "<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 harita kimliğinizi ayarlayabilirsiniz istediğiniz zaman yeni bir stile sahip olmak için Cloud Console'u kullanabilir ve harita görünümünüze sizin için otomatik olarak yansıtılacaktır. yaklaşık 6 saat içinde tamamlanır.
Değişiklikleri hemen görmek istiyorsanız uygulamayı kapatıp yeniden başlatabilirsiniz uygulamanızdan çıkış yaparak son kullanılan ayarları kullanarak uygulamayı kapatmaya zorlayın. bir uygulama listesi oluşturup 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:
Şu anda haritanızı yerleştirilmiş JSON koduyla özelleştiriyorsanız
styles
mülkMapOptions
nesnenizden; Aksi takdirde bu adımı atlayabilirsiniz.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'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 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" />
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 kullanarak değiştirebilirsiniz.
JavaScript'te kullanılabilir