2017-09-21 2 views
0

J'ai un UIView de taille (height = 213 , Width = 375), je voulais juste afficher la carte à l'intérieur de ce UIView seulement. J'ai écrit le code pour afficher la carte en utilisant Mapbox, mais il montre la carte en plein écran. le code est illustré ci-dessousComment montrer la carte Voir dans une vue sélectionnée en particulier en utilisant la boîte de carte

let mapView = MGLMapView(frame: view.bounds, styleURL: 
    MGLStyle.satelliteStreetsStyleURL()) 
    mapView.autoresizingMask = [.flexibleWidth, .flexibleHeight] 
    mapView.setCenter(CLLocationCoordinate2D(latitude: 40.74699, longitude: -73.98742), zoomLevel: 9, animated: false) 
    view.addSubview(mapView) 

Répondre

0

j'ai créé un débouché pour que Mapview UIView nommé puis changé les choses suivantes dans le code:

let mapView = MGLMapView(frame: mapView.bounds, styleURL: 
MGLStyle.satelliteStreetsStyleURL()) 
mapView.autoresizingMask = [.flexibleWidth, .flexibleHeight] 
mapView.setCenter(CLLocationCoordinate2D(latitude: 40.74699, longitude: -73.98742), zoomLevel: 9, animated: false) 
view.addSubview(mapView) 
0

Il semble que le cadre de votre affichage de la carte est en cours de à la taille du contrôleur de vue racine. frame prend un CGRect. Vous pouvez modifier la taille de votre affichage de carte en ajustant les valeurs dans ce CGRect.

let mapView = MGLMapView(frame: CGRect(x: 0, y: 0, width: 375, height: 213), styleURL: 
MGLStyle.satelliteStreetsStyleURL()) 
mapView.autoresizingMask = [.flexibleWidth, .flexibleHeight] 
mapView.setCenter(CLLocationCoordinate2D(latitude: 40.74699, longitude: -73.98742), zoomLevel: 9, animated: false) 
view.addSubview(mapView) 
+0

Au lieu de donner la largeur et la hauteur, nous devons seulement donner les limites de cette vue. – hussain