Esempio n. 1
0
        void AddPolyGons()
        {
            ClearOverlays();

            var mapOverlayManager = mapView.MapOverlayManager;
            // set path data points
            var pathData1 = new NMapPathData(9);

            pathData1.InitPathData();
            pathData1.AddPathPoint(127.108099, 37.366034, NMapPathLineType.Solid);
            pathData1.AddPathPoint(127.108088, 37.366043, NMapPathLineType.None);
            pathData1.AddPathPoint(127.108079, 37.365619, NMapPathLineType.None);
            pathData1.AddPathPoint(127.107458, 37.365608, NMapPathLineType.None);
            pathData1.AddPathPoint(127.107232, 37.365608, NMapPathLineType.None);
            pathData1.AddPathPoint(127.106904, 37.365624, NMapPathLineType.None);
            pathData1.AddPathPoint(127.105933, 37.365621, NMapPathLineType.None);
            pathData1.AddPathPoint(127.105929, 37.366378, NMapPathLineType.None);
            pathData1.AddPathPoint(127.106279, 37.366380, NMapPathLineType.None);
            pathData1.EndPathData();

            var style1 = new NMapPathLineStyle();

            style1.PathDataType     = NMapPathDataType.Polygon;
            style1.LineColor        = UIColor.Green;
            style1.FillColor        = UIColor.Blue;
            pathData1.PathLineStyle = style1;

            // create path data overlay
            var pathDataOverlay = mapOverlayManager.NewPathDataOverlay(pathData1);

            if (pathDataOverlay != null)
            {
                var pathData2 = new NMapPathData(7);

                pathData2.InitPathData();
                pathData2.AddPathPoint(127.108099, 37.367034, NMapPathLineType.Solid);
                pathData2.AddPathPoint(127.108088, 37.367043, NMapPathLineType.None);
                pathData2.AddPathPoint(127.108079, 37.366619, NMapPathLineType.None);
                pathData2.AddPathPoint(127.107458, 37.366608, NMapPathLineType.None);
                pathData2.AddPathPoint(127.107232, 37.366608, NMapPathLineType.None);
                pathData2.AddPathPoint(127.106904, 37.366624, NMapPathLineType.None);
                pathData2.AddPathPoint(127.106904, 37.367721, NMapPathLineType.None);
                pathData2.EndPathData();

                var style2 = new NMapPathLineStyle();
                style2.PathDataType     = NMapPathDataType.Polygon;
                style2.LineColor        = UIColor.Blue;
                style2.FillColor        = UIColor.Green;
                pathData2.PathLineStyle = style2;

                pathDataOverlay.AddPathData(pathData2);
            }
            // show all POI data
            pathDataOverlay.ShowAllPathData();
        }
        private void TestPathDataOverlay()
        {
            // set path data points
            NMapPathData pathData = new NMapPathData(9);

            pathData.InitPathData();
            pathData.AddPathPoint(127.108099, 37.366034, NMapPathLineStyle.TypeSolid);
            pathData.AddPathPoint(127.108088, 37.366043, 0);
            pathData.AddPathPoint(127.108079, 37.365619, 0);
            pathData.AddPathPoint(127.107458, 37.365608, 0);
            pathData.AddPathPoint(127.107232, 37.365608, 0);
            pathData.AddPathPoint(127.106904, 37.365624, 0);
            pathData.AddPathPoint(127.105933, 37.365621, NMapPathLineStyle.TypeDash);
            pathData.AddPathPoint(127.105929, 37.366378, 0);
            pathData.AddPathPoint(127.106279, 37.366380, 0);
            pathData.EndPathData();

            NMapPathDataOverlay pathDataOverlay = mOverlayManager.CreatePathDataOverlay(pathData);

            if (pathDataOverlay != null)
            {
                // add path data with polygon type
                NMapPathData pathData2 = new NMapPathData(4);
                pathData2.InitPathData();
                pathData2.AddPathPoint(127.106, 37.367, NMapPathLineStyle.TypeSolid);
                pathData2.AddPathPoint(127.107, 37.367, 0);
                pathData2.AddPathPoint(127.107, 37.368, 0);
                pathData2.AddPathPoint(127.106, 37.368, 0);
                pathData2.EndPathData();
                pathDataOverlay.AddPathData(pathData2);
                // set path line style
                NMapPathLineStyle pathLineStyle = new NMapPathLineStyle(mMapView.Context);
                pathLineStyle.PataDataType = NMapPathLineStyle.DataTypePolygon;
                pathLineStyle.SetLineColor(0xA04DD2, 0xff);
                pathLineStyle.SetFillColor(0xFFFFFF, 0x00);
                pathData2.PathLineStyle = pathLineStyle;

                // add circle data
                NMapCircleData circleData = new NMapCircleData(1);
                circleData.InitCircleData();
                circleData.AddCirclePoint(127.1075, 37.3675, 50.0F);
                circleData.EndCircleData();
                pathDataOverlay.AddCircleData(circleData);
                // set circle style
                NMapCircleStyle circleStyle = new NMapCircleStyle(mMapView.Context);
                circleStyle.SetLineType(NMapPathLineStyle.TypeDash);
                circleStyle.SetFillColor(0x000000, 0x00);
                circleData.CircleStyle = circleStyle;

                // show all path data
                pathDataOverlay.ShowAllPathData(0);
            }
        }
        void AddPolylines()
        {
            ClearOverlays();

            var mapOverlayManager = mapView.MapOverlayManager;
            // set path data points
            var pathData1 = new NMapPathData(9);

            pathData1.InitPathData();
            pathData1.AddPathPoint(127.108099, 37.366034, NMapPathLineType.Solid);
            pathData1.AddPathPoint(127.108088, 37.366043, NMapPathLineType.None);
            pathData1.AddPathPoint(127.108079, 37.365619, NMapPathLineType.None);
            pathData1.AddPathPoint(127.107458, 37.365608, NMapPathLineType.None);
            pathData1.AddPathPoint(127.107232, 37.365608, NMapPathLineType.None);
            pathData1.AddPathPoint(127.106904, 37.365624, NMapPathLineType.None);
            pathData1.AddPathPoint(127.105933, 37.365621, NMapPathLineType.Dash);
            pathData1.AddPathPoint(127.105929, 37.366378, NMapPathLineType.None);
            pathData1.AddPathPoint(127.106279, 37.366380, NMapPathLineType.None);
            pathData1.EndPathData();

            // create path data overlay
            var pathDataOverlay = mapOverlayManager.NewPathDataOverlay(pathData1);

            if (pathDataOverlay != null)
            {
                var pathData2 = new NMapPathData(7);

                pathData2.InitPathData();
                pathData2.AddPathPoint(127.108099, 37.367034, NMapPathLineType.Solid);
                pathData2.AddPathPoint(127.108088, 37.367043, NMapPathLineType.None);
                pathData2.AddPathPoint(127.108079, 37.366619, NMapPathLineType.None);
                pathData2.AddPathPoint(127.107458, 37.366608, NMapPathLineType.None);
                pathData2.AddPathPoint(127.107232, 37.366608, NMapPathLineType.None);
                pathData2.AddPathPoint(127.106904, 37.366624, NMapPathLineType.Dash);
                pathData2.AddPathPoint(127.106904, 37.367721, NMapPathLineType.None);
                pathData2.EndPathData();

                //NMapPathLineStyle* style = [[NMapPathLineStyle alloc] init];
                //[style setPathDataType:NMapPathDataTypePolyline];
                //[style setLineColor:[UIColor greenColor]];
                //[pathData2 setPathLineStyle:style];

                //[pathDataOverlay addPathData:pathData2];
                var style = new NMapPathLineStyle();
                style.PathDataType      = NMapPathDataType.Line;
                style.LineColor         = UIColor.Green;
                pathData2.PathLineStyle = style;

                pathDataOverlay.AddPathData(pathData2);
            }
            // show all POI data
            pathDataOverlay.ShowAllPathData();
        }