나는 세계지도가 포함 된 UIImage
에 지구상의 일부 좌표를 그려려고합니다.세계지도와 함께 uiimageview의 신속한 좌표 좌표
아래 아래있는 UIImageView의 예를 참조하십시오 (나는지도를 사용하지 않음) :
당신이 그것을 꽤 잘 작동하고 있지만, 좌표와 X, Y의 매핑이 잘못시피!
Amsterdam
의 좌표는 (52.36666489, 4.883333206)이고 Center
의 좌표는 (0,0)입니다.
나는이 일어날 수 있도록하려고 다음과 같은 일들을했지만 불행하게도이 것은 밖으로 작동하지 않습니다 :
- 위도가
-90
에서90
범위 이후는 '정상화'에 최초의 좌표를 시도했다 위도는-180
~180
입니다.
let normalizedLat = location.coordinate.latitude + 90.0. let normalizedLng = location.coordinate.longitude + 180.0
-
:이는 '정상화'버전을 yiels 실제 경도 실제 위도 90과 180을 추가하여 수행됩니다
normalizedLat
와
normalizedLng
가로 확장해야 스케일 팩터 : 그 후
let heightScaleFactor = mapImageView.frame.height/180.0 let widthScaleFActor = mapImageView.frame.width/360.0
그리고 3. 내가 스케일링 FAC있어 TORS 나는 마지막으로 좌표를 계산할 수 있습니다
let x = Double(widthScaleFActor * CGFloat(normalizedLng)) let y = Double(heightScaleFactor * CGFloat(normalizedLat)) dot.frame = CGRect(x: x, y: y, width: Double(dot.frame.width), height: Double(dot.frame.height))
하지만 어떤 이상한 이유로 암스테르담 암스테르담 자리에 있지 않고 센터가 센터 자리에 없습니다.
나는 계산이 잘못되었다고 확신한다. 어떤 아이디어?
오, 네가 맞아,'mapImageView.frame.height - y'가 트릭을! 이미지도가 더 좋아 보인다. 그러나 오프셋은 여전히 약간 잘못되었습니다. 좀 봐 주시겠습니까? http://imgur.com/a/EGvN8 –
적도가 이미지의 중앙을 통과하지 못합니다. 그것은 조금 더 낮다.적도 체 오프셋을 조정하기 위해 'y'값에 다른 퍼지 계수를 추가해야 할 것입니다. – rmaddy
나는 본다! 고마워요! –