強力推薦!
如果你正在學習MapGIS IGServer Flex開發,那麼一定要看看《MapGIS IGServer Flex問題集錦》!
本資源來源於MapGIS直通車,MapGIS直通車提供了大量的示例源碼和學習資源。
本文列出的文章目錄爲《MapGIS IGServer Flex問題集錦》目錄。
下面以第二章,地圖顯示篇,第五問 怎樣同時顯示多個地圖窗口爲例,詳細介紹如下:
第5問 怎樣同時顯示多個地圖窗口
控件式:
以分別在容器左半部分和右半部分分別顯示一個地圖窗口爲例,首先參照第二章第 2
問創建一個地圖容器並顯示一個瓦片地圖控件,重複操作兩次,調整兩個 IMSMap 的位置,
分別位於窗口左面和右面。切換到源碼顯示窗口,顯示如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute" xmlns:ns1="zdims.map.*">
<ns1:IMSMap x="10"
y="22"
width="449"
height="544"
levelNum="7"
xMinMap="114.125602229914"
xMaxMap="114.500788705197"
yMinMap="30.4539323507469"
yMaxMap="30.8291188260302">
<ns1:TileLayer hdfName="whmap.hdf"
serverAddress="127.0.0.1:5142">
</ns1:TileLayer>
</ns1:IMSMap>
<ns1:IMSMap x="484"
y="22"
width="466" MapGIS IGServer 二次開發
height="544"
levelNum="7"
xMinMap="114.125602229914"
xMaxMap="114.500788705197"
yMinMap="30.4539323507469"
yMaxMap="30.8291188260302">
<ns1:TileLayer hdfName="whmap.hdf"
serverAddress="127.0.0.1:5142">
</ns1:TileLayer>
</ns1:IMSMap>
</mx:Application>
代碼式:
參照第二章第 2 問創建一個地圖容器類並添加一個瓦片圖層對象,重複兩次,分別在窗
口左面和右面添加一個顯示瓦片的地圖容器。下面的代碼實現了在 MXML Application 界面
創建完成時用代碼動態添加兩個地圖容器,並在窗口左右兩部分分別顯示。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute" creationComplete="addIMSMap()">
<mx:Script>
<![CDATA[
import zdims.map.TileLayer;
import zdims.map.IMSMap;
public function addIMSMap():void
{
var map:IMSMap=new IMSMap();
map.width=500;
map.height=500;
map.levelNum=7;
map.xMinMap=114.125602229914;
map.xMaxMap=114.500788705197;
map.yMinMap=30.4539323507469;
map.yMaxMap=30.8291188260302;
var tileLayer:TileLayer=new TileLayer();
tileLayer.hdfName="whmap.hdf";
tileLayer.serverAddress="127.0.0.1:5142";
map.addChild(tileLayer);
var map_right:IMSMap=new IMSMap();
map_right.x=500;
map_right.width=500;
map_right.height=500;
map_right.levelNum=7;
map_right.xMinMap=114.125602229914;
map_right.xMaxMap=114.500788705197;
map_right.yMinMap=30.4539323507469;
map_right.yMaxMap=30.8291188260302;
var tileLayer_r:TileLayer=new TileLayer();
tileLayer_r.hdfName="whmap.hdf";
tileLayer_r.serverAddress="127.0.0.1:5142";
map_right.addChild(tileLayer_r);
this.addChild(map);
this.addChild(map_right);
}
]]>
</mx:Script>
</mx:Application>
文檔中所有問題均以以上方式提供瞭解答,代碼非常詳盡,如果你有疑問,不妨下載下來看一看。
下載地址:http://www.mapgis.com.cn/rswebsite/content/index.aspx?nodeid=1274
如果你找不到哪裏下載,請看下圖:
《MapGIS IGServer Flex問題集錦》詳細目錄如下:
第一章 開發入門篇
第 1 問 怎樣配置 Flex 開發環境
第 2 問 怎樣創建一個 MapGIS IGServer Flex 項目
第 3 問 怎樣使用 MapGIS IGServer Flex 功能組件
第 4 問 怎樣更新 MapGIS IGServer Flex 功能組件
第二章 地圖顯示篇
第 1 問 怎樣使用地圖容器
第 2 問 怎樣顯示瓦片地圖
第 3 問 怎樣顯示地圖文檔
第 4 問 怎樣疊加顯示瓦片地圖和地圖文檔
第 5 問 怎樣同時顯示多個地圖窗口
第 6 問 怎樣添加一張圖片跟地圖疊加顯示
第 7 問 怎樣去除標註彈出窗口的圖片
第 8 問 怎樣使地圖容器與鷹眼顯示不同地圖
第 9 問 怎樣切換鷹眼顯示和隱藏狀態
第 10 問 怎樣實現不同的客戶端看到的地圖不同
第 11 問 怎樣實現鼠標點擊或移到某個對象上獲取某對象的屬性
第 12 問 什麼原因會引起地圖不能正常顯示
第 13 問 什麼原因導致本機可以出圖但其他機器訪問不能出圖
第 14 問 怎樣在網頁中嵌入 MapGIS IGServer Flex 應用
第三章 地圖控制篇
第 1 問 怎樣復位地圖
第 2 問 怎樣刷新地圖
第 3 問 怎樣控制地圖顯示級別
第 4 問 怎樣使地圖在某一顯示級別居中顯示某個位置
第 5 問 怎樣移動地圖至某一位置
第 6 問 怎樣控制地圖窗器中的圖層是否顯示
第四章 圖形繪製篇
第 1 問 怎樣在地圖上繪製點
第 2 問 怎樣在地圖上繪製線
第 3 問 怎樣在地圖上繪製圓
第 4 問 怎樣在地圖上繪製矩形
第 5 問 怎樣在地圖上繪製區
第 6 問 怎樣在地圖上添加一個點
第 7 問 怎樣在地圖上添加一條線
第 8 問 怎樣在地圖上添加一個標註點
第 9 問 怎樣實現地圖窗口座標和邏輯座標之間的轉換
第 10 問 怎樣將統計圖顯示在地圖上並跟隨地圖放大縮小
第 11 問 怎樣添加一個熱點區域
第五章 開發函數篇
第 1 問 怎樣獲取地圖文檔圖層列表
第 2 問 怎樣更新地圖文檔中的圖層的狀態
第 3 問 怎樣獲取鼠標當前位置信息
第 4 問 怎樣添加和刪除地圖鼠標事件
第 5 問 怎樣用鼠標獲取一個點
第 6 問 怎樣用鼠標獲取一條線
第 7 問 怎樣用鼠標獲取一個矩形
第 8 問 怎樣用鼠標獲取一個圓
第 9 問 怎樣用鼠標獲取一個多邊
第 10 問 怎樣實現點擊查詢
第 11 問 怎樣實現線查詢
第 12 問 怎樣實現矩形查詢
第 13 問 怎樣實現圓查詢
第 14 問 怎樣實現多邊形查詢
第 15 問 怎樣實現屬性條件查詢
第 16 問 怎樣實現點擊+條件查詢
第 17 問 怎樣實現線+條件查詢
第 18 問 怎樣實現矩形+條件查詢
第 19 問 怎樣實現圓+條件查詢
第 20 問 怎樣實現多邊形+條件查詢
第 21 問 怎樣添加一個要素
第 22 問 怎樣編輯一個要素
第 23 問 怎樣刪除一個要素
第 24 問 怎樣對一個要素做緩衝區分析
第 25 問 怎樣獲取要素空間座標信息並在地圖上閃爍
第 26 問 怎樣獲取要素圖形參數
第 27 問 怎樣更新要素圖形參數
第 28 問 怎樣實現圓裁剪
第 29 問 怎樣實現多邊形裁剪
第 30 問 怎樣實現拓撲分析
第 31 問 怎樣實現路徑分析
第 32 問 怎樣獲取 MapGIS 數據源列表
第 33 問 怎樣獲取 MapGIS 數據源中的數據庫列表
第 34 問 怎樣獲取 MapGIS 數據庫中的圖層列表
第 35 問 怎樣通過圖層索引獲取圖層名稱
第 36 問 怎樣實現兩個圖層疊加分析
第 37 問 怎樣在操作結束後把鼠標切換回空狀態