J'ai créé un service de tuiles personnalisées et je l'ai ajouté à un mapView puis ça marche très bien. J'ai ensuite utilisé le même code et créé une bibliothèque de frameworks avec un type de retour MapView dans Xcode 8. J'ai ensuite utilisé un exemple d'application de test et importé cette bibliothèque et j'ai appelé la méthode utilisée dans library pour l'ajouter à mapView. Donc mon problème est quand je l'appelle et cette méthode pour Mapview il affiche la carte de MapKit pas ma carte personnaliséecomment utiliser MapView à partir d'une bibliothèque de frameworks Xcode8
Code utilisé dans la bibliothèque
import Foundation
import MapKit
public class mapLib: NSObject{
public class func createMap(mapView: MKMapView) ->MKMapView{
let mapView = mapView
//custom map URL
let template = "http://tile.openstreetmap.org/{z}/{x}/{y}.png"
let overlay = MKTileOverlay(urlTemplate: template)
overlay.canReplaceMapContent = true
mapView.add(overlay, level: .aboveLabels)
return mapView;
}
}
Code utilisé dans l'application
import UIKit
import MapKit
import mapLib
class ViewController: UIViewController {
@IBOutlet weak var mapV: MKMapView!
override func viewDidLoad() {
super.viewDidLoad()
let view = mapLib.createMap(mapView: mapV)
mapV.addOverlays(view.overlays)
//any additional setup after loading the view, typically from a nib.
}
Je dois préciser que la façon dont je vais aborder fonctionnerait ou n'importe quelle autre méthode pour le faire :)
maintenant l'application se est écrasé et dit « 0__abort_with_payload » – Saneth
puis ajouter le délégué et l'implémentation dans votre viewController, et essayez, pour moi est difficile de tester votre configuration @Saneth –
fonction mapView (_ mapview: MKMapView, rendererFor overlay: MKOverlay) -> MKOverlayRenderer {...}. Y at-il un autre moyen d'ajouter cette méthode problème est dans – Saneth