ট্যাপ ইভেন্টগুলি পরিচালনা করুন

ট্যাপ ইভেন্টগুলিতে ডেটা বৈশিষ্ট্যগুলিকে সাড়া দিন এবং ট্যাপ করা বৈশিষ্ট্যের জন্য একটি বৈশিষ্ট্যের মান প্রদর্শন করতে ইভেন্টটি ব্যবহার করুন৷

একটি ট্যাপ ইভেন্টের প্রতিক্রিয়া হিসা��ে স্টাইলিং প্রয়োগ করুন।

ডেটাসেট স্তর ইভেন্টগুলি পরিচালনা করুন

এই উদাহরণটি YOUR_DATASET_ID ID সহ একটি ডেটাসেটের জন্য ডেটা বৈশিষ্ট্যগুলি দেখায় এবং ট্যাপ করা বৈশিষ্ট্যের জন্য একটি বৈশিষ্ট্যের মান প্রদর্শন করতে প্রতিনিধি ফাংশন প্রয়োগ করে৷

এই উদাহরণে, ডেটাসেট নিউ ইয়র্ক সিটির পার্কগুলি দেখায়৷ প্রতিটি ডেটাসেট বৈশিষ্ট্যের জন্য, একটি পার্কের সাথে সম্পর্কিত, ডেটাসেটে পার্কের পৃষ্ঠের ক্ষেত্রফল সমন্বিত acres নামের একটি বৈশিষ্ট্য রয়েছে। একটি ট্যাপড পার্কের জন্য, acres বৈশিষ্ট্যের মান প্রদর্শন করুন।

সুইফট

class SampleViewController: UIViewController {

  private lazy var mapView: GMSMapView = GMSMapView(frame: .zero, mapID: GMSMapID(identifier: "YOUR_MAP_ID"), camera: GMSCameraPosition(latitude: 40.7, longitude: -74, zoom: 12))

  // Set default styles.
  view = mapView
  let style = FeatureStyle(fill: .green.withAlphaComponent(0.5), stroke: .green, strokeWidth: 2)
  mapView.datasetFeatureLayer(of: "YOUR_DATASET_ID").style = { _ in style }
  mapView.delegate = self
}

extension SampleViewController: GMSMapViewDelegate {
  func mapView(_ mapView: GMSMapView, didTap features: [Feature], in featureLayer: FeatureLayer<Feature>, atLocation: CLLocationCoordinate2D) {
    let toast = UIAlertController(title: "Area of park", message: (features.compactMap { ($0 as? DatasetFeature)?.datasetAttributes["acres"] }).joined(separator: ", "), preferredStyle: .alert)
    present(toast, animated: true, completion: nil)
  }
}

উদ্দেশ্য গ

@interface SampleViewController: UIViewController <GMSMapViewDelegate>
@end

@implementation SampleViewController
- (void)loadView {
    GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero mapID:[GMSMapID mapIDWithIdentifier:@"YOUR_MAP_ID"] camera:[GMSCameraPosition cameraWithLatitude:40.7 longitude:-74 zoom:12]];
    mapView.delegete = self;

    // Set default styles.
    GMSFeatureStyle *style = [GMSFeatureStyle styleWithFillColor:[[UIColor greenColor] colorWithAlphaComponent:0.5] strokeColor:[UIColor greenColor] strokeWidth:2.0];
    [_mapView datasetFeatureLayerOfDatasetID:@"YOUR_DATASET_ID"].style = ^(GMSDatasetFeature *feature) { return style; };

    self.view = mapView;
}

- (void)mapView:(GMSMapView *)mapView didTapFeatures:(NSArray<id<GMSFeature>> *)features inFeatureLayer:(GMSFeatureLayer *)featureLayer atLocation:(CLLocationCoordinate2D)location {
  NSMutableArray<NSString *> *parkAreas = [NSMutableArray array];

  for (id<GMSFeature> feature in features) {
    if (![feature isKindOfClass:[GMSDatasetFeature class]]) { continue; }
    NSString *nameDefinedInDataset = ((GMSDatasetFeature *)feature).datasetAttributes[@"acres"];
    [parkAreas addObject:nameDefinedInDataset];
  }

  UIAlertController *toast = [UIAlertController alertControllerWithTitle:@"Area of park" message:[parkAreas componentsJoinedByString:@", "] preferredStyle:UIAlertControllerStyleAlert];
  [self presentViewController:toast animated:YES completion:nil];
}
@end