`

Web页面中实现鼠标中键缩放

阅读更多
在MapXtreme 2005中,在Windows应用程序中自带鼠标中键缩放的功能,而有Web应用程序中却没有,如果能够实现会显得更加人性化。在百度里面一搜,还真有位高人实现了,于是借鉴了一下,作了一些修改,在这里和大家共享一下,你可能通过修改程序代码,控制每次缩放的比例,也可以选择等差或等比的方式进行缩放,代码比较简单,只要稍作修改就可以实现。
复制内容到剪贴板
代码:
(1)在页面的</form>之前添加如下JavaScript代码:


<script type="text/javascript">
var Img = document.getElementById("MapControl1_Image");
if(Img != null)
{
Img.attachEvent('onmousewheel', GetMouseWheelEvent);
}
function GetMouseWheelEvent()
{
var mapImage = document.getElementById("MapControl1_Image");
var url = "MapController.ashx?Command=WheelZoom&Width=" + mapImage.width +"&Height=" + mapImage.height
+ "&ExportFormat=" + mapImage.exportFormat + "&Ran=" + Math.random() + "&wheelvalue=" + event.wheelDelta;
if (mapImage.mapAlias)
url += "&MapAlias=" + mapImage.mapAlias;
try
{
mapImage.src = url;
}
catch(e)
{
alert("Error!");
}
}
</script>



(2)在后台代码中,如自定义命令的文件CustomerCommands.cs中的添加如下类:


[Serializable]
public class WheelZoom : MapBaseCommand
{
public WheelZoom()
{
Name = "WheelZoom";
}

public override void Process()
{
int wheelvalue = int.Parse(System.Convert.ToString(HttpContext.Current.Request["wheelvalue"]));

MapControlModel model = MapControlModel.GetModelFromSession();
model.SetMapSize(MapAlias, MapWidth, MapHeight);
try
{
MapInfo.Mapping.Map map = model.GetMapObj(MapAlias);

MapInfo.Geometry.Distance d;
if (wheelvalue > 0)
{
d = new MapInfo.Geometry.Distance(map.Zoom.Value * 0.5, map.Zoom.Unit);
}
else
{
d = new MapInfo.Geometry.Distance(map.Zoom.Value * 2, map.Zoom.Unit);
}
map.Zoom = d;
}
finally
{
System.IO.MemoryStream ms = model.GetMap(MapAlias, MapWidth, MapHeight, ExportFormat);
StreamImageToClient(ms);
}
}
}



(3)在页面加载处注册Command:


if(Session.IsNewSession)
{
MapControlModel model = MapControlModel.SetDefaultModelInSession();
model.Commands.Add(new WheelZoom());
}
UID1 帖子177 精华1 积分489 阅读权限200 在线时间85 小时 注册时间2008-7-18 最后登录2009-3-13 查看详细资料
TOP

分享到:
评论

相关推荐

    js实现鼠标滚轮控制图片缩放效果的方法

    在如今的网络应用中,经常会遇到需要实现用户通过鼠标滚轮控制页面元素缩放的场景,例如图片查看器、地图应用等。本文将详细介绍如何使用JavaScript来实现通过鼠标滚轮控制图片缩放效果的方法,其中将涉及...

    flex实现鼠标滚动放大缩小(以鼠标的位置为中心放大缩小)

    在本文中,我们将深入探讨如何使用Flex技术来实现在网页中通过鼠标滚动来实现图片的放大缩小,并且确保每次缩放都是以鼠标当前位置为中心进行的。Flex是一种强大的前端开发框架,它允许开发者创建灵活的、响应式的...

    页面中图片缩放拖动

    下面将详细介绍如何实现“页面中图片缩放拖动”的功能,并探讨相关技术及其应用。 一、图片缩放原理 图片缩放主要依赖CSS3和JavaScript技术。在CSS3中,我们可以使用`transform`属性来改变元素的大小,其中`scale...

    js实现鼠标拉框截图

    在JavaScript(简称JS)编程中,实现鼠标拉框截图是一项常见的功能,特别是在Web应用中,如在线编辑器、协作工具等。这个功能的核心是通过监听鼠标事件,结合HTML5的Canvas API来完成图像的选择和捕获。以下是实现这...

    Silverlight 2.0 实现鼠标滚动3D球多级图片缩放

    在本文中,我们将深入探讨如何使用Silverlight 2.0技术实现一个独特的用户交互功能——鼠标滚动3D球形多级图片缩放。这个功能在Web应用中可以为用户提供一个富有视觉吸引力且交互性强的体验,尤其适用于图像展示、...

    C#chart缩放

    通过以上步骤,你可以实现C#中使用MSChart控件并利用鼠标滚轮进行缩放的功能。这个功能在查看大量数据或者需要精细分析图表细节时特别有用。记住,调整和优化代码以适应你的具体需求,如图表类型、数据源和用户交互...

    带手势缩放功能的pdf.js

    在 PDF.js 中实现手势缩放可以增强用户的浏览体验,让他们更容易地查看文档的细节。 在参考链接《在pdf.js中添加手势缩放功能》中,开发者 evanyanglibo 提供了关于如何实现这一功能的详细步骤。首先,我们需要了解...

    echart_web页面_

    标题中的“echart_web页面_”表明我们正在讨论一个基于ECharts的数据可视化Web页面项目。ECharts是一款由百度开发的开源JavaScript图表库,它提供了丰富的图表类型,如柱状图、折线图、饼图等,用于在Web上进行数据...

    jQuery鼠标滚动缩放效果代码.rar

    【jQuery鼠标滚动缩放效果代码】是Web开发中一种常见的交互设计,主要应用于网页的可视化增强,提升用户体验。这个代码示例来源于WeBank微众银行,一个知名的金融科技公司,他们在网页设计上通常追求创新和用户体验...

    vbscript 鼠标滚轮 图片缩放效果

    在本话题中,我们将探讨如何利用VBScript实现鼠标滚轮控制图片缩放的特效,这在网页交互设计中是一项实用且吸引用户注意力的功能。 首先,我们需要了解VBScript的基本语法和事件处理。在HTML页面中,我们可以嵌入...

    svg拖拽缩放.zip

    在这个示例中,jQuery被用来处理SVG元素的用户交互,如鼠标拖拽和滚动事件,以便实现平移和缩放功能。 首先,我们来看“test-svg”文件夹中的测试页面。这些页面可能包含了基本的SVG图形,用于验证和调试拖拽和平移...

    js实现图片缩放与拖动

    在JavaScript中实现图片的缩放和拖动功能是一项常见的需求,尤其在开发交互式Web应用时。本篇文章将深入探讨如何使用JavaScript实现这一功能,并提供一个基础实例。 首先,我们需要理解图片缩放和拖动的基本原理。...

    openlayers的鼠标滚轮事件

    在地图应用中,鼠标滚轮通常被用来实现地图的缩放操作。当用户滚动鼠标滚轮时,地图会根据滚轮的方向进行放大或缩小,这极大地提高了用户的交互效率。 #### 三、实现方法 在OpenLayers中,可以通过`Navigation`...

    图片拖动和缩放功能

    在实际应用中,图片可能位于一个容器内,因此需要将鼠标的页面坐标转换为容器坐标,并计算出图片相对于容器的位置。这涉及到CSS的`getBoundingClientRect()`方法,它返回元素的尺寸和相对于视口的位置。 3. **图片...

    网页实现任意放大、缩小、拖拽、移动drag+jquery+html.rar

    在网页开发中,实现元素的放大、缩小、拖拽和移动功能是常见的需求,这能够增强用户的交互体验,尤其在创建交互式应用或富媒体网站时。本项目通过结合使用drag(拖拽)、jQuery和HTML技术,提供了一种实现此类功能的...

    js实现整体缩放页面适配移动端

    在当今的Web开发中,页面的移动端适配是非常重要的一环。随着智能手机的普及,越来越多的用户通过移动设备访问网页。而移动端的屏幕尺寸和分辨率各异,这就给Web开发人员带来了不小的挑战。如何使网页在不同分辨率和...

    svg 支持缩放和拖动DEMO

    在本DEMO中,我们探讨的是如何在SVG环境中实现图形的缩放和拖动功能,这对于创建交互式地图、图表或者任何需要用户操作的矢量图形应用来说是至关重要的。 首先,SVG图形的缩放通常通过变换(transform)属性来实现...

    使用键盘平移或缩放1

    标题中的“使用键盘平移或缩放1”指的是通过键盘快捷键来操控地图的移动和缩放行为,而不是依赖鼠标或其他输入设备。这种功能对于提升用户体验,特别是对有特殊需求或偏好使用键盘导航的用户来说非常重要。 首先,...

    基于canvas的web页面mini导航面板插件

    **基于canvas的Web页面mini导航面板插件——pagemap.js** 在现代Web开发中,为了提高用户体验,各种交互式和动态元素变得越来越普遍。其中,`pagemap.js` 是一个独特的JavaScript插件,它利用了HTML5的`&lt;canvas&gt;`...

    用HTML,JS底层实现地图的平移缩放和移动

    在JavaScript中,我们可以使用谷歌地图API提供的方法来实现地图的平移、缩放和移动。例如,`panBy()`方法用于平移地图,`setZoom()`方法调整缩放级别,`setCenter()`方法改变地图的中心点。这些操作都需要响应用户的...

Global site tag (gtag.js) - Google Analytics