위도/경도 십진수 좌표를 iPad 좌표계 영역에 맞출 포인트로 변환하고 싶습니다.십진 위도/경도 좌표를 iPad 화면 좌표로 변환
내 코드는 위도/경도 좌표를 취해이 질문에 따라 직교 좌표로 변환합니다 (convert to cartesian coordinates). 변환 결과는 (2494.269287, 575.376465)입니다.
#define EARTH_RADIUS 6371
- (void)drawRect:(CGRect)rect
{
CGPoint latLong = {41.998035, -116.012215};
CGPoint newCoord = [self convertLatLongCoord:latLong];
NSLog(@"Cartesian Coordinate: (%f, %f)",newCoord.x, newCoord.y);
//Draw dot at coordinate
CGColorRef darkColor = [[UIColor colorWithRed:21.0/255.0
green:92.0/255.0
blue:136.0/255.0
alpha:1.0] CGColor];
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, darkColor);
CGContextFillRect(context, CGRectMake(newCoord.x, newCoord.y, 100, 100));
}
-(CGPoint)convertLatLongCoord:(CGPoint)latLong
{
CGFloat x = EARTH_RADIUS * cos(latLong.x) * cos(latLong.y);
CGFloat y = EARTH_RADIUS * cos(latLong.x) * sin(latLong.y);
return CGPointMake(x, y);
}
어떻게 변환 할 수 있습니다 진수가 아이 패드 화면에 표시됩니다 좌표 좌표 : 여기
내 코드 (아무 컴파일 또는 런타임 오류)인가?
대신 'EARTH_RADIUS' 대신 화면 너비와 높이를 곱하십시오. –
@ H2CO3 - 그게 무슨 뜻이야? 망막 iPad 해상도는 2048 X 1536입니다. 그 숫자를 곱해서 생성 된 좌표는 이전보다 훨씬 커졌습니다. – tentmaking
Nah, 1024 * 768 ** 점입니다. ** Quartz는 픽셀에서 작동하지 않으며, 점으로 작동합니다. –