Hogyan juthat méteres képpont mapkit?

szavazat
1

Azt akartam, hogy teszteljék a mapKit, és azt akarta, hogy a saját overlay megjelenítéséhez pontosságát a pozíciómat. Ha nekem van egy zoom tényező például 0,005 amely sugár nem körömben körülöttem kell rendelkeznie (Ha a pontosság például 500m)?

Jó lenne egy kis segítség :)

Nagyon köszönöm.

A kérdést 27/12/2009 12:58
a forrás felhasználó
Más nyelveken...                            


3 válasz

szavazat
1

Ahhoz, hogy hozzá egy másik választ, a különbség egy szélességi perc felel meg egy tengeri mérföld: ez hogyan tengeri mérföldes került meghatározásra. Tehát konvertáló alapszabály mérföld, 1 tengeri mérföld = 1,1508 szobor mérföld, vagy 6076,1 ft., Vagy 1852 méter.

Amikor megy a hosszúság, a méret a hosszúsági körök a Föld körül csökkenni szélesség növekedésével, amint megjegyezte az előző választ. A helyes tényező az, hogy

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

ahol théta a szélességi.

Természetesen a Föld nem tökéletes gömb, de az egyszerű fenti számítás soha nem lesz ki több mint 1%.

Válaszolt 28/12/2009 22:39
a forrás felhasználó

szavazat
1

Nézd meg a dokumentációt MKCoordinateSpan, amely része a térkép regiontulajdon. Egy szélességi fokot mindig kb. 111 km, így alakítjuk latitudeDeltaa méter, és akkor megy el a méter per pixel legyen könnyű. A hosszanti értékek nem annyira egyszerű, mint a távolság, amelyet egy hosszúsági fokot között változik 111 km (szélesség) és 0 km (a pólusok).

Válaszolt 27/12/2009 14:01
a forrás felhasználó

szavazat
0

My way kap méter pixelenként:

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

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

CGFloat metersPerPixel = metersPerMapPoint * mapRect.size.width / mapView.bounds.size.width;
Válaszolt 19/03/2015 00:16
a forrás felhasználó

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