您的位置:首页 > 移动开发 > Objective-C

SuperMap Object 中键滚动实现地图自由缩放

2008-06-12 19:58 344 查看
/// <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,表示缩放的百分比分子。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: