Openlayer 3加載本地ArcGIS切片

第一篇博客,簡單的開個頭吧。但願本身能堅持記錄。通常什麼狀況什麼人須要這樣的需求呢,伐木的光頭強大哥說咱們在深山老林裏,沒網的啊,地圖就手機本地duang的加載一下吧。那麼Server啊就要丟掉丟掉。丟掉手錶丟掉外套,丟掉揹包再丟掉嘮叨,咳咳,跑題了。來看看具體步驟吧,很是簡單但詳細。javascript

1. 製做切片的數據基本信息以下:css

圖層數據信息:html

地理座標系:  GCS_WGS_1984java

基準面:          D_WGS_1984緩存

本初子午線:              Greenwich測試

角度單位:     Degreegoogle

數據框信息:spa

GCS_WGS_1984調試

WKID: 4326 權限: EPSGcode

2.設置的緩存方式以下:(緩存切片方案ArcGIS online/Bing/google),緩存級別10-16;高級設置:切片原點默認,存儲格式鬆散型EXPLODED。 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.發佈切片服務前先分析一下結果:(無錯誤)

 

4.發佈完成後能夠登陸ArcGIS server查看緩存的相關信息或者在本地的緩存文件夾arcgiscache中查看緩存的信息:

 

5.緩存好的本地文件,文件命名方式是16進制:

 

6.測試代碼

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>ol加載ArcGIS本地切片</title>
    <link rel="stylesheet" href="ol.css">
    <script src="ol.js"></script>
</head>
<body>
<div id="map"></div>
<script type="text/javascript">
    // 設置尋甸縣爲地圖中心,此處進行座標轉換, 把EPSG:4326的座標,轉換爲EPSG:3857座標,由於ol默認使用的是EPSG:3857座標
    pos = ol.proj.transform([103.25, 25.56], 'EPSG:4326', 'EPSG:3857');
    //alert(pos);
    //建立地圖
    var map = new ol.Map({
        view: new ol.View({
            center:pos,
            zoom: 10
        }),
        //添加open street map圖層
        layers:[
            new ol.layer.Tile({
                source:new  ol.source.OSM()
            })
        ],
        //將地圖添加到的map容器中
        target: 'map'
    });
    //給8位字符串文件名補0
    function zeroPad(num, len, radix) {
        var str = num.toString(radix || 10);
        while (str.length < len) {
            str = "0" + str;
        }
        return str;
    }
    // ol.source.XYZ添加瓦片地圖的層
    var tileLayer = new ol.layer.Tile({
        source: new ol.source.XYZ({
            tileUrlFunction: function (tileCoord) {
                //alert(tileCoord[0] + " X= " + tileCoord[1] + " Y= " + tileCoord[2]);
                var x = 'C' + zeroPad(tileCoord[1], 8, 16);
                var y = 'R' + zeroPad(-tileCoord[2] - 1, 8, 16);
                var z = 'L' + zeroPad(tileCoord[0], 2, 10);
                return  '_alllayers/' + z + '/' + y + '/' + x + '.png';
            },
            projection: 'EPSG:3857'
        })
    });
    map.addLayer(tileLayer);
</script>
</body>
</html>

7.調試的結果:

相關文章
相關標籤/搜索