public void ZoomOut(PictureBox m_PictureBox)
{
fuzhou.MapDescription pMapDescription = m_sMapDesc;
fuzhou.EnvelopeN pEnvelope = pMapDescription.MapArea.Extent as fuzhou.EnvelopeN;
double eWidth = Math.Abs(pEnvelope.XMax - pEnvelope.XMin);
double eHeight = Math.Abs(pEnvelope.YMax - pEnvelope.YMin);
double xFactor = (eWidth - (eWidth * 1.5)) / 2;
double yFactor = (eHeight - (eHeight * 1.5)) / 2;
pEnvelope.XMax = pEnvelope.XMax - xFactor;
pEnvelope.XMin = pEnvelope.XMin + xFactor;
pEnvelope.YMax = pEnvelope.YMax - yFactor;
pEnvelope.YMin = pEnvelope.YMin + yFactor;
fuzhou.MapExtent pMapExtext = new fuzhou.MapExtent();
pMapExtext.Extent = pEnvelope;
pMapDescription.MapArea = pMapExtext;
m_sMapDesc = pMapDescription;
drawMap(ref pMapDescription, m_PictureBox);
}
放大操作的基本原理是取得当前的地图描述MapDescription,然后按照比例计算出放大或缩小的比例。在得出按照比例计算出来的周边坐标,然后将其提交服务器,取得图形进行显示。
本文来源【学网】网站链接是http://www.xue5.com