Donc j'utilise Swift 4 et j'aimerais qu'une épingle tombe, puis quand l'utilisateur touche la broche, je voudrais aussi qu'elle trouve le texte de cette position actuelle ... Quand je la lance, la broche tombe bien mais après que je ne peux pas taper sur la broche, n'ayant donc aucune interaction avec ce point marqué. Je devrais noter que j'utilise Mapbox.Swift: Comment faire une vue de titre personnalisée de l'endroit où la broche a été déposée?
import Foundation
import UIKit
import CoreLocation
import Mapbox
import MapKit
class SecondViewController: UIViewController, CLLocationManagerDelegate, MGLMapViewDelegate {
@IBOutlet var mapView: MGLMapView!
let manager = CLLocationManager()
override func viewDidLoad() {
super.viewDidLoad()
manager.delegate = self
manager.desiredAccuracy = kCLLocationAccuracyBest
manager.requestWhenInUseAuthorization()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
@IBAction func markStuff(_ sender: Any) {
}
@IBAction func refLocation(_ sender: Any) {
manager.startUpdatingLocation()
}
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let location = locations[0]
let center = CLLocationCoordinate2D(latitude: location.coordinate.latitude, longitude: location.coordinate.longitude)
mapView.setCenter(center, zoomLevel: 10, animated: true)
let annotation = MGLPointAnnotation()
annotation.coordinate = location.coordinate
annotation.title = "\(annotation.coordinate)"
self.mapView.addAnnotation(annotation)
manager.stopUpdatingLocation()
}
}
Vous devez vérifier les méthodes de délégation de mapView. Commencez avec self.mapView.delegate = self. Normalement, vous devez utiliser la méthode didTapAtMarker et implémenter ce que vous voulez, il est probablement similaire avec MapBox – PoolHallJunkie