您的位置:首页 > 编程语言

实现地图放大(拉框和单击)、缩小(拉框和单击)、漫游操作的简易代码

2011-08-17 16:59 507 查看
/// <summary>

/// Zoom In

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

private void btnItem_ZoomIn_Click(object sender, EventArgs e)

{

axMapControl.MousePointer = esriControlsMousePointer.esriPointerZoomIn;

mapForm.MapOperator = MapOperation.ZOOMIN;

}

/// <summary>

/// Zoom out

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

private void btnItem_ZoomOut_Click(object sender, EventArgs e)

{

axMapControl.MousePointer = esriControlsMousePointer.esriPointerZoomOut;

mapForm.MapOperator = MapOperation.ZOOMOUT;

}

/// <summary>

/// pan

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

private void btnItem_Pan_Click(object sender, EventArgs e)

{

axMapControl.MousePointer = esriControlsMousePointer.esriPointerPan;

mapForm.MapOperator = MapOperation.PAN;

}

/// <summary>

/// Full extent

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

private void btnItem_FullExtent_Click(object sender, EventArgs e)

{

axMapControl.MousePointer = esriControlsMousePointer.esriPointerDefault;

mapForm.MapOperator = MapOperation.FULLEXTENT;

axMapControl.Extent = axMapControl.FullExtent;

}

private void axMapControl_OnMouseDown(object sender, IMapControlEvents2_OnMouseDownEvent e)

{

IEnvelope mEnv;

switch (mapOperator)

{

case MapOperation.ZOOMIN:

mEnv = axMapControl.TrackRectangle();

mEnv = axMapControl.Extent;

mEnv.Expand(0.5, 0.5, true);

axMapControl.Extent = mEnv;

break;

case MapOperation.ZOOMOUT:

mEnv = axMapControl.TrackRectangle();

mEnv = axMapControl.Extent;

mEnv.Expand(2, 2, true);

axMapControl.Extent = mEnv;

break;

case MapOperation.PAN:

axMapControl.Pan();

break;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: