2012-03-22 42 views
2

我有一個openlayers地圖,有不同的圖層,比如bing或openstreetmap,還有一個雲製作的圖層。 bing和openstreetmap顯示完全相同的位置。 如果我將圖層切換到雲製作位置跳躍大約200米。openlayers:雲層有比bing或osm略有不同的投影

有什麼想法,該如何改變?

var map, options; 

     function init(){ 

     map = new OpenLayers.Map('map', { 
     controls: [ 
       new OpenLayers.Control.Navigation(), 
       new OpenLayers.Control.ScaleLine(), 
       new OpenLayers.Control.Attribution(), 
       new OpenLayers.Control.LayerSwitcher(), 
       new OpenLayers.Control.PanZoomBar({minZoom: 12}) 

      ], 
      minZoom:12, 
      maxZoom:19   }); 


    var osm = new OpenLayers.Layer.OSM(); 


var binghybrid = new OpenLayers.Layer.Bing({ 
key: "MYKEY", 
type: "AerialWithLabels", 
name: "Satellite"}); 

var cloudmade = new OpenLayers.Layer.CloudMade("cloudmade", { 
key: 'MYKEY', 
styleId: 57439}); 


      map.addLayers([cloudmade, binghybrid, osm]); 
    var epsg4326 = new OpenLayers.Projection("EPSG:4326"); 
    var center = new OpenLayers.LonLat(14.290556,48.303056).transform(epsg4326, map.getProjectionObject()); 
    map.setCenter(center, 14); 

回答

4

您應修改original OpenLayers.Layer.CloudMade類:改變OpenLayers.Layer.TMS到OpenLayers.Layer.XYZ。 Here是工作示例。

+1

嘿我剛剛找到這個鏈接。非常感謝。現在它的工作! – user1285411 2012-03-22 10:23:24

+0

非常感謝!你救了我的一天! – milovanderlinden 2012-11-21 15:16:27