2012-09-25 2 views
13

Così qui è compito ho bisogno di ottenere fatto su iOS:Come tracciare (mostrare) la posizione dell'utente sull'immagine? iOS

Visualizza l'utente della posizione corrente su un'immagine come questa:

enter image description here

Sì, come questa immagine!

Così poche cose si noteranno non appena si guardano. È inclinato. Le intestazioni sono Off. Puoi vedere l'orizzonte ..!

Diciamo,

  • ho luogo per gli angoli di questa immagine coordinate.
  • Ho un angolo in cui questa immagine è inclinata. (ad esempio 50 °)
  • Ho l'angolo di direzione dell'immagine. (ad esempio -170 ° nord, che significa circa 10 ° sud-ovest, correggimi se sbaglio.)
  • E ho il livello di zoom su cui questa immagine sarebbe stata ingrandita se fosse su Google Maps/Google Earth. (ad esempio 14 livello di zoom - su 20)

Ma questo è il compito, ho bisogno di mostrare agli utenti la posizione su tali immagini. Proprio come in "Google Earth".

Qualcuno può darmi dei consigli per portare a termine questo compito?

Grazie a tutti. :)

+0

Quali sono le coordinate di posizione degli angoli dell'immagine di esempio? Puoi mostrarci i numeri. Ti suggerisco di lasciare cadere termini come -170 ° Nord e continuare ad usare la misurazione angolare solo nel dichiarare azimuth. –

risposta

0

Ho ottenuto il risultato desiderato tracciando la coordinata su un UIView e trasformandola utilizzando CATrasnform3D. Queste spiegazioni aiutano anche, Explanation of Transformation Matrix in termini di animazione core e Core Animation Programming Guide stesso.

_graphic.transform = CGAffineTransformMakeRotation(-2.89724656); 

CATransform3D rotatedTransform = _graphic.layer.transform; 

rotatedTransform.m34 = 1.0/500; 
rotatedTransform.m22 = -2; 
rotatedTransform.m41 = 170; 
rotatedTransform.m42 = 170; 

rotatedTransform = 
CATransform3DRotate(rotatedTransform, 
        51 * M_PI/180.0f, 
        1.0f, 
        0.0f, 
        0.0f); 


_graphic.layer.transform = rotatedTransform; 

[_graphic setNeedsDisplay]; 

Grazie a tutti.