C#和mapobject 中如何显示当前窗口内地图的比例?

welon 2008-06-09 04:38:53
如何显示如“1:10000000”这样比例?
...全文
164 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
anywherenet 2008-07-10
  • 打赏
  • 举报
回复
/// //////////////////////////////////////////////////////////////////////////////////////////////
/// 功能:计算地图比例尺
/// 参数:AxMapObjects2.AxMap map
/// 返回值:地图比例尺
/// /////////////////////////////////////////////////////////////////////////////////////////////
public double CalcScale(AxMapObjects2.AxMap map)
{
System.Drawing.Graphics g = System.Drawing.Graphics.FromHwnd((System.IntPtr)map.hWnd);

MPoint[] pts = new MPoint[2];
pts[0] = new MPoint();
pts[0].x = map.Extent.Left;
pts[0].y = map.Extent.Top;
pts[1] = new MPoint();
pts[1].x = map.Extent.Right;
pts[1].y = map.Extent.Top;

double dLen1 = this.CalcLenght(pts,2);

double dLen2 = map.Width / g.DpiX * 2.54 /100;

return dLen1 / dLen2;

}
welon 2008-07-07
  • 打赏
  • 举报
回复
请问楼上大大,如何自己算?
naiveC 2008-06-12
  • 打赏
  • 举报
回复
MO提供了一个比例尺控件叫MoScaleBar好像。不过也可以自己算,呵呵,麻烦点罢了。

2,142

社区成员

发帖
与我相关
我的任务
社区描述
它是一种特定的十分重要的空间信息系统。它是在计算机硬、软件系统支持下,对整个或部分地球表层(包括大气层)空间中的有关地理分布数据进行采集、储存、管理、运算、分析、显示和描述的技术系统。
社区管理员
  • 地理信息系统
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧