2013-03-05 12 views
6

Bir ev projesi için bir Leafletjs kullanıyorum (Bu şu anda görünüyor, şu anda . Ama ben projeksiyonu ayarlamak zorunda bulamıyorum, OpenLayers için buldum, bu gibi görünüyor : bana yardımcı olabilirLeafletjs üzerinde kurulum izdüşümü

// Openlayers settings 
    //var defaultMaxExtent = new OpenLayers.Bounds(427304, 6032920, 927142, 6485144); 
    var defaultMaxExtent = new OpenLayers.Bounds(427304, 6032920, 927142, 6485144); 

    var defaultProjection = "EPSG:25832"; 
    var defaultUnits = "Meters"; 
    var defaultResolutions = new Array(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024); 
    var defaultExtent = new OpenLayers.Bounds(215446, 2103547, 706886, 6203897); //this extent is used when the page is loaded. 
    //var defaultExtent = new OpenLayers.Bounds(705446, 6203547, 706886, 6203897); //this extent is used when the page is loaded. 
    map = new OpenLayers.Map('map', { projection: defaultProjection, units: defaultUnits, maxExtent: defaultMaxExtent, resolutions: defaultResolutions, controls: [ 

     // Hide controls by default 
    new OpenLayers.Control.Navigation({ wheelChange: HideInfoBox() }), 
    new OpenLayers.Control.ArgParser(), 
    new OpenLayers.Control.Attribution()] 
    }); 
    layer = new OpenLayers.Layer.WMS("kort", "http://serverAddress?", { nbr: '', username: 'admin', password: 'adminadmin', layers: 'Overlayer', format: 'image/png' }); 

Herkes

Güncelleme:? Öyle gibi onu el broşürü standart projeksiyon alıp özelleştirilmiş çalıştık

L.CRS.EPSG25832 = L.extend({}, L.CRS, { 
    code: 'EPSG:25832', 
    projection: L.Projection.SphericalMercator, 
    transformation: new L.Transformation(0.5/Math.PI, 0.5, -0.5/Math.PI, 0.5), 

    project: function (latlng) { // (LatLng) -> Point 
     var projectedPoint = this.projection.project(latlng), 
       earthRadius = 6378137; 
     return projectedPoint.multiplyBy(earthRadius); 
    } 
}); 

Şimdi projeksiyon doğru. Fakat şimdi sorun şu ki, koordinatlar yanlıştır, bu yüzden örnek olarak broşürden koordinatları alırsam, Kolding şimdi Danimarka'da olmayan orta fransa'da kaldırılır.

+0

Belki yardım kaynakları broşür/broşür/ağaç/ana/src/jeo/crs. – tbicr

+0

Neler yanlış gidiyor? – flup

+0

@flup Bu resimdeki kaynaklardan daha fazla esnetilmelidir. Https://dl.dropbox.com/u/2230967/DKv2.PNG – mortenstarck

cevap

6

Sorunun çözümünü kendim buldum. yerine Bunu yaparak : https://github.com/Leaflet/Leaflet/blob/master/src/map/Map.js#L10 ve https://github.com/:

var crs = L.CRS.proj4js('EPSG:25832', '+proj=utm +zone=32 +ellps=GRS80 +units=m +no_defs', new L.Transformation(0.5/(Math.PI * L.Projection.Mercator.R_MAJOR), 0.5, -0.5/(Math.PI * L.Projection.Mercator.R_MINOR), 0.5)); 

    var map = new L.Map('Krak-Map', { center: new L.LatLng(latitude, longitude), zoom: 17, crs: crs }); 
+2

Merhaba Morten, Burada diğer projeksiyonlarda da benzer sorunlar var: http: // stackoverflow. com/questions/31070949/leaflet-map-with-wms-ve-custom-projection Soru: Dönüşüm kısmını öğrenmek için nereye gittiniz? – Steen

+0

EPSG: 25832'nin desteklenmediği sorun oldu, ancak utm + zone 32 ekleyerek bunu düzelttiniz mi? –