Harita kimliklerini kullan
Harita kimliği, belirli bir harita stili veya özellikle ilişkili bir tanımlayıcıdır. Harita stilini yapılandırın ve Google Cloud Console'da harita kimliğiyle ilişkilendirin. Daha sonra, kodunuzdaki bir harita kimliğine başvurduğunuzda, bu haritanın ilişkili harita stili uygulamanızda gösterilir. Yapacağınız sonraki stil güncellemeleri, müşterileriniz tarafından güncelleme yapılmasına gerek kalmadan uygulamanızda otomatik olarak görünür.
Oluşturulduktan sonra harita kimlikleri bir projeyle ilişkilendirilir ve aynı zamanda tek bir platformla (Android, iOS, JavaScript) veya Maps Static API ile kısıtlanır.
Cloud Console'unuzda 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 veya yönetmek için Sahip veya Düzenleyici IAM rolüne sahip olmanız gerekir.
Harita kimliği oluşturma
Harita kimliği, bir Google Haritaları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:
- 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 mevcut harita stili olduğu varsayılır.
- Cloud Console'da Haritalar Yönetimi sayfasına gidin.
- Bu sayfada, Harita adı sütunundan mevcut bir harita kimliği seçin.
- Bu formun alt kısmında 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ı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ındaki 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" />
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 programlı bir şekilde 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 oluşturup çalıştırın. Özel stiller, ilk adımda yapılandırıldığı gibi, kimliğe sahip tüm haritalara uygulanır.
iOS
Harita kimliği kullanarak bir harita örneği oluşturmak için aşağıdaki işlemleri 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 Cloud Console'daki harita kimliğinizi istediğiniz zaman yeni bir stile sahip olacak şekilde ayarlayabilirsiniz. İlgili stil, siz ve kullanıcılar için yaklaşık altı saat içinde otomatik olarak harita görünümüne yansıtılır.
Değişiklikleri hemen görmek istiyorsanız, uygulamadan çıkıp son kullanılan uygulamalar listesinden çıkmaya zorlayıp uygulamayı yeniden açarak uygulamanızı yeniden başlatabilirsiniz. Güncellenen harita görünür.
JavaScript
Uygulama kodunuzda harita kimliğiyle harita oluşturmak için:
Haritanızı yerleştirilmiş JSON koduyla özelleştiriyorsanız
MapOptions
nesnenizdenstyles
özelliğini kaldırın. Aksi takdirde bu adımı atlayın.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'lerimizden birini kullanan yeni veya mevcut bir haritaya harita kimliği eklemek için map_id
URL parametresini ekleyip harita kimliğiniz olarak ayarlayın.
Bu örnekte, Maps Static API'yi kullanarak bir haritaya harita kimliği eklemek 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 stili: Google Cloud Console'u kullanarak haritalarınızı özelleştirin, özelleştirin ve yönetin.
Tüm platformlarda (Android, JavaScript, iOS ve Haritalar Statik API'si) kullanılabilir
vektör haritaları: WebGL kullanılarak istemci tarafında yükleme sırasında çizilen vektör tabanlı bloklardan oluşan bir harita.
JavaScript'te kullanılabilir