前面《iClient for Javascript入門》介紹了一個入門範例,初步介紹了如何使用iClient for Javascript,下面詳細介紹一下範例中用到的對象。
1、Map
地圖類,用於執行個體化map類建立一個新地圖,實現地圖在用戶端的互動操作,可通過給建立的map添加圖層和控制項來擴充應用, 在建立地圖時,如果沒有添加指定的控制項,則預設Navigation、PanZoomBar控制項。
這個對象基本上提供了所有常用的對地圖的操作,如放大縮小、定位、圖片大小、地圖事件等
2、TiledDynamicRESTLayer
SuperMap iServer Java 6R 分塊動態 REST 圖層,用於承載SuperMap iServer Java 6R的發布的普通地圖圖層。以此類推的話SimpleCachedLayer、CloudLayer算是文藝地圖圖層,那WMS及WMTS絕對是二逼地圖圖層了。
這個對象提供了設定所承接的地圖服務資訊參數,如比例尺、地圖範圍、DPI、圖片格式等。
下面結合常見的一些情境介紹一下這兩個對象的方法、屬性及事件的使用。
1、指定地圖比例尺
layerWorld = new SuperMap.Layer.TiledDynamicRESTLayer("World",world,{transparent:false,cacheEnabled:true},{transitionEffect:"null",scales:[1/43750000,1/87500000,1/175000000,1/350000000,1/700000000]});
應用情境:一般正式項目現在都設定比例尺了,畢竟如果設定了比例尺後可以出預緩衝,這樣能完預緩衝後,加快地圖瀏覽速度。
2、添加事件
map.events.on({"move":viewBoundschange});
function viewBoundschange(){
if(map.getScale() < 1.0/175000000){
alert("當前比例尺為:"+map.getScale());
}
}
move事件: 地圖拖拉,縮放之後觸發事件
應用情境:當地圖範圍,比例尺發生變化後觸發的事件,可以在地圖範圍或比例尺發生改變後實現一些操作。
3、定位
map.setCenter(new SuperMap.LonLat(118, 40), 3);
應用情境:根據查詢出來的地物定位到地物位置,當然除了setCenter方法外還有其他定位方法,具體參考文檔了。
4、添加控制項
map.addControl(new SuperMap.Control.ScaleLine());
應用情境:添加控制項而已,這個看心情了。
上面列出了簡單應用,其實細細品來這個是介面介紹形式的,我要是做項目的話我就會吐槽,介面太不好用了,我也不是專業學GIS的根不是我想玩的,咱們後續再把這些介面從開發人員的角度細細梳理吧。