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