惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
T
Threatpost
Latest news
Latest news
N
News | PayPal Newsroom
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Help Net Security
Help Net Security
D
Darknet – Hacking Tools, Hacker News & Cyber Security
AI
AI
Simon Willison's Weblog
Simon Willison's Weblog
TaoSecurity Blog
TaoSecurity Blog
The Last Watchdog
The Last Watchdog
L
LINUX DO - 热门话题
Google DeepMind News
Google DeepMind News
T
Threat Research - Cisco Blogs
O
OpenAI News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
The Exploit Database - CXSecurity.com
NISL@THU
NISL@THU
Application and Cybersecurity Blog
Application and Cybersecurity Blog
S
Securelist
小众软件
小众软件
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Martin Fowler
Martin Fowler
S
SegmentFault 最新的问题
Cisco Talos Blog
Cisco Talos Blog
云风的 BLOG
云风的 BLOG
AWS News Blog
AWS News Blog
GbyAI
GbyAI
N
News and Events Feed by Topic
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
美团技术团队
Engineering at Meta
Engineering at Meta
A
About on SuperTechFans
博客园 - 三生石上(FineUI控件)
S
Schneier on Security
博客园 - 聂微东
V2EX - 技术
V2EX - 技术
T
Troy Hunt's Blog
SecWiki News
SecWiki News
S
Secure Thoughts
B
Blog RSS Feed
Hugging Face - Blog
Hugging Face - Blog
WordPress大学
WordPress大学
腾讯CDC
H
Heimdal Security Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Apple Machine Learning Research
Apple Machine Learning Research
月光博客
月光博客
www.infosecurity-magazine.com
www.infosecurity-magazine.com
P
Privacy International News Feed

博客园 - 所言非虚

未来谁才是移动互联网的入口? [Oracle]Sqlplus连接成功,但pl/sql连接不成功,提示“ora-12145:无法解析指定的连接标识符” Windows待机、休眠、睡眠的区别以及程序运行策略 [Worldwind]worldwind源码编译 windows server 2008 x64下oracle 10gR2的安装方法 [长期]常见问题收集 最佳编程字体推荐 GDAL问题收集 向量点积与叉积的定义及应用 空间平面法向量求法 【解决】加载图片"内存不足"问题 【原创】客户端添加兴趣点,并随地图变化而变化 - 所言非虚 - 博客园 【原创】利用ESRI自带的符号库进行符号化 FireFox与IE的兼容 【转】兼容IE和FireFox的鼠标滚轮事件 DIV的精确定位 - 所言非虚 - 博客园 ArcGIS Server开发的一些小经验 ArcSDE C API在.NET中的调用 - 所言非虚 [译]ArcGIS Server Map Service Cache的组织结构
【原创】随鼠标移动显示地图经纬度 - 所言非虚 - 博客园
所言非虚 · 2008-05-10 · via 博客园 - 所言非虚

思路是在地图的Extent的改变的时候,将Extent的XMin,YMin,Width,Height的值传到客户端,客户端调再根据这几个值经过换算得到当前点的经纬度。这样只有在Extent改变是才与服务器交互,经纬度的获取都是在客户端计算所得。

1.为Map控件添加鼠标滑动的客户端事件

Map1.Attributes.Add("onmousemove""GetPosition(event)");

2.在Map的ExtentChanged事件中将相应的值传到客户端

protected void Map1_ExtentChanged(object sender, ESRI.ArcGIS.ADF.Web.UI.WebControls.ExtentEventArgs args)
{
String script;
script 
= "lat=" + args.NewExtent.YMin.ToString() + ";lon=" + args.NewExtent.XMin.ToString() + ";latWidth="+args.NewExtent.Width.ToString()+";lonHeight="+args.NewExtent.Height.ToString()+";";

ESRI.ArcGIS.ADF.Web.UI.WebControls.CallbackResult s 
= new ESRI.ArcGIS.ADF.Web.UI.WebControls.CallbackResult(nullnull"javascript", script);
Map1.CallbackResults.Add(s);
}

3.添加客户端处理事件

var lon='0.00';//经度
var lat='0.00';//纬度
var lonHeight='0.00'//高度
var latWidth='0.00'//宽度
//------------------------------------
function GetPosition(evt)
{
evt
=(evt)?evt:window.event;
var map
=document.getElementById('Map1');
var mapx
=getLeft(map);
var mapy
=getTop(map);


var maph
=map.clientHeight;
var mapw
=map.clientWidth;
var mapleftbottom
=maph+mapy;

var posi
=document.getElementById('position');
var evtx
=(evt.x)?evt.x:evt.pageX;
var evty
=(evt.y)?evt.y:evt.pageY;

var y
=parseFloat(lat); //纬度
var x=parseFloat(lon); //经度
var height=parseFloat(lonHeight);
var width
=parseFloat(latWidth);

var ratex
=(evtx-mapx)/mapw;
var ratey
=(mapleftbottom-evty)/maph;

var templon
=Math.round((width*ratex+x)*100)/100;
var templat
=Math.round((height*ratey+y)*100)/100;
posi.innerHTML
='经度:'+templon+' '+'纬度:'+templat;
}

//获取元素的纵坐标
        function getTop(e)
        
{
            var offset
=e.offsetTop;
            
if(e.offsetParent!=null) offset+=getTop(e.offsetParent);
            
return offset;
        }

        
//-----------------------------
        
//获取元素的横坐标
        function getLeft(e)
        
{
            var offset
=e.offsetLeft;
            
if(e.offsetParent!=null) offset+=getLeft(e.offsetParent);
            
return offset;
        }