Offline arcgis api for javascript loading sky map (version: 4.6 and 3.9)

Use the offline arcgis api for javascript to load the sky map, which mainly shows two versions, one is version 4.6 and the other is version 3.6. I think it should be packed up and recorded. Without further ado, look at the code.

Version 3.6, which also added a small control, Eagle Eye.

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>3.X版本加载天地图(经纬度)</title>
    <link rel="stylesheet" type="text/css"
          href="http://10.102.30.172/arcgis_js_v39_api/arcgis_js_api/library/3.9/3.9/js/dojo/dijit/themes/tundra/tundra.css"/>
    <link rel="stylesheet" type="text/css"
          href="http://10.102.30.172/arcgis_js_v39_api/arcgis_js_api/library/3.9/3.9/js/esri/css/esri.css"/>
    <script type="text/javascript"
            src="http://10.102.30.172/arcgis_js_v39_api/arcgis_js_api/library/3.9/3.9/js/dojo/dojo/dojo.js"></script>
</head>
<!-- 3.21-3.28通用 -->
<style>
    html,
    body,
    #mapDiv {
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
    }
</style>
<script>
    require(['esri/map',
        'esri/layers/WebTiledLayer',
        'esri/layers/TileInfo',
        'esri/geometry/Point',
        "esri/dijit/OverviewMap",
        'dojo/domReady!'], function (Map, WebTiledLayer, TileInfo, Point, OverviewMap) {
        var map = new Map('mapDiv', {
            center: [0, 0],
            zoom: 0
        })
        var tileInfo = new TileInfo({
            dpi: 90.71428571427429,
            rows: 256,
            cols: 256,
            compressionQuality: 0,
            origin: {
                x: -180,
                y: 90
            },
            spatialReference: {
                wkid: 4326
            },
            lods: [
                { level: 2, levelValue: 2, resolution: 0.3515625, scale: 147748796.52937502 },
                { level: 3, levelValue: 3, resolution: 0.17578125, scale: 73874398.264687508 },
                { level: 4, levelValue: 4, resolution: 0.087890625, scale: 36937199.132343754 },
                { level: 5, levelValue: 5, resolution: 0.0439453125, scale: 18468599.566171877 },
                { level: 6, levelValue: 6, resolution: 0.02197265625, scale: 9234299.7830859385 },
                { level: 7, levelValue: 7, resolution: 0.010986328125, scale: 4617149.8915429693 },
                { level: 8, levelValue: 8, resolution: 0.0054931640625, scale: 2308574.9457714846 },
                { level: 9, levelValue: 9, resolution: 0.00274658203125, scale: 1154287.4728857423 },
                { level: 10, levelValue: 10, resolution: 0.001373291015625, scale: 577143.73644287116 },
                { level: 11, levelValue: 11, resolution: 0.0006866455078125, scale: 288571.86822143558 },
                { level: 12, levelValue: 12, resolution: 0.00034332275390625, scale: 144285.93411071779 },
                { level: 13, levelValue: 13, resolution: 0.000171661376953125, scale: 72142.967055358895 },
                { level: 14, levelValue: 14, resolution: 8.58306884765625e-005, scale: 36071.483527679447 },
                { level: 15, levelValue: 15, resolution: 4.291534423828125e-005, scale: 18035.741763839724 },
                { level: 16, levelValue: 16, resolution: 2.1457672119140625e-005, scale: 9017.8708819198619 },
                { level: 17, levelValue: 17, resolution: 1.0728836059570313e-005, scale: 4508.9354409599309 },
                { level: 18, levelValue: 18, resolution: 5.3644180297851563e-006, scale: 2254.4677204799655 },
                { level: 19, levelValue: 19, resolution: 2.68220901489257815e-006, scale: 1127.23386023998275 },
                { level: 20, levelValue: 2, resolution: 1.341104507446289075e-006, scale: 563.616930119991375 }
            ]
        })
        var vecLayer = WebTiledLayer('http://{subDomain}.tianditu.com/DataServer?T=vec_c&x={col}&y={row}&l={level}&tk=bf4c445c616ad1dbdc85401ab6bb7bce', {
            subDomains: ['t0', 't1', 't2', 't3', 't4', 't5', 't6', 't7'],
            tileInfo: tileInfo
        })
        // 矢量地图
        var labelLayer = WebTiledLayer('http://{subDomain}.tianditu.com/DataServer?T=cva_c&x={col}&y={row}&l={level}&tk=bf4c445c616ad1dbdc85401ab6bb7bce', {
            subDomains: ['t0', 't1', 't2', 't3', 't4', 't5', 't6', 't7'],
            tileInfo: tileInfo
        })
        // 矢量注记图层
        map.addLayers([vecLayer, labelLayer])
        map.centerAndZoom(new Point({
            x: 109,
            y: 34.5,
            spatialReference: {
                wkid: 4326
            }
        }), 3)
        var overviewMapDijit = new OverviewMap({
            map: map,
            visible: true
        });
        overviewMapDijit.startup();//鹰眼
    })
</script>

<body>
<div id="mapDiv"></div>
</body>

</html>

The following is version 4.6. On the code, pay attention to tk in the code. May expire. You can apply for it yourself.

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no">
    <title>渲染点城市</title>

    <style>
        html,
        body,
        #viewDiv {
            padding: 0;
            margin: 0;
            height: 100%;
            width: 100%;
        }
    </style>

    <link rel="stylesheet" href="http://localhost/arcgis_js_v46_api/arcgis_js_api/library/4.6/esri/css/main.css">
    <script src="http://localhost/arcgis_js_v46_api/arcgis_js_api/library/4.6/init.js"></script>
    <script>
        //用webtilelayer做的,domain替换的,没有定义 tileInfo的
        require([
            "esri/config",
            "esri/layers/WebTileLayer",
            "esri/Basemap",
            "esri/Map",
            "esri/views/MapView",
            "esri/layers/FeatureLayer",
            "esri/widgets/Legend",     /*小部件:图例*/
            "esri/widgets/BasemapGallery",
            "esri/widgets/Expand",
            "esri/layers/GraphicsLayer",
            "esri/symbols/SimpleLineSymbol",
            "esri/geometry/Polyline",
            "esri/Graphic",
            "dojo/dom",
            "dojo/domReady!"
        ], function (esriConfig, WebTileLayer, Basemap,
                     Map,MapView, FeatureLayer, Legend,
                     BasemapGallery, Expand,GraphicsLayer,Graphic,
                     Polyline,SimpleLineSymbol,dom
        ) {
            /*************************************************/
            esriConfig.request.corsEnabledServers
                .push("t0.tianditu.com", "t1.tianditu.com", "t2.tianditu.com", "t3.tianditu.com", "t4.tianditu.com", "t5.tianditu.com", "t6.tianditu.com", "t7.tianditu.com");
            //矢量注记
            var vecBaseLayerZj = new WebTileLayer({
                urlTemplate: "http://{subDomain}.tianditu.com/DataServer?T=cva_w&x={col}&y={row}&l={level}&tk=bf4c445c616ad1dbdc85401ab6bb7bce", //可以
                subDomains: ["t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7"],
                copyright: "vec Map tiles by Tian Di Tu ZJ"
            });
            //矢量
            var vecBaseLayer = new WebTileLayer({
                urlTemplate: "http://{subDomain}.tianditu.com/DataServer?T=vec_w&x={col}&y={row}&l={level}&tk=bf4c445c616ad1dbdc85401ab6bb7bce", //可以
                subDomains: ["t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7"],
                copyright: "vec Map tiles by Tian Di Tu"
            });

            var vecBasemap = new Basemap({
                baseLayers: [vecBaseLayer, vecBaseLayerZj],
                title: '矢量',
                thumbnailUrl: ''
            });
            //去掉logo
            var options = {logo : false};
            var map = new Map({
                basemap: vecBasemap,
                ground: "world-elevation",
                option:options
            });
            //二维视角
            var view = new MapView({
                container: "viewDiv",
                map: map,
                zoom:13,
                center: [108.6911530953,34.2799666458]     //34.2799666458,108.6911530953
            });
        });
    </script>
</head>

<body>
<div id="viewDiv"></div>
</body>
</html>
Published 13 original articles · Like1 · Visit 2006

Guess you like

Origin blog.csdn.net/qq_31152023/article/details/96457895