SuperMap iClient JavaScript10iクライアント開発の開始

SuperMap iClient JavaScript10iクライアント開発の開始

1.ダウンロード

公式サイトダウンロード

2.マップライブラリの選び方

  • MapboxGLの場合

  • リーフレット用(推奨)

    デフォルトでは、EPSG:4326、EPSG:3857がサポートされており、平面には投影された座標系がないため、自分で定義する必要はありません。地面をマッピングするときに、マップパラメータで対応する座標系を設定するだけで済みます。デフォルトでサポートされていない座標系の場合、iClient forLeafletとiClientfor OpenLayersの両方で、最初にproj4を使用して座標系を定義してから、定義した座標をマップの座標系パラメーターに渡す必要があります。

  • OpenLayersの場合:

    座標系の処理はリーフレットと同じです。

  • iClientクラシック:

    認識可能なサービス座標系、追加の投影を設定する必要はありません

クラスライブラリの選択

製品のReadme
オープンソースマップライブラリの比較

総括する:

  • オープンソースソフトウェア製品のコミュニティ活動は、製品の成熟度、活力、将来の見通し、およびR&D-アプリケーション-サービスのエコロジカルチェーンを確立できるかどうかを決定します。

  • 前の2つのマップライブラリと比較すると、MapboxGLは後でリリースされ、平均的なコミュニティアクティビティと貧弱なスケーラビリティを備えていますが、3D機能と優れた視覚化効果をサポートし、優れたパフォーマンスでMVTベクトルタイルをネイティブにサポートします。

  • Leafletマップライブラリコミュニティは、非常にアクティブで、軽量で、プラグインが豊富で、優れた安定性とスケーラビリティを備えています。

  • OpenLayers 3/4/5/6には平均的なコミュニティアクティビティがあり、マップライブラリは重量がありますが、パフォーマンスとスケーラビリティが向上し、HTML5機能をサポートします。

三、座標系

座標系に対応する定義情報を表示する

例としてCGCS2000_3_Degree_GK_CM_117E座標系を取り上げますが、その使用方法は?

Webサイトの座標系を介して、対応する座標系定義情報を照会します。

ウェブサイトのフルネームは「CGCS2000 / 3度ガウス・クリューガーCM 117E」、proj4の定義情報はproj4.defs( "EPSG:45​​48"、 "+ proj = tmerc + lat_0 = 0 + lon_0 = 117 + k = 1 + x_0 = 500000 + y_0 = 0 + ellps = GRS80 + units = m + no_defs ");

<script type="text/javascript" src="../../dist/leaflet/include-leaflet.js"></script>

<script type="text/javascript">
proj4.defs("EPSG:4548","+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
</script>

完全な例:

新しいtest.htmlを作成し、supermap_iclient_1010 \ examples \ leafletディレクトリに配置します(または、公式のオンラインサンプルで直接デバッグを実行します)。

<!--********************************************************************
* Copyright© 2000 - 2020 SuperMap Software Co.Ltd. All rights reserved.
*********************************************************************-->
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title data-i18n="resources.title_tiledMapLayer4326"></title>
    <script type="text/javascript" src="../js/include-web.js"></script>
</head>
<body style=" margin: 0;overflow: hidden;background: #fff;width: 100%;height:100%;position: absolute;top: 0;">
<div id="map" style="margin:0 auto;width: 100%;height: 100%"></div>
<script type="text/javascript" src="../../dist/leaflet/include-leaflet.js"></script>
<script type="text/javascript">

    // 定义CGCS2000_3_Degree_GK_CM_117E坐标系
    proj4.defs("EPSG:4548","+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs");

    // 全幅范围 bounds: L.bounds(左下, 右上),地图的描述信息可以查询到。
    var crs =L.Proj.CRS("EPSG:4548",{
     
     
               bounds: L.bounds([521400.76 , 3502757.4], [540388.98 , 3526936.11]),
                origin:[521400.76,3526936.11],
            });
    var host = window.isLocal ? window.server : "https://iserver.supermap.io";
    var map, url = host + "/iserver/services/map-co-governance/rest/maps/test";
    // 中心点 center:[维度, 精度] ,地图的描述信息可以查询到,但需要转为4326经纬度坐标系。(如果地图是自己制作的,也可通过SuperMap iDesktop 选中地图查看中心点经纬度)
    map = L.map('map', {
     
     
        crs: crs,
        // center: { lng: 117.34, lat: 31.76},
        center:[31.76, 117.34], 
        maxZoom: 18,
        zoom: 2,
        zoomControl: false,
        attributionControl: false
    });
    L.supermap.tiledMapLayer(url).addTo(map);

</script>
</body>
</html>

参照:

SuperMapiClientローディングマップの座標系問題の詳細な説明

ハイパーグラフに基づくリーフレット用のiclientのカスタム座標系WMSサービスのロード

おすすめ

転載: blog.csdn.net/ory001/article/details/110957465