2011-02-03 11 views
0

ベースマップには「EPSG:32639」投影、ベースマップにはkmlレイヤーの「EPSG:4326」投影図があります。それは私のベースマップを表示し、kmlレイヤーを表示しません。それのどこが悪いんだい?オペラ層Reprojection Kml層

私のソースコードはtherです。

function initMap(){ 
      // if this is just a coverage or a group of them, disable a few items, 
      // and default to jpeg format 
      format = 'image/png'; 

      var bounds = new OpenLayers.Bounds(
       551438.385, 3602649.973, 
       571430.791, 3627258.571 
      ); 
      var options = { 
       controls: [ 
              new OpenLayers.Control.Navigation({mouseWheelOptions: {interval: 100}}), 
        new OpenLayers.Control.PanZoomBar(), 
              new OpenLayers.Control.NavToolbar(), 
        new OpenLayers.Control.LayerSwitcher({'ascending':false}), 
        new OpenLayers.Control.Permalink(), 
        new OpenLayers.Control.ScaleLine(), 
        new OpenLayers.Control.MousePosition(), 
              new OpenLayers.Control.Scale($('scale')), 
              new OpenLayers.Control.OverviewMap(), 
        new OpenLayers.Control.KeyboardDefaults(), 
              new OpenLayers.Control.ZoomBox({alwaysZoom:true}) 
              ], 
       maxExtent: bounds, 
       projection: 'EPSG:32639', 
       units: 'm', 
            maxResolution: 136.21203906250003, 
            numZoomLevels: 10, 
      }; 
      map = new OpenLayers.Map('map', options); 


      tiled = new OpenLayers.Layer.TileCache('ESFAHANMAP', 
      ['http://www.memap.ir/map'],'ESFAHANMAP',{'format':'image/jpeg',sphericalMercator: true, buffer: 0 }); 


          kmlLayer = new OpenLayers.Layer.Vector('Points', 'point.kml',{ 
            projection: new OpenLayers.Projection('EPSG:4326') 
          }); 
          map.addLayers([tiled,kmlLayer]); 
      map.zoomToExtent(bounds); 

     } 

答えて

0

まあ、同じ地図に異なる投影を表示することはできません。 KMLからベースマップにあるものと同じ投影法にフィーチャを再投影する必要があります。例を参照してくださいhere

関連する問題