Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Quando propriedades avançadas específicas do marcador são definidas, é possível monitorar eventos
como toques e gestos.
Se um marcador for tocado, será possível conferir mais informações, como um título ou snippet. Também é possível mover marcadores arrastáveis com um gesto de toque e manter pressionado.
Para rastrear eventos de marcador, adicione GMSMapViewDelegate ao seu view.
Para tornar um marcador arrastável, defina a propriedade
GMSMarker.draggable.
Para definir o texto descritivo de um marcador, use a propriedade
GMSMarker.title.
Responder a eventos de marcador
Para responder a eventos de marcador, adicione
o protocolo GMSMapViewDelegate à sua visualização e
implemente o callback correspondente. Este exemplo identifica o title e o
snippet de um marcador selecionado.
Ao ativar a propriedade draggable, os usuários podem arrastar marcadores no mapa com
um gesto de toque e manter pressionado. Para tornar um marcador arrastável, defina a propriedade GMSMarker.draggable como "true".
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-09-05 UTC."],[[["\u003cp\u003eGoogle Maps SDK for iOS allows you to monitor marker events like taps and gestures, displaying information like title and snippet when tapped.\u003c/p\u003e\n"],["\u003cp\u003eYou can enable marker dragging using a long press gesture by setting the \u003ccode\u003eGMSMarker.draggable\u003c/code\u003e property.\u003c/p\u003e\n"],["\u003cp\u003eMarker visibility can be controlled based on the map's zoom level using the \u003ccode\u003eGMSMapViewDelegate\u003c/code\u003e and setting the \u003ccode\u003eGMSMarker.map\u003c/code\u003e property conditionally.\u003c/p\u003e\n"],["\u003cp\u003eTo respond to marker events and access details like title and snippet, implement the \u003ccode\u003eGMSMapViewDelegate\u003c/code\u003e protocol and its corresponding callback methods.\u003c/p\u003e\n"]]],["Markers' events, like taps and gestures, can be monitored by adding `GMSMapViewDelegate`. Tapped markers reveal their title and snippet, set using `GMSMarker.title`. Markers can be made draggable with `GMSMarker.draggable`, allowing movement via long press. You can control marker visibility based on zoom level by setting `GMSMarker.map` within the `GMSMapViewDelegate` callback. Implementing the delegate protocol also allows for handling custom responses to specific marker interactions.\n"],null,["When specific advanced marker properties are set, you can monitor marker events\nsuch as taps and [gestures](/maps/documentation/ios-sdk/controls#map_gestures).\nIf a marker is tapped, one can see additional information such as a marker title\nor snippet. One can also move draggable markers using a long press gesture.\n\n- To track marker events, add the [`GMSMapViewDelegate`](/maps/documentation/ios-sdk/reference/objc/Protocols/GMSMapViewDelegate) to your `view`.\n- To make a marker draggable, set the [`GMSMarker.draggable`](/maps/documentation/ios-sdk/reference/objc/Classes/GMSMarker#draggable) property.\n- To set descriptive text for a marker, use the [`GMSMarker.title`](/maps/documentation/ios-sdk/reference/objc/Classes/GMSOverlay#title) property.\n\nRespond to marker events\n\nYou can respond to [marker events](/maps/documentation/ios-sdk/events) by adding\nthe [`GMSMapViewDelegate`](/maps/documentation/ios-sdk/reference/objc/Protocols/GMSMapViewDelegate) protocol to your view and\nimplementing the corresponding callback. This example identifies the `title` and\n`snippet` for a selected marker. \n\nSwift \n\n```swift\n// MARK: GMSMapViewDelegate\n\nfunc mapView(_ mapView: GMSMapView, didTap marker: GMSMarker) -\u003e Bool {\n if let title = marker.title {\n if let snippet = marker.snippet {\n print(\"marker title: \\(title): snippet: \\(snippet)\")\n }\n }\n return true\n}\n```\n\nObjective-C \n\n```objective-c\n// MARK: GMSMapViewDelegate\n\n- (BOOL)mapView:(GMSMapView *)mapView didTapMarker:(GMSMarker *)marker {\n if (marker.title && marker.snippet) {\n NSLog(@\"marker with title:%@ snippet: %@\", marker.title, marker.snippet)\n }\n return YES;\n}\n```\n\nControl marker visibility by map zoom level\n\nTo control the visibility of [`GMSMarker`](/maps/documentation/ios-sdk/reference/objc/Classes/GMSMarker), implement the\n[`GMSMapViewDelegate`](/maps/documentation/ios-sdk/reference/objc/Protocols/GMSMapViewDelegate) protocol and add a condition to set\n`GMSMarker.map`. \n\nSwift \n\n```swift\n// MARK: GMSMapViewDelegate\n\nfunc mapView(_ mapView: GMSMapView, didChange position: GMSCameraPosition) {\n marker.map = position.zoom \u003e= 14 ? mapView : nil\n}\n```\n\nObjective-C \n\n```objective-c\n// MARK: GMSMapViewDelegate\n\n- (void)mapView:(GMSMapView *)mapView didChangeCameraPosition:(GMSCameraPosition *)position {\n marker.map = position.zoom \u003e= 14 ? mapView : nil;\n}\n```\n\nMake a marker draggable\n\nWhen you enable the `draggable` property users can drag markers on the map with\na long press gesture. To make a marker draggable, set the `GMSMarker.draggable`\nproperty to true. \n\nSwift \n\n```swift\nmarker.draggable = true\n```\n\nObjective-C \n\n```objective-c\nmarker.draggable = YES;\n```"]]