Cartes personnalisées ios, geolocation, cartographie et plus encore

L'image suivante a été prise sur www.Trimaps.com

Mappage d'une zone de Google Maps à une image personnalisée

(J'espère qu'il est permis d'utiliser des images ici, sinon, s'il vous plaît dites-moi et je vais l'enlever immédiatement).

Ces images expliquent parfaitement ce que j'essaie d'accomplir.

J'ai toutes datatables dont on aurait besoin:

  1. Latitude / Longitude (en valeurs décimales) des 4 coins de la zone souhaitée (à partir de Google Maps).

  2. Une belle image personnalisée d'une montagne (similaire à l'image de droite).

Tout ce dont j'ai besoin c'est les maths. J'ai essayé toutes les formules, scaling / transfomations, vous l'appelez.

Je suis sûr que c'est possible car cela dépend de MATH pure, des équations mathématiques relativement simples.

www.Trimaps.com veut actuellement 300 $ d'utiliser son code. Avec tout le respect de deu, c'est un peu cher pour moi …

Est-ce que quelqu'un sait à propos de l'open source ou l'a réalisé par lui-même?

MISE À JOUR: BTW, je ne request pas de code pour copyr et coller. Je sais coder.

Je pose des questions sur la procédure, la logique derrière, les formules.

Toute sorte d'aide sera très appréciée 🙂

Merci à tous!

Cela dépend aussi de la complexité que vous pouvez vous permettre. Par exemple, il serait préférable de split l'image de la grande carte en petites pièces et de les charger à la request.

Vous pouvez utiliser UIScrollView de toute façon, en utilisant des tuiles ou non. Je serai court avec une seule solution d'image énorme (pas sûr si ce sera correct d'utiliser une grande image comme ça). Vous devez choisir l'équation de calcul de rapport de degré-pour-km, vous pouvez find beaucoup dans wikipedia: Latitude ou search km per degree latitude ou comme ceci. Lorsque vous connaissez le nombre de kilomètres à un degré de latitude et à un degré de longitude, vous pouvez utiliser cette information avec le niveau de zoom de scrollView. Alors maintenant, vous devez get combien de km est en un point en fonction du niveau de zoom de scrollView. Vous pouvez get facilement le rapport aussi loin que vous connaissez les coordonnées du rectangle géographique, le cadre de défilement et l'état du contenu de l'affichage.

Avec toutes ces informations, vous pouvez transformer les coordonnées de localization pour voir les points et vice versa. Donc, vous pouvez même mettre une broche de localization ou quelque chose.

Vérifiez également ceci: http://mapbox.com/mobile/ et cette réponse .

MISE À JOUR: Au début, mec, c'est vraiment désagréable de voir ma réponse non acceptée, mais de toute façon, j'appendai quelques infos. La prochaine fois je ne vais pas déranger. Vérifiez les propriétés contentOffset et contentSize de UIScrollView. Cela signifie que vous pouvez gérer le niveau de zoom par vous-même en utilisant une combinaison de contentSize de contentSize et de contentView's frame . Je veux dire que vous pouvez resize par exemple un UIImageView et positionner son cadre visible avec contentOffset de UIScrollView.