MapXtreme 2005 学习心得 在地图上创建点/线并显示标注(五)

简介:

新建示例

 

1:新建项目

新建一个网站,选择MapXtreme 6.7.1 Web Application

在App_Code中,我们新建一个类,起名叫:LayerManager.cs

 

2:把上节函数放到类LayerManager中

把上一节的函数代码全copy过来,还有using的名称空间

 

3:打开MapForm.cs,在Page_Load代码里,添加如下代码


 string tableName = "tableName", layerName = "layerName";//随便定义两个名字
        LayerManager.CreateLayer(tableName, layerName);//创建图层
        LayerManager.AddPoint(layerName, GetDPoint(60,60), 35, Color.Red);//创建一个红色五角星的点
        LayerManager.AddLine(layerName, GetDPoint(160160), GetDPoint(300160), 59, Color.Red);//创建一条红色单箭头的线
        LayerManager.ShowValue(tableName, "value");//显示标注

说明:

里面有一个GetDPoint(int x,int y)函数,主要是传入客户端的坐标,返回地图的经纬度

 

GetDPoint 函数如下


private DPoint GetDPoint(int x,int y)
    
{
        DPoint dp 
= new DPoint();
        System.Drawing.Point point 
= new System.Drawing.Point(x, y);//客户端坐标(相对地图)
        Map map = MapInfo.Engine.Session.Current.MapFactory[0];
        map.DisplayTransform.FromDisplay(point, 
out dp);//转成相应的经纬度坐标
        return dp;
    }

4:完整的页面代码如下


public partial class _Default : System.Web.UI.Page 
{
    
private void Page_Load(object sender, System.EventArgs e)
    
{
        
// If the StateManager doesn't exist in the session put it else get it.
        if (StateManager.GetStateManagerFromSession() == null)
            StateManager.PutStateManagerInSession(
new AppStateManager());

        
// Now Restore State
        StateManager.GetStateManagerFromSession().ParamsDictionary[StateManager.ActiveMapAliasKey] = MapControl1.MapAlias;
        StateManager.GetStateManagerFromSession().RestoreState();

        
string tableName = "tableName", layerName = "layerName";//随便定义两个名字
        LayerManager.CreateLayer(tableName, layerName);//创建图层
        LayerManager.AddPoint(layerName, GetDPoint(60,60), 35, Color.Red);//创建一个红色五角星的点
        LayerManager.AddLine(layerName, GetDPoint(160160), GetDPoint(300160), 59, Color.Red);//创建一条红色单箭头的线
        LayerManager.ShowValue(tableName, "value");//显示标注
    }

    
private DPoint GetDPoint(int x,int y)
    
{
        DPoint dp 
= new DPoint();
        System.Drawing.Point point 
= new System.Drawing.Point(x, y);//客户端坐标(相对地图)
        Map map = MapInfo.Engine.Session.Current.MapFactory[0];
        map.DisplayTransform.FromDisplay(point, 
out dp);//转成相应的经纬度坐标
        return dp;
    }

    
// At the time of unloading the page, save the state
    private void Page_UnLoad(object sender, System.EventArgs e)
    
{
        StateManager.GetStateManagerFromSession().SaveState();
    }

}

5:运行结果

OK,保存,浏览,即可在页面上看到在相应的地方上,创建了一个五角星和一个红色单向箭头线

 


相关文章
|
定位技术
百度地图开发:map.setViewport让标注显示在最佳视野内
百度地图开发:map.setViewport让标注显示在最佳视野内
380 0
|
8月前
经验大分享:QML动态标注线
经验大分享:QML动态标注线
47 0
|
9月前
|
定位技术 Android开发
在高德地图添加标注物,及点击标注物感应区域重叠问题
在高德地图添加标注物,及点击标注物感应区域重叠问题
269 0
|
前端开发
前端学习笔记202305学习笔记第二十三天-区域文字和立体设置
前端学习笔记202305学习笔记第二十三天-区域文字和立体设置
55 0
|
数据可视化 前端开发 搜索推荐
数据可视化大屏百度地图GPS轨迹位置感知状态开发实战案例解析(百度地图jsAPI,包含缩放控件、点线覆盖物、弹窗、标注图标分类功能)
数据可视化大屏百度地图GPS轨迹位置感知状态开发实战案例解析(百度地图jsAPI,包含缩放控件、点线覆盖物、弹窗、标注图标分类功能)
328 0
|
数据可视化 物联网
Threejs物联网,养殖场3D可视化(三)模型展示,轨道控制器设置,模型沿着路线运动,模型添加边框,自定义样式显示标签,点击模型获取信息
Threejs物联网,养殖场3D可视化(三)模型展示,轨道控制器设置,模型沿着路线运动,模型添加边框,自定义样式显示标签,点击模型获取信息
988 15
Threejs物联网,养殖场3D可视化(三)模型展示,轨道控制器设置,模型沿着路线运动,模型添加边框,自定义样式显示标签,点击模型获取信息
|
9月前
GEE图表——趋势线图表的加载和展示包含纵坐标间隔的设定(以某区域年均降水总量为例)
GEE图表——趋势线图表的加载和展示包含纵坐标间隔的设定(以某区域年均降水总量为例)
118 0
|
定位技术 C# Windows
C#编程学习(05):使用webbroswer控件显示地图并标注点位坐标
C#编程学习(05):使用webbroswer控件显示地图并标注点位坐标
|
定位技术
ArcMap | 出图小技巧——比例尺、鹰眼图、表格、文本、图片
ArcMap | 出图小技巧——比例尺、鹰眼图、表格、文本、图片
524 0
|
前端开发 定位技术
前端学习笔记202305学习笔记第二十三天-地图区域样式设置1
前端学习笔记202305学习笔记第二十三天-地图区域样式设置1
55 0
前端学习笔记202305学习笔记第二十三天-地图区域样式设置1

热门文章

最新文章