Hoe wordt meter pixel krijgen in mapkit?

stemmen
1

Ik wilde de mapKit testen en wilde mijn eigen overlay om de juistheid van mijn positie weer te geven te maken. Als ik een zoomfactor van bijvoorbeeld 0,005 waarvoor radius mijn kring om mij heen hoeft te hebben (Als mijn nauwkeurigheid is bijvoorbeeld 500m)?

Zou geweldig zijn om wat hulp te krijgen :)

Hartelijk bedankt.

De vraag is gesteld op 27/12/2009 om 12:58
bron van user
In andere talen...                            


3 antwoorden

stemmen
1

Toe te voegen aan een ander antwoord, een verschil van één van minuten breedte komt overeen met één nautische mijl: dat is hoe de nautische mijl werd gedefinieerd. Dus, het omzetten naar statuut mijl, 1 nautische mijl = 1,1508 standbeeld mijl of 6076,1 ft. Of 1852 meter.

Als je naar lengte, de grootte van de lengtegraad cirkels rond de aarde krimpen breedte toeneemt, zoals werd vermeld op het vorige antwoord. De juiste factor is dat

1 minute of longitude = (1852 meters)*cos(theta),

waarbij theta de breedtegraad.

Natuurlijk, de aarde is geen perfecte bol, maar de eenvoudige berekening zou hiervoor nooit af zijn met meer dan 1%.

antwoordde op 28/12/2009 om 22:39
bron van user

stemmen
1

Kijk naar de documentatie voor MKCoordinateSpan, dat deel uitmaakt van de kaart van de regionwoning. Een breedtegraad is altijd ong. 111 km, dus het omzetten van de latitudeDeltanaar meters en vervolgens om naar de meter per pixel moet gemakkelijk zijn. Longitudinale waarden is niet zo eenvoudig als de afstand die een lengtegraad varieert tussen 111 km (op de evenaar) en 0 km (op de polen).

antwoordde op 27/12/2009 om 14:01
bron van user

stemmen
0

Mijn manier om meter per pixel te krijgen:

MKMapView *mapView = ...;
CLLocationCoordinate2D coordinate = ...;

MKMapRect mapRect = mapView.visibleMapRect;
CLLocationDistance metersPerMapPoint = MKMetersPerMapPointAtLatitude(coordinate.latitude);

CGFloat metersPerPixel = metersPerMapPoint * mapRect.size.width / mapView.bounds.size.width;
antwoordde op 19/03/2015 om 00:16
bron van user

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