Proyección de Mercator de MapKit

votos
0

MapKit usa la proyección Mercator, ¿cómo puedo convertir la latitud a la coordenada de la pantalla Y? Actualización: Gracias. lo uso

CLLocationCoordinate2D leftTopBoxCoordinate;
leftTopBoxCoordinate.longitude=-180+cacheRegion.minX*boxSize;
leftTopBoxCoordinate.latitude=85-cacheRegion.minY*boxSize;
CGPoint leftTopPoint = [map convertCoordinate:leftTopBoxCoordinate toPointToView:map];

int boxDY=leftTopPoint.y;
int boxDX=leftTopPoint.x;
NSLog(@\nL:%f,G:%f\nDX:%d,DY:%d\n,topLeft.latitude,topLeft.longitude,boxDX,boxDY);

Necesito dibujar la cuadrícula que se une al mapa, cacheRegion.minY - es el índice mínimo de la casilla en la cuadrícula, por esto calculo la latitud y la longitud de la casilla y necesito calcular la destance entre el cuadro Leftop y la región mapview. Pero después de 10 grados [map convertCoordinate: leftTopBoxCoordinate toPointToView: map]; no trabajo. Esta buena

-[GridOverlay drawRect:]: 
L:80.058050,G:-180.000000
DX:0,DY:-56
This bad
-[GridOverlay drawRect:]: 
L:79.432371,G:-180.000000
DX:0,DY:28

Todo registro:

-[GridOverlay drawRect:]: 
L:85.000000,G:-180.000000
DX:0,DY:0
-[GridOverlay drawRect:]: 
L:80.058050,G:-180.000000
DX:0,DY:-56
-[GridOverlay drawRect:]: 
L:79.432371,G:-180.000000
DX:0,DY:28

¿Que pasa? ¿sabes?

Publicado el 02/12/2009 a las 13:20
fuente por usuario
En otros idiomas...                            


1 respuestas

votos
0

La proyección de Mercator mapea la latitud de forma lineal, por lo que podría calcular la coordenada desde la propiedad de región de la vista de mapa.

Sin embargo, MKMapView tiene un método que asigna coordenadas de WGS84 a la pantalla: convertCoordinate:toPointToView:.

Respondida el 02/12/2009 a las 13:30
fuente por usuario

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