Suite

Comment organiser ses propres tuiles sans projection dans OpenLayers 3 ?


J'ai mes propres tuiles (.png">https://groups.google.com/forum/#!topic/ol3-dev/VVdNXHwiZEk)

Jusqu'à présent, cela fonctionne plus ou moins, mais je rencontre des problèmes pour fournir la bonne étendue de couche. J'ai une carte DIV de 1024x512 pixels et bizarrement pour le niveau de zoom 0 : seule la tuile de gauche est affichée (la droite est manquante).

Le niveau de zoom 0 a une résolution de 2 (vérifiez les résolutions variables) et j'ai donc pensé qu'il me fallait une étendue de 2048(x) et 1024(y) pour afficher 2 tuiles de niveau de zoom 0. [1][2]

Je suppose que l'étendue fournie cause les problèmes.

Des idées pour améliorer cela?

Voici un jsfiddle : http://jsfiddle.net/vb53xz20/

[1]tile1 : services.arcgisonline.com/arcgis/rest/services/ESRI_Imagery_World_2D/MapServer/tile/0/0/0.png">


Bon, j'ai enfin trouvé comment régler les paramètres. Les problèmes étaient dus à la résolution et à l'étendue des tableaux.

I) Le tableau de résolution besoin d'un "z+1" au lieu de "z":

for (var z = 0; z <= 16; z++) { resolutions[z] = maxResolution / Math.pow(2, z+1); }

(d'ailleurs : le nombre de z dans la boucle for définit le nombre de niveaux de zoom disponibles)


II) Et le tableau d'étendue quelques adaptations.

Les 4 valeurs du tableau d'étendue sont : [MinX, MinY, MaxX, MaxY]. Nous pouvons commencer avec des 0 pour les deux valeurs minimales. Les valeurs max dépendent de :

a) le nombre de tuiles
b) les résolutions
c) la taille des carreaux

J'ai trouvé que cette formule fonctionnait bien pour mes besoins :
MaxX(MaxY) = nombre de tuiles x résolution[0] x taille de tuile

Pour l'exemple ci-dessus, cela signifierait :

MaxX = 2 x 2 x 512 = 2048
MaxY = 1 x 2 x 512 = 1024

var minX = 0 ; var minY = 0 ; var maxX = 2048 ; var maxY = 1024 ; étendue : [minX, minY, maxX, maxY]


III) Le centre peut être réglé sur [MaxX/2, MaxY/2]

centre : [maxX/2, maxY/2]


Voici le jsfiddle mis à jour : http://jsfiddle.net/vb53xz20/2/


Voir la vidéo: Building a simple web mapping application using PostGIS, GeoServer u0026 OpenLayers (Octobre 2021).