• GMap 转


    原地址:http://blog.csdn.net/chr1123/article/details/7431838

    接触gMap大概一两个月了,对它的了解不深,以下是我在使用过程中常用的一些属性,列出来供有需要的朋友参考

    Manager.Mode : 数据访问模式,一般设置为AccessMode.ServerAndCache
    MapProvider : 地图提供商,一般使用GMapProviders.GoogleChinaMap

    DragButton : 移动地图的鼠标按键,默认为右键,通常将其设置为 MouseButtons.Left

    MaxZoom : 最大倍数,为一个int
    MinZoom : 最小倍数,为一个int
    Zoom : 当前倍数,为一个int

    Position : 地图的聚焦点,为一个PointLatLng

    PointLatLng :包含两个两个double表示经纬度的点,Lat表示纬度,Lng表示纬度
    (30.55,114.29)武汉的一个点

    GMapOverlay : 图层,通过gMap.Overlays.Add方法添加到地图中,可存放标记、路径等

    GMarkerGoogle : 标记,存放在层中,新建时需要一个PointLatLng表示其位置信息和一个Bitmap表示其在地图上显示的图片
    常用属性有
    Tag,常用来存放一个唯一值,以便调用该标记
    ToolTipText,标记显示的文本
    ToolTipMode,设置ToolTip显示的模式,有始终显示、从不显示、鼠标停留时显示三种
    IsVisible,标记是否可见

    GMapRoute : 路径,可画出两点之间的线路、直线

    SelectedArea : 当前选择区域,Shift+拖动右键 可以设置
    LocationTopLeft,左上角的点,为一个PointLatLng
    LocationRightBottom,右下角的点 为一个PointLatLng
    gMap.SelectedArea = RectLatLng.Empty 可将其设置为空
    通过新建一个RectLatLng并赋值,可以设置当前选择区域:
    RectLatLng area = new RectLatLng();
    area.LocationTopLeft = new PointLatLng(leftLat,leftLon);
    area.Size = new SizeLatLng(leftLat-rightLat,rightLon-leftLon);
    mainMap.SelectedArea = area;
    mainMap.Position = area.LocationMiddle;

     

    网上搜过画路线的方法,看到过两种方法直接调用GMapRoute的manager里面有个什么方法,自己写的时候总是找不到那个方法,后来朋友教了个方法,我试过后可以用

    //画出两点之间的线路
    private void DrawrouteBetweenTowPoint(PointLatLng pointLatLng_S,PointLatLng pointLatLng_E)
            {
                RoutingProvider rp = gMap.MapProvider as RoutingProvider;
                if(rp != null)
                {
                    rp = GMapProviders.GoogleMap;
                }
                MapRoute route = rp.GetRoute(pointLatLng_S, pointLatLng_E, false, false, (int) gMap.Zoom);
                if(route!=null)
                {
                    GMapRoute r =new GMapRoute(route.Points,route.Name);
                    _overlay.Routes.Add(r);
                 //   gMap.ZoomAndCenterRoute(r);
                }
            }
     //画出两点直接的直线
     private void DrawLineBetweenTwoPoint(PointLatLng pointLatLng_S,PointLatLng pointLatLng_E)
            {
                List<PointLatLng> points = new List<PointLatLng>();
                points.Add(pointLatLng_S);
                points.Add(pointLatLng_E);
                GMapRoute r = new GMapRoute(points, "");
                r.Stroke = new Pen(Color.Green, 1);
                _overlay.Routes.Add(r);
            }

     

  • 相关阅读:
    [极客大挑战 2019]EasySQL CTF复现
    [极客大挑战 2019]Havefun (一起来撸猫) CTF复现
    一个简单漂亮的登录页面(前端)
    Python XPath的使用
    Python Requests的基本用法
    Linux配置jdk环境变量
    高性能 Java RPC 框架 Dubbo
    Zookeeper的配置文件及命令
    zookeeper怎么实现分布式锁
    Zookeeper-集群崩溃恢复
  • 原文地址:https://www.cnblogs.com/yixinliu/p/2595408.html
Copyright © 2020-2023  润新知