2017-04-14 58 views
0

工作,我有一個問題在openLayers3爲什麼ol.proj.transform功能不openlayers3

它的功能名稱是「ol.proj.transform」

我想更改爲「EPSG: 4326' EPSG從座標 ':5186' 座標

var lonlat1 = ol.proj.transform([111111.1111,222222.2222222],'EPSG:5186','EPSG:4326'); 

console.log(lonlat1); 

lonlat1值爲[111111.1111,222222.2222222]

ol.proj.transform不工作

爲什麼函數不工作?

如何使用ol.proj.transform功能

請幫我...

回答

0

我不熟悉EPSG:5186格式;然而,這裏要說的是似乎是工作(展示其中ol.proj.transform()功能工作正常的情況下)一個類似的例子:

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="UTF-8"> 
    <script src="ol/v3.18.2/build/ol.js"></script> 
</head> 
<body> 
    ol.proj.transform([-85.49675,38.60643333], 'EPSG:4326', 'EPSG:3857'); 
    <script> 
    var lonlat1 = ol.proj.transform([-85.49675,38.60643333], 'EPSG:4326', 'EPSG:3857'); 
    console.log(lonlat1); 
    </script> 
</body> 
</html> 

給予控制檯以下結果:

Array [ -9517454.674479812, 4665452.296008711 ] 
1

我猜醇。 proj默認不包括EPSG:5186。幸運的是,您可以使用Proj4 library添加自定義投影。

下載proj4.js腳本並將其包含在您的地圖頁面上。

還包括EPSG的定義:從epsg.io 5186:

<script src="https://epsg.io/5186.js"></script> 

現在,你做你的改造之前,定義一個變量的投影:

var koreanProj = ol.proj.get('EPSG:5186'); 

最後,使用該變量在你的轉變:

var lonlat1 = ol.proj.transform([111111.1111,222222.2222222], koreanProj, 'EPSG:4326');