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(160160), GetDPoint(300160), 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 学习心得 在地图上创建点/线并显示标注(五)
        LayerManager.CreateLayer(tableName, layerName);//创建图层
MapXtreme 2005 学习心得 在地图上创建点/线并显示标注(五)
        LayerManager.AddPoint(layerName, GetDPoint(60,60), 35, Color.Red);//创建一个红色五角星的点
MapXtreme 2005 学习心得 在地图上创建点/线并显示标注(五)
        LayerManager.AddLine(layerName, GetDPoint(160160), GetDPoint(300160), 59, Color.Red);//创建一条红色单箭头的线
MapXtreme 2005 学习心得 在地图上创建点/线并显示标注(五)
        LayerManager.ShowValue(tableName, "value");//显示标注
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 学习心得 在地图上创建点/线并显示标注(五)    }

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,保存,浏览,即可在页面上看到在相应的地方上,创建了一个五角星和一个红色单向箭头线

 

上一篇:TortoiseGit学习系列之Windows上本地代码如何通过TortoiserGit提交到GitHub详解(图文)


下一篇:关于系统性能测试的步骤总结和分析