首页 / 浏览问题 / WebGIS / 问题详情
iServe的地图示例程序使用时,地图显示不出来
5EXP 2022年07月18日

使用产品:iserver 10.2.1 、 iClient 10i 操作系统:win10 x64

问题详细描述:将iClien上的地图叠加示范程序复制后并在html文件中修改,引入的地图无法在页面中显示出来

1个回答

您好!

请检查urlWorld和urlJingjin的拼接内容格式,host已包含“https://iserver.supermap.io“,将其拼接到您的本地服务地址时会出现错误。如果您需要加载本地的地图服务,建议直接声明:

var urlWorld = "http://localhost:8090/iserver/services/map-world/rest/maps/World"
var urlJingjin = "http://localhost:8090/iserver/services/map-jingjin/rest/maps/京津地区人口分布图_专题图"

希望可以帮助到您!

李松
1
485EXP 2022年07月18日

我只把urlWorld和urlJingjin进行直接声明,不再拼接host,但地图仍然显示不出来

同时,检查代码,会有以下报错:

另外,我想请问一下,host那一行代码的作用是什么呢?

您好,建议您检查JS的引入是否正常,您可以尝试使用在线引入的方式(https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/leaflet.jshttps://iclient.supermap.io/dist/leaflet/iclient-leaflet.js);

host那一行代码其实就是您在后续所使用的URL的前半部分。比如说您的host声明为"http://localhost:8090",您后续的urlWorld就只需要写【host + '/iserver/services/map-world/rest/maps/World'】。

你好,我根据iClient for leaflet开发指南中文件引用的方式进行了尝试,但是也出现了报错

您好,请您将代码发送到我的邮箱,我帮您查看一下,邮箱地址我私信您。
您好,我这边加载您的代码显示正常的哈,请尝试切换浏览器并耐心等待JS文件的引入。

你好,我尝试了chrome和edge浏览器,等待后地图皆无法显示,且确认任务已执行完

对比你运行成功的截图,我的任务请求数只有38,5.5MB条资源而你的页面里显示为113个请求,1.0MB项资源

你好,我把iserve的程序启动后就可以显示出地图了,再次关闭iserve的程序,重新打开网页就不能看到地图

所以我想问一下,如果网页发布之后,用户查看网页不打开iserve是不是就不能看到地图了

或者说是需要引入什么文件

您好,您在前端加载的地图服务是由iServer发布的,必须保持iServer的开启才能保证您的地图服务访问正常。如果您需要让其他用户也能访问到您发布的地图服务,您就需要将iServer放在服务器上,或者在本机做内网穿透,让用户可以通过公网访问您的地图服务(https://blog.csdn.net/weixin_42063820/article/details/124563983)。需要注意的是,只要您需要在前端访问地图服务,都必须保证iServer和地图服务的开启状态。

...