2014-10-31 236 views
0

我試圖用OL3來展示地圖服務器,但它效果不佳。地圖服務器的文檔是不存在的,地圖服務器的GetCapabilities用非常短的(不是很好或有用的)答案作出響應。我的地圖在OL3中看起來很奇怪「像素」

我已經設法呈現地圖,但它看起來很奇怪,很像。一張圖片會說出更多的千言萬語,所以我只會向你展示它的外觀。

http://imgur.com/UUVJEVKhttp://imgur.com/lkSk3H4http://imgur.com/mlNbHF0

而且我甚至做了JS提琴:

http://jsfiddle.net/qpz7bp2g/

var oLayers = "ST:background"; 

    var oURL = "its on the jsfiddle"; 

    var oProjection = "EPSG:3006"; 

    var oScales = [4000,8000,15000,30000,90000, 120000, 180000, 250000, 500000]; 

    var screenDPI = 95; 
    var IPM = 39.37; 

    var resolutions = []; 
    for (var i = oScales.length-1; i >= 0;--i) { 
     resolutions.push(oScales[i]/(screenDPI * IPM)); 
    } 

    var extent=[181896.33,6101648.07,864582.51,7688373.92]; 

    var projection = new ol.proj.Projection({ 
     code: oProjection, 
     units: "m", 
     extent: extent 
    }); 

    //ol.proj.addProjection(projection); 

    var layers = [ 
     new ol.layer.Tile({ 
      extent: extent, 
      source: new ol.source.TileWMS({ 
       url: oURL, 
       params: {'LAYERS':oLayers, 
       'SRS' : "EPSG:3006"} 
      }) 
     }) 
    ]; 


    var view = new ol.View({ 
     projection: projection, 
     center: ol.proj.transform([13.0, 55.6], 'EPSG:4326', oProjection), 
     resolutions: resolutions, 
     extent: extent, 
     zoom: 0 
    }); 

    var map = new ol.Map({ 
     layers: layers, 
     target: 'maps', 
     view: view 
    }); 

任何想法?

回答

1

的WMS GetMap URL看起來不錯:

http://gis.skanetrafiken.se/wmspublic/service/wms? 
SERVICE=WMS& 
VERSION=1.3.0& 
REQUEST=GetMap& 
FORMAT=image%2Fpng& 
TRANSPARENT=true& 
LAYERS=ST%3Abackground& 
SRS=EPSG%3A3006& 
WIDTH=640& 
HEIGHT=640& 
STYLES=& 
BBOX=405029.65265624993%2C6138836.957109375%2C417425.94835937495%2C6151233.2528125 

Link

但這是WMS服務器呈現:

This is what the WMS server renders

所以我想這個問題是不是OL但服務器上,而造型配置。或者,也許你可能需要找出合適的縮放級別。使用相同的WMS服務器是否有一個工作良好的解決方案?檢查他們的縮放級別。

相關問題