2014-06-09 18 views
23

Hızlı-oyun alanı için bir etiket görmek güzel - bu devam görmek için seviyorum.Hızlı Bakış için Swift oyun alanında MapKit ile bir Harita Görüntüleme?

Swift'le uğraştım ve MapKit'in oyun alanında kullanılıp kullanılamayacağını merak ediyorum, böylece Hızlı Bakış özelliğini kullanabilirsiniz, böylece çalışmamın önizlemesini yaparak yinelemeyi ve oyun oynamayı deneyebilirim. Ben sözdizimi anlayamadım, bu yüzden herkesin bunu bir oyun alanında keşfettiğimi sorardım. Bir denetleyici olarak kurmak için bazı kodlara ihtiyacım var.

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; 

Sadece, sadece sadece .swift yazma aksine o mao işlevselliği yapabileceği olmadığını anlamaya etrafında müdahalesi için yorumlanmış oyun alanı ihtiyacım seviyorum vb kendisini init için MapView için basit bir şey eksik Tahmin Xcode içindeki dosyaları ve ortamı ve daha resmi hale getirme.

+0

http://stackoverflow.com/questions/24108093/how-to-reference-swift-playground-itself?lq=1 https://i.stack.imgur.com/XVqPg.jpg parktaki etkileşimli değildir göstermektedir. –

+0

Belki de bu öğretici sorununuzu çözmenize yardımcı olabilir: http://www.appshocker.com/swift-programming-ios-101-part-4-mapkit-app-displaying-locations/ –

+0

aslında hataların sadece mapView ile bir satır eklerken hata konsolları ama onlar için google çözüm sunamıyorum. ve ben de hiç şans bulamadı XCPShowView ("Harita", mapView) denedim? – ReDetection

cevap

2

bu deneyin: OS X üzerinde XCode7.1 ve Swift2.1 için

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) 
+0

ama harita karoları asla yüklenemedi – ReDetection

+0

Bir kez benim için haritayı yükledim, ama şimdi bir süre bekledikten sonra '' GEOResourceManifestServerRemoteProxy: '' Bağlantı geçersiz '' ('Bağlantı geçersiz') bağlantıyı kaybettim. 30 saniye içinde tekrar deneyeceğim ... (com.apple.geod.plist dosyası doğru mu?) '. Bu _might_ Oyun alanında bir hata. – Mustafa

+0

Xcode 6.2'de bu sadece Playground'umu takıyor ve bazen Xcode'un bağlantıyı kaybettiği için oyun alanını yeniden başlatmam gerektiğini belirten bir hata mesajı veriyor. – holroy

7

, ben zaman çizelgesi açtı ve yaptığımız şu:

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 
+0

Bu neredeyse * iş gibi görünüyor, haritayı, ızgarayı ve bir noktaya yakınlaştırıyor, ancak daha sonra sadece bir kare (sanki bir çöldeymişim gibi) yükler. Harita türünün Uydu veya Melez olarak değiştirilmesi, hiçbir şeyi de değiştirmez. – Nilloc

+1

@Nilloc Bunu "liveView" özelliğini ayarladıktan sonra "XCPlaygroundPage.currentPage.needsIndefiniteExecution = true" satırını ekleyerek işe alabiliyordum. – Ziewvater

+0

@Ziewvater Düzenleme için teşekkürler! Merak ediyorum neden bir süre geri döndü? – cjohnson318

1

Ben Swift Bahçesi Uygulaması'nda bu deneyin Sadece birkaç değişiklik yapıyorum ve kodunuzun bir satırını ekliyorum. Hızlı oyun alanım uygulaması Swift 3.1 kullanıyor. Bir video yükleyebilmeyi isterdim, bu harita görünümünde ben yakınlaştırabilirim ve harita üzerinde dolaşabilirim.

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 
İlgili konular