Veri kümelerinin veriye dayalı stilini ayarlamak için aşağıdaki adımları uygulayın.
API anahtarı alma ve API'leri etkinleştirme
Veri kümeleri için veriye dayalı stilleri kullanmadan önce, faturalandırma hesabına sahip bir bulut projesine ve hem iOS için Haritalar SDK'sına hem de Haritalar Veri Kümeleri API'sine sahip olmanız gerekir. Daha fazla bilgi edinmek için aşağıdaki makaleleri inceleyin:
Harita kimliği oluşturma
mapID, bir Google Haritası'nın tek bir örneğini temsil eden benzersiz bir tanımlayıcıdır. Google Cloud Console'da istediğiniz zaman harita kimlikleri oluşturabilir ve harita kimliğiyle ilişkili bir stili güncelleyebilirsiniz.
Yeni harita stili oluşturma
Yeni bir harita stili oluşturmak için, stili oluşturmak üzere Harita stillerini yönetme bölümündeki talimatları izleyin. İşlem tamamlandığında stili yeni oluşturulan harita kimliğiyle ilişkilendirin.
Harita başlatma kodunuzu güncelleme
Bu adım, harita kimliğinin bir veya daha fazla özellik katmanının etkinleştirildiği bir stille ilişkilendirilmesini gerektirir. Harita kimliğinizin Cloud Console'da doğru şekilde ayarlandığını doğrulamak için Haritalar Yönetimi altında nasıl yapılandırıldığını inceleyin.
Swift
// A map ID using a style with one or more feature layers enabled let mapID = GMSMapID(identifier: "YOUR_MAP_ID") let mapView = GMSMapView(frame: .zero, mapID: mapID, camera: GMSCameraPosition(latitude: 40, longitude: -80, zoom: 7))
Objective-C
// A map ID using a style with one or more feature layers enabled GMSMapID *mapID = [GMSMapID mapIDWithIdentifier:@"MAP_ID"]; GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero mapID:mapID camera:[GMSCameraPosition cameraWithLatitude:40 longitude:-80 zoom:7]];
Harita özelliklerini kontrol edin
Veri kümeleri için veriye dayalı stil özelliği, Google Cloud Console'da etkinleştirilen ve bir harita kimliğiyle ilişkilendirilmiş özellikler gerektirir. Harita kimlikleri değişebileceğinden, belirli bir özelliğin (ör. veriye dayalı stil) çağrılmadan önce kullanılabilir olup olmadığını doğrulamak için GMSMapView
numaralı telefondan mapView.mapCapabilities
numaralı telefonu arayabilirsiniz.
GMSViewDelegate
abonesi olarak da harita özelliklerindeki değişiklikleri tespit edebilirsiniz.
Bu örnekte, veriye dayalı stil gereksinimlerini kontrol etmek için protokolün nasıl kullanılacağı gösterilmektedir.
Swift
class SampleViewController: UIViewController { private lazy var mapView: GMSMapView = GMSMapView(frame: .zero, mapID: GMSMapID(identifier: "YOUR_MAP_ID"), camera: GMSCameraPosition(latitude: 40, longitude: -80, zoom: 7)) override func loadView() { self.view = mapView mapView.delegate = self } } extension SampleViewController: GMSMapViewDelegate { func mapView(_ mapView: GMSMapView, didChange mapCapabilities: GMSMapCapabilityFlags) { if (!mapCapabilities.contains(.dataDrivenStyling)) { // Data-driven styling is *not* available, add a fallback. // Existing feature layers are also unavailable. } } }
Objective-C
@interface SampleViewController: UIViewController <GMSMapViewDelegate> @end @implementation SampleViewController - (void)loadView { GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero mapID:[GMSMapID mapIDWithIdentifier:@"MAP_ID"] camera:[GMSCameraPosition cameraWithLatitude:40 longitude:-80 zoom:7]]; mapView.delegete = self; self.view = mapView; } - (void)mapView:(GMSMapView *)mapView didChangeMapCapabilities:(GMSMapCapabilityFlags)mapCapabilities { if (!(mapCapabilities & GMSMapCapabilityFlagsDataDrivenStyling)) { // Data-driven styling is *not* available, add a fallback. // Existing feature layers are also unavailable. } } @end