Hjem Sosiale medier Hvordan du viser brukerens område på et kart i iOS-appen din - dummies

Hvordan du viser brukerens område på et kart i iOS-appen din - dummies

Video: Mockup Online de una App - Aprendiendo Android 08 @JoseCodFacilito 2024

Video: Mockup Online de una App - Aprendiendo Android 08 @JoseCodFacilito 2024
Anonim

Hva om du vil at din iOS-app skal vise brukerens plassering i forhold til hvor de er? Ideelt sett, når du kommer til New York (eller hvor som helst), bør du se et kart som fokuserer på hvor du er i motsetning til hele USA. Først må du se på hvordan du senterer kartet. For å gjøre det, må du legge til setInitialRegion method declaration til MapController. m.

Først oppdaterer du klassen utvidelsen ved å legge til den dristige koden i liste 17-3 til klassen utvidelsen i MapController. m.

@interface MapController () @property (svak, ikkeatomisk) IBOutlet MKMapView * mapView; - (IBAction) mapType: (id) avsender; - (void) setInitialRegion; -d

Fordi kartkontrollen får dataene fra objektet, må du oppdatere implementeringen for å importere klassen også. Legg til fet skriftkodet til MapController. m.

#import "MapController. H" #import "AppDelegate. H" #import "Trip. H"

Til slutt legger du setInitialRegion-metoden til MapController. m.

- (void) setInitialRegion {AppDelegate * appDelegate = [[UIApplication sharedApplication] delegate]; MKCoordinateRegion region; CLLocationCoordinate2D initialCoordinate = [appDelegate. reise destinasjon koordinere]; region. senter. latitude = initialCoordinate. breddegrad; region. senter. lengdegrad = initialkoordinere. lengdegrad; region. span. latitudeDelta =. 05; region. span. longitudeDelta =. 05; [selv. mapView setRegion: region animated: NO];}

Du må da oppdatere viewDidLoad for å bruke denne metoden. Legg til koden i fet skrift i Liste 17-6 for å seDidLoad i MapController. m for å sende denne meldingen.

- (void) viewDidLoad {[super viewDidLoad]; selv. mapView. delegere = selv; selv. mapView. showsUserLocation = YES; [self setInitialRegion]; }

Hvis du kjører dette nå, ser du ikke merknadene … i det minste ikke ennå.

Innstilling av regionen er hvordan du senterer kartet og stiller zoomnivået. Du oppnår alt dette med følgende erklæring:

[selv. mapView setRegion: region animated: NO];

En region er en kartvisningseiendom som spesifiserer fire deler av informasjonen:

  • region. senter. Breddegrad: Angir bredden på midten av kartet.

  • region. senter. lengdegrad: Angir lengden på midten av kartet.

    For eksempel vil midten av kartet være New York hvis du skulle sette disse verdiene som

    region. senter. breddegrad = 40. 712756; region. senter. lengdegrad = -74. 006047;
    
  • region. span. latitudeDelta: Angir nord-sør-avstanden (i breddegrad) for å vises på kartet.En breddegrad er ca 111 kilometer (69 miles). En region. span. latitudeDelta på 0. 0036 vil spesifisere en nord-til-sør avstand på kartet på omtrent en fjerdedel av en kilometer. Bredde nord for ekvator har positive verdier, mens breddegrader sør for ekvator har negative verdier.

  • region. span. longiudeDelta: Angir øst-vest-avstanden (i langsgående grader) for å vise på kartet. Dessverre varierer antall miles i en lengdegrad basert på breddegraden. For eksempel er en grad av lengde ca. 69 miles ved ekvator, men krymper til 0 miles ved polene.

    Longitudes øst for null-meridianen (etter internasjonale konvensjoner, null- eller prime-meridianen passerer gjennom Det kongelige observatoriet, Greenwich, i øst London) har positive verdier, og lengder vest for nullmeridianen har negative verdier.

Selv om spanverdiene gir en implisitt zoomverdi for kartet, kan den faktiske regionen du ser vises ikke være lik spenningen du angir fordi kartet vil gå til zoomnivået som passer best til regionen som er sett.

Dette betyr også at selv om du bare endrer sentrumskoordinatet i kartet, kan zoomnivået endres fordi avstander som representeres av et bestemt spekter, kan endres ved forskjellige breddegrader og lengder. For å klare det, inkluderte de smarte utviklerne på Apple en egenskap du kan angi som endrer senterkoordinatet uten å endre zoomnivået:

@property (nonatomic) CLLocationCoordinate2D centerCoordinate

Når du endrer verdien av denne egenskapen med en ny CLLocationCoordinate2D, kartet er sentrert på den nye koordinaten, og spanverdiene oppdateres for å opprettholde det nåværende zoomnivået.

Den CLLocationCoordinate2D-typen er noe du vil bruke mye. CLLocationCoordinate2D-typen er en struktur som inneholder en geografisk koordinat ved hjelp av WGS 84-referanserammen (referansekoordinatsystemet som brukes av Global Positioning System):

typedef struct {CLLocationDegrees latitude; CLLocationDegrees lengdegrad;} CLLocationCoordinate2D;

Her er en liten forklaring:

  • Breddegrad: Breddegraden i grader. Dette er verdien du angir i koden du nettopp har angitt (region. Senter. Latitude = latitude;). Positive verdier angir breddegrader nord for ekvator. Negative verdier angir breddegrader sør for ekvator.

  • lengdegrad: lengden i grader. Dette er verdien du angir i koden du nettopp har angitt (region. Senter. Lengdegrad = lengdegrad;). Målinger er i forhold til nullmeridianen, med positive verdier som strekker seg øst for meridianen og negative verdier som strekker seg vest for meridianen.

CLLocationDegrees representerer en lengdegrad eller lengdegrad som er angitt i grader og er en dobbel.

For å sentrere kartvisningen i New York, sender du setInitialRegion-meldingen (koden du nettopp har tastet inn) når visningen er lastet inn i viewDidLoad: -metoden.

Hvordan du viser brukerens område på et kart i iOS-appen din - dummies

Redaktørens valg

Bruk skjermfeltet til å endre QuickBooks 2014 Rapporter - dummies

Bruk skjermfeltet til å endre QuickBooks 2014 Rapporter - dummies

Skjermbildet i QuickBooks Modify Report dialogboksen lar deg kontrollere rapportintervalldatoen, rapportgrunnlaget, kolonnene og en annen formatering. Bokstavene Rapporter datoområde - Datoer, Fra og Til - gjør det samme som Datoer, Fra og Til bokser i Rapportvinduet. Disse boksene lar ...

Bruk skjermfeltet til å modifisere QuickBooks 2013 Rapporter - dummies

Bruk skjermfeltet til å modifisere QuickBooks 2013 Rapporter - dummies

Hvis du klikker Tilpass rapport, QuickBooks viser dialogboksen Endre rapport, som du kan bruke til å tilpasse en rapport. Når du tilpasser en rapport, endrer du rapportens utseende, layout og informasjonen som den oppsummerer. Dialogboksen Endre rapport ser annerledes ut for ulike rapporttyper. Likevel, hvis du ser forbi ...

Bruk fanen Filtre til å modifisere QuickBooks 2014 Rapporter - dummies

Bruk fanen Filtre til å modifisere QuickBooks 2014 Rapporter - dummies

Filtrene kategorien er trolig den mest interessante og en nyttig kategori som er levert av dialogboksen QuickBooks Modify Report. Filtre-fanen lar deg sette opp filtre som du kan bruke til å angi hvilken informasjon som oppsummeres i rapporten. For å bruke Filtrer-fanen velger du først feltet du vil ha ...

Redaktørens valg

Administrere Cloud Computing Resources - dummies

Administrere Cloud Computing Resources - dummies

I teorien bør cloud computing-tjenester ikke være forskjellig fra ressursene i din eget miljø, bortsett fra at de bor eksternt. Ideelt sett har du en komplett visning av cloud computing-ressursene du bruker i dag, eller vil kanskje bruke i fremtiden. I de fleste skymiljøer kan kunden bare få tilgang til ...

Tips for Going Cloud med datanettverkene dine - dummies

Tips for Going Cloud med datanettverkene dine - dummies

Beregning med datanettverket ditt kan være, hva skal du gjøre for å ta nettverket ditt mot skyen? Her er noen anbefalinger: Ikke stole på en dårlig Internett-tilkobling. Først og fremst, før du tar noen av nettverksoperasjonene i skyen, gjør du ...

Nettverkstjenester levert gjennom Cloud Computing - dummies

Nettverkstjenester levert gjennom Cloud Computing - dummies

Tre forskjellige typer nettverkstjenester kan leveres via skyen: applikasjoner , plattformer og tjenester (infrastruktur). I de følgende avsnittene beskrives disse tre typer skyttjenester i større detalj. Programmer i skyen Vanligvis kalt Software as a Service (SaaS), fullt funksjonelle applikasjoner kan leveres via skyen. En av ...

Redaktørens valg

10 Hadoop Ressurser verdt en bokmerke - dummies

10 Hadoop Ressurser verdt en bokmerke - dummies

Følgende er ti fantastiske Hadoop-ressurser som er verdige til å skape en bokmerke i nettleseren din. Disse ressursene hjelper deg med å skape en livslang læringsplan for Hadoop. Sentralnervesystemet: Apache. org Apache Software Foundation (ASF) er det sentrale fellesskapet for open source-programvareprosjekter. Ikke bare et prosjekt kan være et Apache-prosjekt - ...

Data transformasjon i Hadoop - dummies

Data transformasjon i Hadoop - dummies

Ideen om Hadoop-inspirerte ETL motorer har fått mye trekkraft de siste årene. Hadoop er trods alt en fleksibel datalagrings- og behandlingsplattform som kan støtte store mengder data og operasjoner på dataene. Samtidig er det feiltolerant, og det gir mulighet for kapital- og programvarekostnad ...

Datablokker i Hadoop Distributed File System (HDFS) - dummier

Datablokker i Hadoop Distributed File System (HDFS) - dummier

Når du lagrer en fil i HDFS, bryter systemet det ned i et sett med individuelle blokker og lagrer disse blokkene i forskjellige slave noder i Hadoop-klyngen. Dette er en helt vanlig ting å gjøre, da alle filsystemer bryter filer ned i blokker før de lagres til disk. HDFS har ingen ...