在B/S框架下,MapXtreme都是基于图片的,也就是说在客户端显示的地图实际上都是一张图片。

地图控件<cc1:MapControl ID="MapControl1" runat="server" Width="800" Height="600"/>

在调试模式下,编译后的地图控件
<span id="MapControl1" style="display:inline-block;height:600px;width:800px;"><img width="800px" height="600px" alt="" src="MapController.ashx?Command=GetMap&amp;Width=800&amp;Height=600&amp;ExportFormat=WindowsPng&amp;Ran=0.00238378299511214" id="MapControl1_Image" /><script language="javascript" type="text/javascript">var MapControl1Me = document.getElementById('MapControl1_Image');MapControl1Me.mapAlias= '';MapControl1Me.exportFormat= 'WindowsPng';

编译后的地图控件分为三部分:<span><img><script>。通过编译后的控件我们就很清楚接下来该如何进行设置。

<%--地图大小随窗体大小改变--%><script type="text/javascript">//窗体大小发生改变时触发该事件window.onresize = ChangeMapSize;//设置地图大小
        function ChangeMapSize(){var winWidth,winHeight;   //获取窗口宽度if (window.innerWidth)winWidth = window.innerWidth;else if ((document.body) && (document.body.clientWidth))winWidth = document.body.clientWidth;//获取窗口高度if (window.innerHeight)winHeight = window.innerHeight;else if ((document.body) && (document.body.clientHeight))winHeight = document.body.clientHeight;//通过深入Document内部对body进行检测,获取窗口大小if (document.documentElement && document.documentElement.clientHeight && document.documentElement.clientWidth){winHeight = document.documentElement.clientHeight;winWidth = document.documentElement.clientWidth;}var mapImage = document.getElementById("MapControl1_Image");if(mapImage != null){//第一步设置<img>控件的大小mapImage.width = winWidth;mapImage.height = winHeight;  //第二部设置图片的大小//对MapXtreme的Web应用稍微有些了解的应该清楚//客户端实际上是通过下面的浏览器从服务器获取图片的//以下的相关参数例如width和height是用来设置图片大小的var url = "MapController.ashx?Command=GetMap" + "&Width=" + winWidth + "&Height=" + winHeight +"&ExportFormat=" + mapImage.exportFormat + "&includeBorder=false&Ran=" + Math.random();mapImage.src = url;}//第三步设置<span>控件大小var mapControl = document.getElementById("MapControl1");if(mapControl != null){mapControl.style.width = mapImage.width + 'px';mapControl.style.height = mapImage.height + 'px';}}</script>

可根据需要考虑是否在添加<body οnlοad="ChangeMapSize();">。

转载于:https://www.cnblogs.com/Madfrog-Cainiao/p/3157361.html

MapXtrem + Asp.net 地图随窗体改变大小相关推荐

  1. QT无边框窗体改变大小 很顺畅

    近期,做项目用到无边框窗体,令人蛋疼的是无边框窗体大小的改变要像右边框那样,上下左右四周,而且要流畅. 网上也找了些代码,发现居然还要连接到windows事件,这显然不合常理,后来自己新建了demo, ...

  2. .NET 不规则、可改变大小、边框半透明窗体设计

    做.NET WinForm的开发也有一段时间了,对.NET的界面设计也有了一定的了解.自认为自己学的这些东西都是网上看高手们的东西后总结出来的,第一次把这些东西写出来. 不好的地方请大家多多指教. 大 ...

  3. c# groupbox大小_【已解决】C#中使得控件随着WinForm窗体的大小改变而自动变化

    [问题] 想要使得一个C#中的一个窗体中的控件,DataGridView,自动随着WinForm窗体变化而变化,即: 中的显示数据的灰色部分, 另外还有上面那个"2.actions" ...

  4. C# WinForm 无边框窗体,加阴影、拖动、改变大小等功能完美实现(自认为是完美的 ^=^)

    关于Winform的无边框窗体实现,网络上有很多大牛文章,这里不赘述.我也是参考网络上的思路,在使用别人的代码基础上,发现和遇到了很多小问题,所以做了改造,以下做个记录,也是给需要的人提供一点思路,如 ...

  5. C#图像处理(各种旋转、改变大小、柔化、锐化、雾化、底片、浮雕、黑白、滤镜效果,滤波,图像截取) 对图片的处理 : 亮度调整 抓屏 翻转 随鼠标画矩形

    C#图像处理(各种旋转.改变大小.柔化.锐化.雾化.底片.浮雕.黑白.滤镜效果) C#图像处理(各种旋转.改变大小.柔化.锐化.雾化.底片.浮雕.黑白.滤镜效果,滤波,图像截取) 对图片的处理 : 亮 ...

  6. C#图像处理(各种旋转、改变大小、柔化、锐化、雾化、底片、浮雕、黑白、滤镜效果)

    C#图像处理 (各种旋转.改变大小.柔化.锐化.雾化.底片.浮雕.黑白.滤镜效果) 一.各种旋转.改变大小 注意:先要添加画图相关的using引用. //向右旋转图像90°代码如下: private ...

  7. 如何使QGraphicsItem不随QGraphicsView放大缩小而改变大小

    一.简述 在使用QGraphicsView过程中,有时候我们需要对view进行缩放,但是对于一般正常的加入view中的item都会随着view的大小变化而变化,但是如果我们想让某些item不随view ...

  8. 【最终版】PyQt5 自定义标题栏,实现无边框,最小化最大化关闭事件,窗口拖动移动,窗口改变大小,仿百度网盘色调美化,添加内容窗口

    [最终版]PyQt5 自定义标题栏,实现无边框,最小化最大化关闭事件,窗口拖动移动,窗口改变大小,仿百度网盘色调美化,添加内容窗口 文章目录 [最终版]PyQt5 自定义标题栏,实现无边框,最小化最大 ...

  9. PyQt5 自定义标题栏,实现无边框,最小化最大化关闭事件,窗口拖动移动,窗口改变大小,仿百度网盘色调美化

    PyQt5 自定义标题栏,实现无边框,最小化最大化关闭事件,窗口拖动移动,窗口改变大小,仿百度网盘色调美化 文章目录 PyQt5 自定义标题栏,实现无边框,最小化最大化关闭事件,窗口拖动移动,窗口改变 ...

  10. 高德地图 - 点击改变当前 marker 图标(marker点击切换 icon 上一个 icon 恢复原样)

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...

最新文章

  1. 使用java的HttpClient实现抓取网页数据
  2. Scala入门到精通——第十八节 隐式转换与隐式参数(一)
  3. 在Visual Studio上开发Node.js程序
  4. CF1497D Genius
  5. Spring中BeanFactory和FactoryBean的区别
  6. 廖雪峰的python学习网址
  7. python从入门到精通需要多久-python从入门到精通需要多久?你需要先明白这两个点...
  8. Centos上禁用 rpcbind 111端口
  9. 耐思尼克的“建站宝盒”怎么样呀?
  10. 2022-2028全球变压器测试行业调研及趋势分析报告
  11. js遍历对象去除空格
  12. 淮阴工学院计算机硕士生导师,硕士生导师概况
  13. Vue学习之vue-cli脚手架下载安装及配置
  14. c语言 滑窗法_窗函数的C语言实现
  15. 天盾linux数据恢复,天盾Linux数据恢复软件
  16. 穿山甲插屏广告居中_穿山甲|广告展示量太低?穿山甲给出6个实操建议,助力效果提升...
  17. 微信小程序超级占内存_手机APP占内存?4款超赞的微信小程序,不用下载,拿去即可使用!...
  18. Scala 将时间字符串转为时间戳
  19. H5页面支持拍照选择图片
  20. verdi简单使用方法

热门文章

  1. 开放PLM——Aras Innovator编程学习(一)简介
  2. VS2022 安装 .NET Framework 4.0的方法
  3. 国中假期 part 1
  4. Linux 删除多余内核
  5. (HR面试)最常见的面试问题和技巧性答复
  6. kernelbase故障模块_错误模块名称: KERNELBASE.dll
  7. 基于ssm的酒店客房管理系统(含数据库结构文档)
  8. AutoIt教程资源汇总
  9. Web页面无法执行CGI的exe程序
  10. Windows下安装Tensorflow-Slim(待续)