Başlarken

Platform seçin: iOS JavaScript

Sınırlar için veriye dayalı stil kullanmak istiyorsanız harita kimliği oluşturmanız gerekir. Sonra, yeni bir harita stili oluşturmalı, gereken sınır özellik katmanlarını seçmeli ve stili harita kimliğinizle ilişkilendirin.

Harita kimliği oluşturma

mapID, tek bir Google Haritası örneği. Harita kimlikleri oluşturabilir ve bir stili güncelleyebilirsiniz istediğiniz zaman Google Cloud Console'da bir harita kimliğiyle ilişkilendirilmesini sağlayabilirsiniz.

Google Cloud ekran görüntüsü
konsol

Yeni harita stili oluşturma

Yeni bir harita stili oluşturmak için Haritayı yönetme stil oluşturun değiştirebilirsiniz. İşlem tamamlandığında stili yeni oluşturulan harita kimliğiyle ilişkilendirin.

Özellik katmanlarını seçin

Google Cloud Console'da hangi özellik katmanlarının gösterileceğini seçebilirsiniz. Bu Haritada hangi tür sınırların gösterileceğini belirler (örneğin, yerel bölgeler, eyaletler vb.) gösterilir.

Özellik katmanlarını yönetme

  1. Google Cloud Console'da Harita Stilleri'ne gidin. sayfa

  2. İstenirse proje seçin.

  3. Harita stili seçin.

  4. Katman eklemek veya kaldırmak için Özellik katmanları açılır menüsünü tıklayın.

  5. Değişikliklerinizi kaydetmek ve haritalarınızda kullanılabilir hale getirmek için Kaydet'i tıklayın.

Şunu gösteren bir ekran görüntüsü:
açılır.

Harita başlatma kodunuzu güncelleme

Bu adım, harita kimliğinin bir veya daha fazla özelliğe sahip bir stille ilişkilendirilmiş olmasını gerektirir katmanlar etkinleştirildi. Harita kimliğinizin Cloud Console'un nasıl yapılandırıldığını Haritalar'da inceleyin. Yönetim.

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]];

Haritaya özellik katmanları ekleme

Haritanızdaki bir özellik katmanına referans almak için şu numarayı arayın: Harita ilk kullanıma sunulduğunda mapView.featureLayer(of:):

Swift

let layer = mapView.featureLayer(of: .locality)

Objective-C

GMSFeatureLayer *layer = [mapView featureLayerOfFeatureType:GMSFeatureTypeLocality];

Harita özelliklerini kontrol edin

Sınırlar için veriye dayalı stil, bir harita kimliğiyle ilişkilendirildiğinden emin olun. Harita kimlikleri mapView.mapCapabilities numaralı telefonu Belirli bir özelliğin (örneğin, belirli bir özelliğin) olup olmadığını doğrulamak için GMSMapView veriye dayalı stil) çağrılmadan önce kullanılabilir.

Ayrıca, GMSViewDelegate. Bu örnekte, protokolü kullanmanız gerekir.

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