Musím simulovat, jak bude moje žádost vypadat, když je uživatel jezdit na demo. Mám MKMapView, jak mohu simulovat vzhled uživatele hnacím kolem, které budou používat funkci map.userLocation, která zřejmě nebude k dispozici v demo.
Dík!
Musím simulovat, jak bude moje žádost vypadat, když je uživatel jezdit na demo. Mám MKMapView, jak mohu simulovat vzhled uživatele hnacím kolem, které budou používat funkci map.userLocation, která zřejmě nebude k dispozici v demo.
Dík!
Dobře jsem se něco děje, prostě jsem to udělal v podstatě to
- (void)moveIcon:(MKAnnotationView*)locationView toLocation:(CLLocation*)newLoc
{
LocationAnnotation* annotation = [[[LocationAnnotation alloc] initWithCoordinate:newLoc.coordinate] autorelease];
[locationView setAnnotation:annotation];
[map setCenterCoordinate:newLoc.coordinate animated:YES];
}
Pak říkám chlapa ve smyčce mezi všemi z mých vrcholů s mírným zpožděním. Funguje poměrně qell.
Žádný způsob, jak simulovat v iPhone simulátoru. Budete muset nahrát do zařízení a pohybovat.
Zjistil jsem, lepší způsob, jak by bylo podtřídy MKUserLocation:
class SimulatedUserLocation: MKUserLocation {
private var simulatedCoordinate = CLLocationCoordinate2D(latitude: 39, longitude: -76)
override dynamic var coordinate: CLLocationCoordinate2D {
get {
return simulatedCoordinate
}
set {
simulatedCoordinate = newValue
}
}
}
Pak přidat jako anotace mapView.addAnnotation(SimulatedUserLocation()). (Můžete také chtít, aby nejprve skrýt skutečné umístění mapView.showsUserLocation = false)
iOS by zbavil poznámku přesně jako skutečné polohy uživatele.
dynamic Používá se na pozemku tak, že změna souřadnic spouští Kvo a přesune ji na mapě.
Aby bylo možné simulovat jízdu, budete muset vytvořit 2 základní funkce:
Čtení CLLocations z archivu (který byste se přihlásit v průběhu zkoušky pohonu se zařízením). V ideálním případě budete to na základě časových razítek na místech, tj reprodukci přesně stejné informace o poloze, které byly během testu disku obdrželi.
Aktualizace pozici vaší MKAnnotationView se na mapě na základě umístění číst z protokolu.
Pro část 1, se podívat na CLLocationDispatch , šikovný třídy, která zajišťuje archivaci / rozbalování z CLLocations a odesílá je na jednu nebo více posluchačů (protokolem CLLocationManagerDelegate).
Pro část 2, se podívat na pohyblivým MKAnnotationView .
Dalo by se také podívat na iSimulate , které tvrdí, že je schopen simulovat několik funkcí jsou k dispozici pouze na iPhone v simulátoru iPhone patří CoreLocation. Nezkoušel jsem to sám, takže vaše najetých kilometrů se mohou lišit.
Nejsem iPhone dev expert, ale jak se zobrazení mapy obdrží souřadnic? Pokud je to prostřednictvím funkce, která volá API CoreLocation, mohli byste stačí napsat funkci, která náhodně generuje zeměpisnou délku a šířku hodnot v určitém časovém intervalu a nechat si ukázat mapu vytáhnout souřadnic odtamtud místo? Jen myšlenka.
Odpověď je ne. Potom, jak se o přidání vrstvu abstrakce mezi kódem a MKMapKit? Můžete to udělat xUnit testy na váš cíl.