Nasıl bir MKMapView bir rotayı sürüş bir kullanıcı simüle etmek?

oy
0

Bir kullanıcı bir demo için etrafında sürüş sırasında başvurum nasıl görüneceğini simüle etmek gerekir. Ben açıkçası demo mevcut olmayacaktır map.userLocation işlevselliği, kullanacağı etrafında sürüş bir kullanıcının göz taklit nasıl bir MKMapView var.

Teşekkürler!

Oluştur 07/11/2009 saat 23:47
kaynak kullanıcı
Diğer dillerde...                            


7 cevaplar

oy
1

Eh bir şey gidiş var, sadece esasen bunu

- (void)moveIcon:(MKAnnotationView*)locationView toLocation:(CLLocation*)newLoc
{
    LocationAnnotation* annotation = [[[LocationAnnotation alloc] initWithCoordinate:newLoc.coordinate] autorelease];
    [locationView setAnnotation:annotation];
    [map setCenterCoordinate:newLoc.coordinate animated:YES];
}

Sonra hafif bir gecikme ile benim köşenin tüm arasında bir döngü içinde bu adamı diyoruz. Oldukça qell çalışır.

Cevap 08/11/2009 saat 01:48
kaynak kullanıcı

oy
1

Hiçbir şekilde iPhone simülatörü simüle etmek. Cihazınızın üzerine yük ve hareket etmek gerekir.

Cevap 08/11/2009 saat 00:01
kaynak kullanıcı

oy
0

Ben daha iyi bir yol alt sınıfa olacağını bulundu MKUserLocation:

class SimulatedUserLocation: MKUserLocation {
    private var simulatedCoordinate = CLLocationCoordinate2D(latitude: 39, longitude: -76)
    override dynamic var coordinate: CLLocationCoordinate2D {
        get {
            return simulatedCoordinate
        }
        set {
            simulatedCoordinate = newValue
        }
    }
}

Sonra bir ek açıklama olarak ekleyin mapView.addAnnotation(SimulatedUserLocation()). (Ayrıca ilk gerçek konumunu gizlemek isteyebilirsiniz mapView.showsUserLocation = false)

iOS tıpkı gerçek kullanıcının bulunduğu konum gibi ek açıklama hale getirebilir.

dynamic koordinat değişen böylece mülkiyet kullanılır Kvo tetikler ve harita üzerinde hareket eder.

Cevap 19/12/2016 saat 18:36
kaynak kullanıcı

oy
0

Sürüş simüle etmek için size 2 temel işlevleri kurmak gerekir:

  1. Bir arşivden CLLocations Okuma (bir cihazla tahrik testi sırasında oturum ederim). İdeal yani sürücü testi sırasında alınan aynı konum güncellemelerini çoğaltılması, yerle ilgili zaman damgaları dayalı yapacağım.

  2. günlüğünden okumak yerleri temel harita üzerinde MKAnnotationView konumunu güncellenmesi.

Part 1 için, bir göz atın CLLocationDispatch , CLLocations arşivlenmesi / unarchiving sağlar ve bir veya daha fazla dinleyiciye (CLLocationManagerDelegate protokolünü kullanarak) bunları gönderir kullanışlı sınıfa.

Parçası 2 için bakmak Hareketli-MKAnnotationView .

Cevap 18/05/2011 saat 15:27
kaynak kullanıcı

oy
0

Ayrıca kontrol edebilir iSimulate CoreLocation dahil iPhone simülatörü iPhone'da kullanılabilir çeşitli özellikler simüle etmek mümkün olduğunu iddia ediyor. Kendimden kilometre değişebilir bu denemedim.

Cevap 08/11/2009 saat 00:57
kaynak kullanıcı

oy
0

Ben bir iPhone dev uzmanı değilim, ama nasıl harita görünümü koordinatlarını alır? o CoreLocation API çağrıları bir fonksiyonu sayesinde ise, muhtemelen sadece rastgele belirli bir zaman aralığında enlem ve boylam değerleri üreten bir işlevi yazıp haritanız görünüm yerine gelen koordinatları çekmesini söyleyebilirsiniz? Sadece bir düşünce.

Cevap 08/11/2009 saat 00:09
kaynak kullanıcı

oy
-1

Cevap hayır. Ardından, nasıl kod ve MKMapKit arasında bir soyutlama katmanı eklemeye ne dersiniz? Eğer amaç için xunit testleri yapabilir.

Cevap 09/11/2009 saat 03:05
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more