天天看點

MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)

建立示例

1:建立項目

建立一個網站,選擇mapxtreme 6.7.1 web application

在app_code中,我們建立一個類,起名叫:layermanager.cs

2:把上節函數放到類layermanager中

把上一節的函數代碼全copy過來,還有using的名稱空間

3:打開mapform.cs,在page_load代碼裡,添加如下代碼

MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)
MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)

 string tablename = "tablename", layername = "layername";//随便定義兩個名字

MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)

        layermanager.createlayer(tablename, layername);//建立圖層

MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)

        layermanager.addpoint(layername, getdpoint(60,60), 35, color.red);//建立一個紅色五角星的點

MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)

        layermanager.addline(layername, getdpoint(160, 160), getdpoint(300, 160), 59, color.red);//建立一條紅色單箭頭的線

MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)

        layermanager.showvalue(tablename, "value");//顯示标注

說明:

裡面有一個getdpoint(int x,int y)函數,主要是傳入用戶端的坐标,傳回地圖的經緯度

getdpoint 函數如下

MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)
MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)

private dpoint getdpoint(int x,int y)

MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)

    {

MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)

        dpoint dp = new dpoint();

MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)

        system.drawing.point point = new system.drawing.point(x, y);//用戶端坐标(相對地圖)

MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)

        map map = mapinfo.engine.session.current.mapfactory[0];

MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)

        map.displaytransform.fromdisplay(point, out dp);//轉成相應的經緯度坐标

MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)

        return dp;

MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)

    }

4:完整的頁面代碼如下

MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)
MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)

public partial class _default : system.web.ui.page 

MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)

{

MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)

    private void page_load(object sender, system.eventargs e)

MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)
MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)

        // if the statemanager doesn't exist in the session put it else get it.

MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)

        if (statemanager.getstatemanagerfromsession() == null)

MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)

            statemanager.putstatemanagerinsession(new appstatemanager());

MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)
MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)

        // now restore state

MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)

        statemanager.getstatemanagerfromsession().paramsdictionary[statemanager.activemapaliaskey] = mapcontrol1.mapalias;

MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)

        statemanager.getstatemanagerfromsession().restorestate();

MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)
MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)

        string tablename = "tablename", layername = "layername";//随便定義兩個名字

MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)
MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)
MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)
MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)
MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)
MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)

    private dpoint getdpoint(int x,int y)

MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)
MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)
MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)
MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)
MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)
MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)
MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)
MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)

    // at the time of unloading the page, save the state

MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)

    private void page_unload(object sender, system.eventargs e)

MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)
MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)

        statemanager.getstatemanagerfromsession().savestate();

MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)
MapXtreme 2005 學習心得 在地圖上建立點/線并顯示标注(五)

}

5:運作結果

ok,儲存,浏覽,即可在頁面上看到在相應的地方上,建立了一個五角星和一個紅色單向箭頭線

版權聲明:本文原創發表于部落格園,作者為路過秋天,原文連結:

http://www.cnblogs.com/cyq1162/archive/2009/11/02/1594564.html

繼續閱讀