locked
Connect two zones in mappoint 2011 RRS feed

  • Question

  • While we were installing the map point 2011, I figured out that it do gives option to draw zones on map where ever we want as shown in picture (one), but if I want to draw more than 1 zone it doesn’t let me as we can draw zones differently but cannot connect 1 zone to another…actually the purpose is to remove gap among plots. In picture (Two) you can see the plots are drawn without gaps. Can someone help me out giving me idea how to draw zone like picture (Two). here is the code line to draw zone in map point 2011. i am drawing full zone, how to connect lines one zone to another

      object shapeItem = 1;    
    Shape objShape = axMappointControl1.ActiveMap.Shapes.get_Item(ref shapeItem); 
       if (objShape != null)  
      {     
       if (objShape.Type == GeoShapeType.geoTextBox || objShape.Type == GeoShapeType.geoFreeform)  
          {       List<Gen_Zone_PolyVertice> list = new List<Gen_Zone_PolyVertice>();   
             int? lineWeight = null;    
            int? lineForeColor = null;     
           System.Drawing.Color myColor = System.Drawing.Color.Red;     
           int iRed = System.Drawing.ColorTranslator.ToOle(myColor);      
          string shapeType = "";           
     foreach (Shape shp in axMappointControl1.ActiveMap.Shapes) 
               {         
           if (shp.Line.ForeColor == iRed || shp.Name.ToString() == "text")     
               {   
                     continue;    
                }   
                 if (lineWeight == null)       
             {       
                 lineWeight = shp.Line.Weight;    
                }          
          if (lineForeColor == null)      
              {             
           lineForeColor = shp.Line.ForeColor;  
                  }           
         try         
           {              
          shapeType = "";     
                                 
       List<MapPoint.Location> locArr = ((object[])shp.Vertices).Select(c => (MapPoint.Location)c).ToList<MapPoint.Location>();    
        list.AddRange((from a in locArr   
    select new Gen_Zone_PolyVertice     
         {      
                PostCode = "",     
        Latitude = a.Latitude,                            
         Longitude = a.Longitude                               
      }).ToList());         
           }     
               catch (Exception ex)       
             {}

    Friday, May 6, 2016 7:18 AM

All replies

  • If you want to share the boundaries between two polygons ("zones" as you call them), then you will need to detect which segment of one polygon you need to use in the new polygon, and then copy that.

    It is unclear from your description, how that detection should work - but that is the root of your problem.


    Richard Marsden
    MapPoint Add-ins at Mapping-Tools.com

    Monday, May 9, 2016 1:09 PM