Karttasi käyttää nyt oletusprojektiota joka on WGS84, mutta se täytyisi saada käyttämään esimerkiksi sitä samaa EPSG:3067:aa, jossa MML:n aineistot ja palvelut luonnostaan ovat. Minä en osaa OpenLayer-sovellusten tekemistä, mutta tässä on erään valmiin sovelluksen koodista pätkä, toivottavasti se auttaa eteenpäin.
var mapOptions = {
resolutions: [8192.0, 4096.0, 2048.0, 1024.0, 512.0, 256.0, 128.0, 64.0, 32.0, 16.0, 8.0, 4.0, 2.0, 1.0, 0.5, 0.25],
projection: new OpenLayers.Projection(‘EPSG:3067’),
maxExtent: new OpenLayers.Bounds(-548576.0,6291456.0,1548576.0,8388608.0),
units: “meters”,
controls: []
Jaa, tuo palvelin tukee vain näitä projektioita:
EPSG:4326
EPSG:900913
EPSG:3857
3857 tarkoittaa samaa kuin 900913; käytä virallista 3857-koodia, tuon jälkimmäisen voisi jo unohtaa. Extents-ja resolutions-arvot täytyy sovittaa Suomen tilanteeseen. Nämä on otettu Geoserverin demosovelluksesta ja ne kattavat koko maailman
var mapOptions = {
resolutions: [156543.03390625, 78271.516953125, 39135.7584765625, 19567.87923828125, 9783.939619140625, 4891.9698095703125, 2445.9849047851562, 1222.9924523925781, 611.4962261962891, 305.74811309814453, 152.87405654907226, 76.43702827453613, 38.218514137268066, 19.109257068634033, 9.554628534317017, 4.777314267158508, 2.388657133579254, 1.194328566789627, 0.5971642833948135, 0.29858214169740677, 0.14929107084870338, 0.07464553542435169, 0.037322767712175846, 0.018661383856087923, 0.009330691928043961, 0.004665345964021981],
projection: new OpenLayers.Projection(‘EPSG:3857’),
maxExtent: new OpenLayers.Bounds(-2.003750834E7,-2.003750834E7,2.003750834E7,2.003750834E7),
units: “meters”,
Koska tuo Kapsi-palvelin on tavallinen WMS, niin kannattaa todennäköisesti laittaa OpenLayers käyttämään SingleTile-systeemiä
http://openlayers.org/dev/examples/single-tile.html
http://openlayers.org/dev/examples/single-tile.js
Kapsi-palvelimen ylläpitäjä voisi harkita EPSG:3067-tuen lisäämistä tuettujen projektioiden listalle.
Samoin tämän rivin lisäämistä mapfilen WEB-METADATA -osioon
“wms_bbox_extended” “true”
Ja noista neljästä peruskarttatasosta kannattaisi ehkä rakentaa mittakaavariippuvainen GROUP