开发工具与关键技术:Visual Studio、SuperMap iDesktop 10i发布服务
如果要在代码中把地图显示,最重要的是要有SuperMap的插件,我这里用的就是 <script src='~/scripts/libs/SuperMap.Include.js'></script>
注意:地图一定是要已经发布的了,然后每一次在页面打开的时候,要启动服务。
先展示一下代码:
<body onLoad="init()">
<div id="map"></div>
<script src='~/scripts/libs/SuperMap.Include.js'></script>
<script type="text/javascript">
/* 定义图层的样式的方法,以及覆盖物*/
/*直接设置状态-样式键值对,需要注意的是,只有定义样式的状态才具有样式,未定义的状态的样式其样式 style 为 null。如下示例,
只 default 和 select 两个状态的样式 所以仅仅这两个状态有样式,另外两种状态temporary、delete 的样式为 null第一种*/
var map, layer, vectorLayer,
url = "http://localhost:8090/iserver/services/map-HJZY/rest/maps/GZZengChengQu@HJZY";
function init() {
//初始化地图
map = new SuperMap.Map("map");
//初始化图层
layer = new SuperMap.Layer.TiledDynamicRESTLayer("GZZengChengQu@HJZY", url, null, { maxResolution: "auto" });
layer.events.on({ "layerInitialized": addLayer });
vectorLayer = new SuperMap.Layer.Vector();
}
function addLayer() {
map.addLayers([layer, vectorLayer]);
//显示地图范围
map.setCenter(new SuperMap.LonLat(113.76, 23.25),1);
addFeature();
}
function addFeature() {
//创建点
var point = new SuperMap.Geometry.Point(0, 0);
//把点加入到图层
var pointVector = new SuperMap.Feature.Vector(point);
pointVector.style = { fillColor: "red", strokeColor: "yellow", pointRadius: 6 };
//添加矢量图形覆盖物
vectorLayer.addFeatures(pointVector);
}
</script>
其中的URL是要放上自己的链接,
再把初始化图层那一个名称更改一下"GZZengChengQu@HJZY"
,
显示地图范围也要更改 map.setCenter(new SuperMap.LonLat(113.76, 23.25),1);
有些人不知道地图范围在哪,就是在发布地图之后,点击打开for javascript,有一个中心范围就把范围给改就可以了
效果图: