SuperMap iClient JavaScript 10i客户端开发入门

SuperMap iClient JavaScript 10i客户端开发入门

一、下载

官网下载

二、如何选择地图库

  • for MapboxGL

  • for Leaflet (推荐)

    默认支持EPSG:4326,EPSG:3857、平面无投影坐标系,不需要自己定义,只需要在对接地图的时候在地图参数中设置对应的坐标系即可。对于默认不支持的坐标系在iClient for Leaflet和iClient for OpenLayers中都需要先用proj4定义坐标系、然后将定义的坐标传给地图的坐标系参数.

  • for OpenLayers:

    坐标系处理同for Leaflet。

  • iClient Classic:

    可识别服务的坐标系,不需要额外设置projection

类库选择

产品自述
开源地图类库比较

总结:

  • 任何开源软件产品的社区活跃度决定了该产品的成熟度、生命力、未来前途等,也会决定是否能建立研发-应用-服务的生态链。

  • MapboxGL 相比前两款地图库推出较晚,社区活跃度一般,可扩展性较差,但支持 3D 特性和较好的可视化效果,原生支持MVT矢量瓦片,性能好。

  • Leaflet 地图库社区活跃度较高,轻量级,插件丰富,并且稳定性、扩展性较好。

  • OpenLayers 3/4/5/6 社区活跃度一般,地图库偏重量级,但性能、扩展性较好,并且支持 HTML5 特性。

三、坐标系

查看坐标系对应的定义信息

以CGCS2000_3_Degree_GK_CM_117E坐标系为例,如何使用?

通过网站坐标系,查询对应的坐标系定义信息。

网站中的完整名称为“CGCS2000 / 3-degree Gauss-Kruger CM 117E”,proj4定义信息为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 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>

参考:

SuperMap iClient加载地图之坐标系问题详解

基于超图的iclient for leaflet的自定义坐标系WMS服务的加载

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

搬山境KL攻城狮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值