首页 / 浏览问题 / WebGIS / 问题详情
leaflet 加载地图
5EXP 2020年08月25日

第一次接触这些代码,我想加载一幅自己做好的底图,已经在iserver发布成功,然后我在编辑代码的时候如下所示,但是最终网页显示不出来我的地图,而只写着supermap和一个表示楼房的点符号,这些并不是我要显示的内容。(表示这里上传照片好复杂,不会上传照片,只能口头描述)

<!-- 地图 -->
        <div style="background: #f8f8f8;width: 100%;height: 100%;position:sticky;top: 0px;min-height: 664px;" id="map">
        </div>

        <script>
          var map,url="http://localhost:8090/iserver/services/map-EmergWS/rest/maps/EmergMap";
          
          
          var map = L.map('map',{center: [11543944.34 , 3582996.23],maxZoom:1,zoom: 0.000031855099,});
          L.supermap.tiledMapLayer(url).addTo(map);
        </script>  

1个回答

您好,Leaflet中心点需要传递经纬度点,且中心点为【Y,X】,您可参考以下范例https://iclient.supermap.io/examples/leaflet/editor.html#01_tiledMapLayer3857

1,076EXP 2020年08月25日

您好,就是我按照您说的这些网址,还有supermap提供的视频辅导之类的,写下如下的代码,然后经纬度也是按照视频讲解那样写的,结果更是连那几个符号都没了。最开始的那几个符号我放大好多后就加载出我的地图了,但是也不止一幅地图好像,反正之前的代码写的很简单,完全和您提供的网址写的一样,这样的结果是出现那几个点符号,然后需要我手动放大好多好多才能看到地图。。

<div style="background: #f8f8f8;width: 100%;height: 100%;position:sticky;top: 0px;min-height: 664px;" id="map">
        </div>
      
        <script>
        var map,crs,url = "http://localhost:8090/iserver/services/map-EmergWS/rest/maps/EmergMap";
        var corner1 = L.latLng(103.68 , 30.59),corner2 = L.latLng( 103.72 , 30.64 ),
        bounds = L.latLngBounds(corner1,corner2);
        crs=L.Proj.CRS("EPSG:3857",{origin:[11541079.63,3585516.41]});
        var pt=crs.unproject(L.point(11541079.63 , 3579047.46));
        map = L.map('map', {
         center: [pt.lat,pt.lng],
         zoom: 1,
         crs:crs
         });
        L.supermap.tiledMapLayer(url,{noWrap:true}).addTo(map);
        </script>  

首先确认地图是否是3857的坐标系,看您的描述坐标系应该是需要自定义的坐标系;其次如果是3857坐标系,可直接在iServer页面进行查看中心点,并按照【Y,X】方式传递

...