MapXtreme for java MapJ操作地圖

來源:互聯網
上載者:User

一、如何控制地圖顯示,比如縮小,放大。查看地圖整體還是部分。通過MapJ類來操作。

// 產生圖片尺寸myMap.setDeviceBounds(new DoubleRect(0, 0, 800, 600));// 設定地圖的橫向跨度,單位有地圖的距離單位決定,如果當前距離單位是千米,則表示地圖跨越1000千米myMap.setZoom(1000);// 設定地圖中心,將地圖中心定位在滑鼠點擊的某一點// 建立螢幕座標的Point對象,螢幕上x:event.getX(),螢幕上y:event.getY()DoublePoint screenpoint = new DoublePoint(event.getX(),event.getY());// 將螢幕座標轉換為地理座標DoublePoint worldpoint = myMap.transformScreenToNumeric(screenpoint);// 設定地圖中心myMap.setCenter(worldpoint);//設定地圖的邊界,所有的地圖操作都在這個邊界內進行//方法1:給定邊界的左下角和右上方,設定邊界。DoubleRect bounds = new DoubleRect(-180,-90,180,90);myMap.setBounds(bounds);//方法2:給定地圖的中心,寬度和高度,設定邊界。DoubleRect bounds = new DoubleRect(new DoublePoint(0,0),360,180);myMap.setBounds(bounds);//設定地圖投影 座標資料存放區在server\mapinfow.prj檔案中,包含上百種投影。String csProj = new String("\"Azimuthal Equidistant(North Pole)\", 5, 62, 7, 0, 90, 90");CoordSys ts = CoordSys.createFromPRJ(csProj);//設定地圖距離單位LinearUnit distUnit = LinearUnit.kilometer;myMap.setDistanceUnits(distUnit);


 二、添加圖層

也可以使用 Layers.addLayer 或 Layers.addNamedLayer 方法單獨添加圖層。這些方法會將圖層置於
集合的末端。位於集合末端的圖層是底層圖層,會最先繪製。Layers.insertLayer 或 insertNamedLayer
用於控製圖層的位置。
Layers 集合中的地圖圖層將按照從 0 開始的索引以升序顯示。FeatureLayer(0) 是頂層的圖層,
FeatureLayer(1) 是 FeatureLayer(0) 下面的圖層,依此類推,底層圖層最先繪製,頂層圖層最後繪製。
資料提供方定義圖層
要將圖層添加到 Layers 集合,必須先對其進行定義。每個圖層均有一個負責資料訪問的內部對象,這個對象就是資料提供方。
TableDescHelper — 說明資料
DataProviderHelper — 定義資料來源
DataProviderRef — 說明如何擷取資料

Layers layers = mapj.getLayers();TableDescHelper tableDescHelper = new TABTableDescHelper(new File("Query22.TAB").getName());DataProviderHelper dataProviderHelper = new TABDataProviderHelper(dataDir);//dataDir:.TAB檔案存放目錄DataProviderRef dataProviderRef = new MapXtremeDataProviderRef(dataProviderHelper, mapxtremeurl);//mapxtremeurl:http://localhost:8090/MapXtreme/servlet/mapxtremelayers.add(dataProviderRef, tableDescHelper, "otherLayer");




 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.