zoukankan      html  css  js  c++  java
  • 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);
            }

     

  • 相关阅读:
    RSAUtils非对称加密
    计算日期之间的时间差
    面向注解的切面实现
    多个切面执行同一个方法
    spring切面拦截实现
    三种实现日志过滤器的方式 (过滤器 (Filter)、拦截器(Interceptors)和切面(Aspect))
    redis实现 msetex和 getdel命令
    mvn修改版本号命令
    shell脚本实例-while实现批量创建用户
    shell脚本实例-for实现批量主机的探测
  • 原文地址:https://www.cnblogs.com/yixinliu/p/2595408.html
Copyright © 2011-2022 走看看