/// <summary>
/// 鼠标中键滚动时,缩放地图。
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void smoMap_MouseWheelEvent(object sender, _DSuperMapEvents_MouseWheelEvent e)
{
// 获得鼠标所在位置的坐标。
double ptX = smoMap.PixelToMapX(e.x);
double ptY = smoMap.PixelToMapY(e.y);
// 进行缩放。
double dScale = 1 + EdcjGlobalVar.ZOOMFACTOR / 100.0 * (e.zDelta > 0 ? 1 : -1);
smoMap.ViewScale = smoMap.ViewScale * dScale;
// 重新设置屏幕中心坐标,保证鼠标所在点位置不变。
smoMap.CenterX = smoMap.CenterX - smoMap.PixelToMapX(e.x) + ptX;
smoMap.CenterY = smoMap.CenterY - smoMap.PixelToMapY(e.y) + ptY;
smoMap.Refresh();
}
EdcjGlobalVar.ZOOMFACTOR是一个全局变量,范围从3-100,表示缩放的百分比分子。