首页 / 浏览问题 / 其他 / 问题详情
发布预览服务后,添加图层,不显示
23EXP 2022年10月25日

服务:

代码就是文档的,只是换了个url,

  var host = window.isLocal ? window.server : "https://iserver.supermap.io";

  var map, selectId, selectLayerName, vectorLayer,

        url = host+"/iserver/services/map-mapdata/rest/maps/province_1@map.leaflet";

// 初始化地图信息

var map = L.map('map', {

    crs: L.CRS.EPSG4326,

    center: [0, 0],

    maxZoom: 18,

    zoom: 1

});

new L.supermap.TiledMapLayer(url).addTo(map);

然后没有显示数据:

有这样的报错:

2 个回答

根据你的报错信息可以看出url地址是错误的,我们示例代码的url地址前面是加了host,这个是我们的实际https://iserver.supermap.io地址。你那边要使用需要去掉host,把url改成自己本地服务的实际地址,比如:http://localhost:8090/iserver/services/map-china400/rest/maps/China;还需要根据你的服务信息描述修改中心点坐标、坐标系参考等参数,建议你结合api文档说明了解每个参数的含义https://iclient.supermap.io/web/apis/leaflet.html

周萍
1
3,755EXP 2022年10月25日

嗯嗯,修改url之后可以了,就是使用idesktop地图属性的中心点,它怎么不在中心啊

lealfet填写center中心点参数时,格式为【y,x】,需要把经纬度xy顺序调整。

中间只有一个了,但是很靠下

想像预览那样,很大的那种

中心点的值以iserver信息描述的值为正确值,放大地图预览效果只需要调整zoom级别,你现在写的默认zoom为1肯定小啊。建议还是示例代码demo(https://iclient.supermap.io/examples/leaflet/examples.html#iServer)结合api文档(https://iclient.supermap.io/web/apis/leaflet.html)了解参数使用用法后调试使用效果。

嗯嗯,我尝试写经纬度,现在可以啦~~~
这个问题已经解决,我这边原因有三:

1.发布服务时,压缩包不仅要包含sxumw文件,数据库的udb也要包含进去,不然iserver连预览图都没有

2.代码中url的填写,地图服务需要含有maps这个/maps,服务不一样其实不一样的

3.中心点,我写的是经纬度,后来有些偏移,在idesktop把投影转换成sph什么墨卡托,查过之后,才知道这个就是常用的web_Mector,名字变了,找了好久,要命
23EXP 2022年10月28日
...