أحداث وإيماءات العلامات

عند تعيين خصائص متقدمة للعلامة، يمكنك مراقبة أحداث العلامات مثل النقرات والإيماءات إذا تم النقر على علامة، يمكن للمرء أن يرى معلومات إضافية مثل عنوان العلامة أو مقتطف منها يمكن للمرء أيضًا نقل محدّدات المواقع القابلة للسحب باستخدام إيماءة الضغط المطوّل.

الاستجابة لأحداث محدّد الموقع

يمكنك الرد على أحداث محدّدات المواقع عن طريق إضافة بروتوكول GMSMapViewDelegate إلى عرضك وتنفيذ رد الاتصال المقابل. يحدّد هذا المثال سمتَي title snippet للعلامة المحددة.

Swift

// MARK: GMSMapViewDelegate

func mapView(_ mapView: GMSMapView, didTap marker: GMSMarker) -> Bool {
  if let title = marker.title {
    if let snippet = marker.snippet {
      print("marker title: \(title): snippet: \(snippet)")
    }
  }
  return true
}

Objective-C

// MARK: GMSMapViewDelegate

-   (BOOL)mapView:(GMSMapView *)mapView didTapMarker:(GMSMarker *)marker {
  if (marker.title && marker.snippet) {
    NSLog(@"marker with title:%@ snippet: %@", marker.title,  marker.snippet)
  }
  return YES;
}

التحكم في رؤية العلامة حسب مستوى تكبير/تصغير الخريطة

للتحكّم في مستوى رؤية GMSMarker، عليك تنفيذ بروتوكول GMSMapViewDelegate وأضِف شرطًا لضبطه. GMSMarker.map

Swift

// MARK: GMSMapViewDelegate

func mapView(_ mapView: GMSMapView, didChange position: GMSCameraPosition) {
    marker.map = position.zoom >= 14 ? mapView : nil
}

Objective-C

// MARK: GMSMapViewDelegate

-   (void)mapView:(GMSMapView *)mapView didChangeCameraPosition:(GMSCameraPosition *)position {
  marker.map = position.zoom >= 14 ? mapView : nil;
}

جعل محدّد الموقع قابلاً للسحب

عند تفعيل السمة draggable، يمكن للمستخدمين سحب محدّدات المواقع على الخريطة باستخدام إيماءة الضغط المطوّل. لجعل محدّد الموقع قابل للسحب، اضبط GMSMarker.draggable. على true.

Swift

marker.draggable = true

Objective-C

marker.draggable = YES;