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

 


相关文章
|
数据可视化 前端开发 搜索推荐
数据可视化大屏百度地图GPS轨迹位置感知状态开发实战案例解析(百度地图jsAPI,包含缩放控件、点线覆盖物、弹窗、标注图标分类功能)
数据可视化大屏百度地图GPS轨迹位置感知状态开发实战案例解析(百度地图jsAPI,包含缩放控件、点线覆盖物、弹窗、标注图标分类功能)
330 0
|
数据可视化 物联网
Threejs物联网,养殖场3D可视化(三)模型展示,轨道控制器设置,模型沿着路线运动,模型添加边框,自定义样式显示标签,点击模型获取信息
Threejs物联网,养殖场3D可视化(三)模型展示,轨道控制器设置,模型沿着路线运动,模型添加边框,自定义样式显示标签,点击模型获取信息
993 15
Threejs物联网,养殖场3D可视化(三)模型展示,轨道控制器设置,模型沿着路线运动,模型添加边框,自定义样式显示标签,点击模型获取信息
|
9月前
GEE图表——趋势线图表的加载和展示包含纵坐标间隔的设定(以某区域年均降水总量为例)
GEE图表——趋势线图表的加载和展示包含纵坐标间隔的设定(以某区域年均降水总量为例)
122 0
|
定位技术 C# Windows
C#编程学习(05):使用webbroswer控件显示地图并标注点位坐标
C#编程学习(05):使用webbroswer控件显示地图并标注点位坐标
|
前端开发 定位技术
前端学习笔记202305学习笔记第二十三天-地图区域样式设置1
前端学习笔记202305学习笔记第二十三天-地图区域样式设置1
58 0
前端学习笔记202305学习笔记第二十三天-地图区域样式设置1
|
搜索推荐 数据可视化 JavaScript
数据可视化大屏百度地图绘制行政区域标注实战案例解析(个性化地图、标注、视频、控件、定位、检索)
数据可视化大屏百度地图绘制行政区域标注实战案例解析(个性化地图、标注、视频、控件、定位、检索)
253 1
|
JSON 定位技术 API
百度地图高级开发:获取某范围半径圆形区域检索覆盖物内的所有标注的解决方案(1)
百度地图高级开发:获取某范围半径圆形区域检索覆盖物内的所有标注的解决方案(1)
364 0
|
JavaScript 前端开发 定位技术
地图开发实战案例:高德地图弧线连接线标注
地图开发实战案例:高德地图弧线连接线标注
168 0
|
JavaScript 前端开发 定位技术
地图开发实战案例:高德地图设置中心点和级别的行政区多边形加载效果
地图开发实战案例:高德地图设置中心点和级别的行政区多边形加载效果
169 0
|
JSON 前端开发 数据可视化
Echarts实战案例代码(4):地图散点气泡图飞线(迁徙线)API接口前端处理数据的解决方案
Echarts实战案例代码(4):地图散点气泡图飞线(迁徙线)API接口前端处理数据的解决方案
362 0