1、在GMap地图上,如果要让添加的图标(Marker)有个高亮(highlight)的效果,可以在MouseOver到Marker的时候设置Marker外观效果。
如果要让图标有个报警闪烁的效果,可以设置一个定时器,在定时器中改变Marker的外观,或者是用GDI来画圆闪动,带报警效果的Marker如下:

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

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

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

关键就是如何在放大缩小时确定圆的半径大小,半径大小为:
int R = (int)((Radius) / Overlay.Control.MapProvider.Projection.GetGroundResolution((int)Overlay.Control.Zoom, Position.Lat)) * 2;
通过当前的缩放比例zoom和圆心的纬度来得到地图在此条件下分辨率(resolution),分辨率的大小为一个像素大小所代表的距离(单位为米)。
所以当我采用画多边形的方式在地图上画圆时,实际得到的圆在小半径和地球赤道附近下是个圆,但是在纬度较大的地方画的圆就变成了椭圆,代码如下:

5、保存地图为图片:

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