预测之间的转换不起作用

时间:2015-02-25 16:07:31

标签: openlayers projection

我正在尝试使用openlayers在两个不同的投影之间进行转换,但我无法使其工作。 我确信我的源投影是EPSG:2100,我需要将它转换为我的地球投影,即球形墨卡托。

我做的标记我创建并放置在地图上总是在同一个位置:

       var addMarker = function(){

           var fromProjection = new OpenLayers.Projection("EPSG:2100");
           var toProjection   = new OpenLayers.Projection("EPSG:4326"); 
           var position       = new OpenLayers.LonLat(479758.284700697,4207092.83410554).transform( fromProjection, toProjection);

           markers = new OpenLayers.Layer.Markers("Markers");
           map.addLayer(markers);

           marker = new OpenLayers.Marker(position)
          markers.addMarker(marker); 
         };
          var destroyMarker = function(){
           markers.removeMarker(marker);

       };

1 个答案:

答案 0 :(得分:1)

我认为你必须先宣布你的预测(EPSG:2100)。您可以使用proj4js库来执行此操作。

我尝试了你的代码,这就是它向我展示的内容:`

"NetworkError: 404 Not Found - http://localhost:19614/JSLib/proj4js/lib/defs/EPSG2100.js"

当你的图书馆不知道你的投影时会发生这种情况。

还有别的:EPSG:4326不是球形墨卡托它是WGS84的代码。 对于Sperical Mercator,您必须使用:EPSG:900913或EPSG:3857。 有关EPSG数据集的更多信息,请查看here