且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

GMap.Net开发之技巧小结

更新时间:2022-09-16 07:52:33

1、在GMap地图上,如果要让添加的图标(Marker)有个高亮(highlight)的效果,可以在MouseOver到Marker的时候设置Marker外观效果。

如果要让图标有个报警闪烁的效果,可以设置一个定时器,在定时器中改变Marker的外观,或者是用GDI来画圆闪动,带报警效果的Marker如下:

GMap.Net开发之技巧小结 View Code

2、可以旋转角度的Marker,比如可以将一个箭头图标旋转一定角度来指向一个轨迹路线,代码如下:

GMap.Net开发之技巧小结 View Code

3、在点击图标Marker的时候出现ContextMenuStrip:

GMap.Net开发之技巧小结 View Code

4、随地图放大缩小的圆,代码来自官方Demo:

GMap.Net开发之技巧小结 View Code

关键就是如何在放大缩小时确定圆的半径大小,半径大小为:

int R = (int)((Radius) / Overlay.Control.MapProvider.Projection.GetGroundResolution((int)Overlay.Control.Zoom, Position.Lat)) * 2;

通过当前的缩放比例zoom和圆心的纬度来得到地图在此条件下分辨率(resolution),分辨率的大小为一个像素大小所代表的距离(单位为米)。

所以当我采用画多边形的方式在地图上画圆时,实际得到的圆在小半径和地球赤道附近下是个圆,但是在纬度较大的地方画的圆就变成了椭圆,代码如下:

GMap.Net开发之技巧小结 View Code

5、保存地图为图片:

GMap.Net开发之技巧小结 View Code

 

参考:

https://greatmaps.codeplex.com/


    本文转自阿凡卢博客园博客,原文链接:http://www.cnblogs.com/luxiaoxun/p/3530341.html,如需转载请自行联系原作者