天天看点

ArcGIS API for JavaScript 3.X加载天地图

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>天地图底图加载(经纬度版本)</title>
    <link rel="stylesheet" type="text/css"
          href="http://localhost/arcgis_js_v335_api/arcgis_js_api/library/3.35/3.35/esri/css/esri.css" target="_blank" rel="external nofollow" />
    <script type="text/javascript"
            src="http://localhost/arcgis_js_v335_api/arcgis_js_api/library/3.35/3.35/init.js"></script>
    <style>
        html, body {
            width: 100%;
            height: 100%;
            padding: 0px;
            margin: 0px;
        }

        #map-container {
            width: 100%;
            height: 100%;
        }
    </style>
</head>
<body>
<div id="map-container"></div>
<script type="text/javascript">
    require([
        'esri/map',
        'esri/layers/WebTiledLayer',
        'esri/layers/TileInfo',
        'esri/geometry/Point',
        "esri/dijit/OverviewMap",
        'dojo/domReady!'], function (Map, WebTiledLayer, TileInfo, Point, OverviewMap) {
        // 创建地图,不设置底图,如果设置底图会造成坐标系无法被转换成 ESPG:4326 (WGS1984)
        var map = new Map('map-container', {
            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 = new WebTiledLayer('http://{subDomain}.tianditu.com/DataServer?T=vec_c&x={col}&y={row}&l={level}&tk=3fc715d47bc5243b5230875b4fe84a65', {
            subDomains: ['t0', 't1', 't2', 't3', 't4', 't5', 't6', 't7'],
            tileInfo: tileInfo
        })
        var labelLayer = new WebTiledLayer('http://{subDomain}.tianditu.com/DataServer?T=cva_c&x={col}&y={row}&l={level}&tk=3fc715d47bc5243b5230875b4fe84a65', {
            subDomains: ['t0', 't1', 't2', 't3', 't4', 't5', 't6', 't7'],
            tileInfo: tileInfo
        })
        map.addLayer(vecLayer)
        map.addLayer(labelLayer)
        map.centerAndZoom(new Point({
            x: 109,
            y: 34.5,
            spatialReference: {
                wkid: 4326
            }
        }), 8)
        var overviewMapDijit = new OverviewMap({
            map: map,
            visible: true
        });
        overviewMapDijit.startup();//鹰眼
    })
</script>
</body>
</html>
           

加载结果:

ArcGIS API for JavaScript 3.X加载天地图

继续阅读