Afficher une carte avec MapKit dans un terrain de jeu Swift pour un coup d'oeil rapide?

bon de voir une étiquette pour swift-playground-j'aime voir cela continuer.

j'ai bricolé avec Swift et je me demande si le MapKit peut être utilisé dans la Cour de récréation afin que vous puissiez utiliser la fonction Quick Look pour que je puisse itérer et jouer avec un aperçu de mon travail. Je n'ai pas trouvé la syntaxe, donc j'ai pensé que je voudrais demander si quelqu'un a exploré ceci dans un environnement de terrain de jeu. Je pense que j'ai besoin d'un certain code pour l'établir comme une vue contrôleur.

import UIKit
import MapKit

// Sample UIView code which works great in the playground.
//var myView:UIView = UIView();
//myView.frame = CGRectMake(0, 0, 320, 560)
//myView.backgroundColor = UIColor.blueColor()

// Non working map code - no errors but can't figure out what to call or initiate to get the view in the Quick Look side.

var mapView = MKMapView();
mapView.region.center.latitude = mapView.userLocation.coordinate.latitude;
mapView.region.center.longitude = mapView.userLocation.coordinate.longitude;
mapView.region.span.latitudeDelta = 0.00725;
mapView.region.span.longitudeDelta = 0.00725;

je suppose que je suis juste en train de rater quelque chose de simple pour que le mapView s'initie lui-même, etc. J'aime l'aire de jeu interprétée pour bricoler autour, juste besoin de comprendre si elle peut faire la fonctionnalité mao au lieu de simplement écrire .les fichiers swift et l'environnement dans Xcode et obtenir plus formel.

23
demandé sur Honey 2014-06-09 10:32:27

3 réponses

import MapKit
import XCPlayground

let delta = 5.0
let frame = CGRect( x:0, y:0, width:200, height:200 )
let mapView = MKMapView( frame: frame )
var region = MKCoordinateRegion()
region.center.latitude = 31.0
region.center.longitude = -110.0
region.span.latitudeDelta = delta
region.span.longitudeDelta = delta
mapView.setRegion( region, animated: true )

XCPlaygroundPage.currentPage.liveView = mapView
XCPlaygroundPage.currentPage.needsIndefiniteExecution = true

Xcode 9.X, Swift 4.1 Mise à jour:

importer PlaygroundSupport importer MapKit

let delta = 5.0
let frame = CGRect( x:0, y:0, width:200, height:200 )
let mapView = MKMapView( frame: frame )
var region = MKCoordinateRegion()
region.center.latitude = 31.0
region.center.longitude = -110.0
region.span.latitudeDelta = delta
region.span.longitudeDelta = delta
mapView.setRegion( region, animated: true )

PlaygroundPage.current.liveView = mapView
PlaygroundPage.current.needsIndefiniteExecution = true
8
répondu cjohnson318 2018-07-07 14:18:27

essaye ceci:

import UIKit
import MapKit
import XCPlayground // Required for XCPShowView

let frame = CGRect(x: 0, y: 0, width: 150, height: 150)
let mapView = MKMapView(frame: frame)
mapView.region.center.latitude = 37.3347606
mapView.region.center.longitude = -122.0548883
mapView.region.span.latitudeDelta = 0.00725
mapView.region.span.longitudeDelta = 0.00725

XCPShowView("mapview", mapView)
2
répondu Mustafa 2015-02-12 09:49:50

j'ai essayé cette application dans Swift Playground, j'ai juste quelques modifications et j'ai ajouté une ligne de votre code. Mon application swift playground utilise Swift 3.1. J'aimerais pouvoir télécharger une vidéo, dans ce mapview je peux zoomer et zoomer et je peux me déplacer dans la carte. https://i.stack.imgur.com/XVqPg.jpg

import UIKit
import PlaygroundSupport
import MapKit 


var myView:UIView = UIView()
myView.frame = CGRect(origin: CGPoint (), size: CGSize(width: 320, height: 568))


var mapView = MKMapView();
mapView.region.center.latitude = 
mapView.userLocation.coordinate.latitude
mapView.region.center.longitude = 
mapView.userLocation.coordinate.longitude
mapView.region.span.latitudeDelta = 0.00725
mapView.region.span.longitudeDelta = 0.00725

myview.addSubview(mapView)


PlaygroundPage.current.liveView = mapView
PlaygroundPage.current.needsIndefiniteExecution = true
2
répondu Isau 2017-06-23 00:48:16