MapXtreme2005 Web页面上用鼠标中间键控制地图缩放
来源:互联网 发布:sql developer 17.2 编辑:程序博客网 时间:2024/05/23 01:22
一、在页面的</form>之前添加如下js代码:
<script type="text/javascript">
var Img = document.getElementById("MapControl1_Image");
if(Img != null)
...{
Img.attachEvent('onmousewheel', bbb);
}
function bbb()
...{
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;
var xmlHttp = CreateXMLHttp();
xmlHttp.open("GET", url, false);
xmlHttp.send(null);
try ...{
mapImage.src = url;
} catch(e) ...{ alert("ll"); }
}
</script>
var Img = document.getElementById("MapControl1_Image");
if(Img != null)
...{
Img.attachEvent('onmousewheel', bbb);
}
function bbb()
...{
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;
var xmlHttp = CreateXMLHttp();
xmlHttp.open("GET", url, false);
xmlHttp.send(null);
try ...{
mapImage.src = url;
} catch(e) ...{ alert("ll"); }
}
</script>
二、在后端代码添加如下类:
[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 myMap = model.GetMapObj("map1");
MapInfo.Geometry.Distance d = new MapInfo.Geometry.Distance(myMap.Zoom.Value * 0.1, myMap.Zoom.Unit);
if(wheelvalue > 0)
d = new MapInfo.Geometry.Distance(myMap.Zoom.Value -900, myMap.Zoom.Unit);
else
d = new MapInfo.Geometry.Distance(myMap.Zoom.Value + 900, myMap.Zoom.Unit);
myMap.Zoom = d;
}
finally
...{
System.IO.MemoryStream ms = model.GetMap(MapAlias, MapWidth, MapHeight, ExportFormat);
StreamImageToClient(ms);
}
}
}
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 myMap = model.GetMapObj("map1");
MapInfo.Geometry.Distance d = new MapInfo.Geometry.Distance(myMap.Zoom.Value * 0.1, myMap.Zoom.Unit);
if(wheelvalue > 0)
d = new MapInfo.Geometry.Distance(myMap.Zoom.Value -900, myMap.Zoom.Unit);
else
d = new MapInfo.Geometry.Distance(myMap.Zoom.Value + 900, myMap.Zoom.Unit);
myMap.Zoom = d;
}
finally
...{
System.IO.MemoryStream ms = model.GetMap(MapAlias, MapWidth, MapHeight, ExportFormat);
StreamImageToClient(ms);
}
}
}
三、在页面加载处注册command:
if(!IsPostBack)
...{
MapControlModel model = MapControlModel.SetDefaultModelInSession();
model.Commands.Add(new WheelZoom());
}
...{
MapControlModel model = MapControlModel.SetDefaultModelInSession();
model.Commands.Add(new WheelZoom());
}
完毕,运行在页面地图上滚动鼠标中间键即可看到效果。
- MapXtreme2005 Web页面上用鼠标中间键控制地图缩放
- MapXtreme2005 Web页面上用鼠标中间键控制地图缩放
- 鼠标中键控制音量大小
- 鼠标左键控制玩家移动
- MapxTreme2005地图打印
- Web页面中实现鼠标中键缩放
- WEB页面中如何自动成比例缩放图片,鼠标滚轮缩放
- Ogre鼠标左键控制灯的开关
- unity 点击鼠标左键控制物体360展示
- web页面上鼠标任意拖动图标的程序
- vc++ 添加可以滚动整个窗口的滚动条(水平和竖直)并可使用鼠标滚动轮和键盘上的上下键控制滚动条
- 禁止Ctrl+鼠标滚轴浏览器页面缩放
- android2.3平台上web页面(html5中使用frame)不能滑动、不允许缩放的解决方法
- MapXtreme for .net实现鼠标中键缩放地图
- 鼠标控制地图的平滑移动和缩放
- web页面屏蔽鼠标右键
- 用 javascript 获取当页面上鼠标(光标)位置
- 用 javascript 获取当页面上鼠标(光标)位置
- 用QQ截图工具编辑Blog插图!
- c#字符窜
- XML格式的网站配置文件常见读写方案比较 (来源Internet)
- 在 ASP.NET 中使用计时器执行用户代码(来源Internet)
- 《Windows CE嵌入式开发入门——基于Xscale架构》第2章 系统时钟
- MapXtreme2005 Web页面上用鼠标中间键控制地图缩放
- ASP.net中的HTTP Handlers 和 HTTP Modules(来源Internet)
- 什么是模式? 什么是框架?
- 轻松掌握设计 Sql Server触发器的原理
- ASP.NET中处理HTTP请求的原理
- 引用外部lib
- web标准化设计:常用的CSS命名规则
- 基层信息化存在一些不足
- 怀念有时间写博客的日子