Belirli gelişmiş işaretçi özellikleri ayarlandığında işaretçi etkinliklerini izleyebilirsiniz hareketler gibi. Bir işaretçiye dokunulursa işaretçinin başlığı gibi ek bilgiler görülebilir snippet'i kullanabilirsiniz. Kullanıcı, sürüklenebilir işaretçileri uzun basma hareketiyle de taşıyabilir.
- İşaretçi etkinliklerini izlemek için
GMSMapViewDelegate
ekleyin.view
cihazınıza. - Bir işaretçiyi sürüklenebilir hale getirmek için
GMSMarker.draggable
mülkündeki her mülk. - Bir işaretçi için açıklayıcı metin ayarlamak üzere
GMSMarker.title
mülkündeki her mülk.
İşaretçi etkinliklerine yanıt verme
İşaretçi etkinliklerini yanıtlamak için
görünümünüze GMSMapViewDelegate
protokolünü ve
ilgili geri çağırmayı uygular. Bu örnekte title
ve
Seçilen işaretçi için 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; }
İşaretçi görünürlüğünü harita yakınlaştırma düzeyine göre denetleyin
GMSMarker
etiketinin görünürlüğünü kontrol etmek için şunu uygulayın:
GMSMapViewDelegate
protokolü ve ayarlanacak bir koşul ekleyin
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; }
İşaretçiyi sürüklenebilir hale getirme
draggable
mülkünü etkinleştirdiğinizde kullanıcılar haritadaki işaretçileri
uzun basma hareketidir. Bir işaretçiyi sürüklenebilir hale getirmek için GMSMarker.draggable
özelliğini ayarlayın
özelliğini true olarak ayarlayın.
Swift
marker.draggable = true
Objective-C
marker.draggable = YES;