码迷,mamicode.com
首页 > 编程语言 > 详细

SuperMap iClient for JavaScript image出图

时间:2019-01-15 10:40:17      阅读:341      评论:0      收藏:0      [点我收藏+]

标签:ESS   gif   ati   width   over   tle   .com   适合   slide   

SuperMap iClient for JavaScript 客户端基于openlayers 开发。

目前最高版本为811,9D产品后推荐客户使用leaflet、openlayers客户端开发。

 

问题说明: 

 iClient for JavaScript(classic)在客户端做动态出图选择SuperMap.Layer.TiledDynamicRESTLayer,对接 SuperMap iServer 的 REST 地图服务的分块动态栅格图层。简单说就是加载iServer发布的地图服务在客户端用栅格瓦片出图。

1、默认的瓦片尺寸是256*256,地图数据较大,不经常更新的情况,建议使用缓存,客户端的请求直接访问iServer端配置的缓存。需要开启iServer端和客户端的参数,以及对应比例尺。

2、1中适合不怎么变化的地图数据,如底图。但有一些业务图层,由于经常性更新数据,则不能使用缓存,需要动态更新。但一屏幕256*256的瓦片如果加上底图服务,会出现地图加载一块一块显示,卡顿不流畅。

 

解决方法:

根据超图API,SuperMap.TiledDynamicRESTLayer继承与SuperMap.CanvasLayer,SuperMap.CanvasLayer继承与SuperMap.Layer.Grid。在Grid的属性找到了singletile的属性。

技术分享图片

使用范例如下:

技术分享图片
 1 <html>
 2 
 3 <head>
 4     <title></title>
 5     <script type="text/javascript" src="./libs/SuperMap.Include.js"></script>
 6     <script type="text/javascript">
 7         var map, layer, layer1;
 8         var url = "http://IP:8090/iserver/services/map-test/rest/maps/map";
 9         var url1 = "http://IP:8090/iserver/services/map-test/rest/maps/test";
10 
11 
12 
13 
14         function initMap() {
15             map = new SuperMap.Map("mapDiv", {
16                 controls: [
17                     new SuperMap.Control.ScaleLine(),
18                     new SuperMap.Control.MousePosition(),
19                     new SuperMap.Control.PanZoomBar({ showSlider: true }),
20                     new SuperMap.Control.Navigation({
21                         dragPanOptions: {
22                             enableKinetic: true
23                         }
24                     })], allOverlays: true
25             });
26 
27             layer = new SuperMap.Layer.TiledDynamicRESTLayer("basemap", url, { transparent: true, cacheEnabled: false }, { maxResolution: "auto", transitionEffect: "null", });
28             layer.events.on({ "layerInitialized": addLayer });
29 
30         }
31         function addLayer() {
32             layer1 = new SuperMap.Layer.TiledDynamicRESTLayer("Business", url1, { transparent: true, cacheEnabled: false }, { singleTile: true },{ maxResolution: "auto", transitionEffect: "null"});
33             layer1.events.on({ "layerInitialized": addLayer1 });
34         }
35         function addLayer1() {
36             map.addLayers([layer, layer1]);
37             map.setCenter(new SuperMap.LonLat(90.35, 23.74));
38             
39             var maxExtent = new SuperMap.Bounds(90.260418, 23.687934, 90.467785, 23.785266);
40             map.setExtent(maxExtent);
41 
42 
43         }
44     </script>
45 </head>
46 
47 <body onload="initMap();">
48     <div id="mapDiv" style="width: 1500px;height: 750px"></div>
49 </body>
50 
51 </html>
View Code

 

SuperMap iClient for JavaScript image出图

标签:ESS   gif   ati   width   over   tle   .com   适合   slide   

原文地址:https://www.cnblogs.com/yaohuimo/p/10269852.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!