Lỗi: Không Zoom được các Text trong MapControl (C#)

Thảo luận trong 'Lập trình trong ArcGIS' bắt đầu bởi taibc, 2/11/12.

  1. taibc

    taibc New Member

    Tham gia ngày:
    9/7/12
    Bài viết:
    130
    Đã được thích:
    0
    Điểm thành tích:
    0
    Nghề nghiệp:
    Kỹ sư phần mềm - Công ty địa chính tư vấn và dịch
    Nơi ở:
    Hà Nội
    Chào các bạn,

    Không hiểu sao mình add được các Text Element lên MapControl, nhưng khi dùng nút Zoom In, Zoom Out thì không thấy các chữ to lên hoặc nhỏ đi. Bạn nào biết sai ở chỗ nào chỉ giúp mình với :

    Mình sử dụng hàm sau để add một Text lên MapControl:


    public void AddTextElement(AxESRI.ArcGIS.Controls.AxMapControl map, IPoint point, string strText, string fontName, int size, double degree, short weight)
    {
    IGraphicsContainer pGraphicsContainer = map.ActiveView.GraphicsContainer;
    ITextElement pTextElement = new TextElementClass();
    IElement pElement;
    IRgbColor pColor;
    IFontDisp pFont = new StdFontClass() as IFontDisp;

    pColor = new RgbColorClass();
    pColor.Red = 0;
    pColor.Green = 0;
    pColor .Blue = 0;

    pFont.Name = fontName;
    pFont.Weight = weight;
    pFont.Size = size;

    IFormattedTextSymbol formatTextSyl = new TextSymbolClass();
    formatTextSyl.Font = pFont;
    formatTextSyl.HorizontalAlignment = esriTextHorizontalAlignment.esriTHALeft;
    formatTextSyl.Angle = degree;

    pTextElement.ScaleText = true;
    pTextElement.Text = strText;
    pTextElement.Symbol = (ITextSymbol)formatTextSyl;

    pElement = (IElement)pTextElement;
    pElement.Geometry = (IGeometry)point;

    pGraphicsContainer.AddElement(pElement, 0);
    IActiveView activeView = map.ActiveView;
    activeView.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, null);
    }
     
  2. tuitui

    tuitui Member

    Tham gia ngày:
    6/1/12
    Bài viết:
    84
    Đã được thích:
    0
    Điểm thành tích:
    6
    Nếu add text thủ công vào ArcMap nó cũng không zoom được, vấn đề là đây.
    (ITextElement.ScaleText = true chưa đủ để zoom được text).
     
  3. taibc

    taibc New Member

    Tham gia ngày:
    9/7/12
    Bài viết:
    130
    Đã được thích:
    0
    Điểm thành tích:
    0
    Nghề nghiệp:
    Kỹ sư phần mềm - Công ty địa chính tư vấn và dịch
    Nơi ở:
    Hà Nội
    Vậy làm thế nào để có thể zoom được hả bạn. Bạn có ví dụ nào cụ thể không ?
     
  4. tuitui

    tuitui Member

    Tham gia ngày:
    6/1/12
    Bài viết:
    84
    Đã được thích:
    0
    Điểm thành tích:
    6
    Thử làm sao bên ArcGIS zoom được thì sẽ hiểu bên code cần thêm gì? Làm thử rồi sẽ được thôi (nếu không được thì tuần sau sẽ trả lời).
     
  5. dinhtranlinh

    dinhtranlinh New Member

    Tham gia ngày:
    3/2/12
    Bài viết:
    346
    Đã được thích:
    0
    Điểm thành tích:
    0
    Em muốn thực hiện 1 chức năng hiện đánh dấu của tất cả các point ( khách sạn) có thuôc tính trong attribute là 3 sao thì dùng hàm hay thực hiện thế nào ah ?
     
  6. tjteoo246

    tjteoo246 New Member

    Tham gia ngày:
    1/11/12
    Bài viết:
    2
    Đã được thích:
    0
    Điểm thành tích:
    0
    huong dan ca do online
    ca do qua mang
    cach dang ky tai khoan ca do online
    cach dang ky tai khoan ca do tren mang
    cach dang ky tai khoan ca cuoc online
    cach dang ky tai khoan ca cuoc tren mang
    cách dang ký tài khoan 188bet
    ca do bong da
    ca do da banh
    huong dan ca do da banh tren mang
    huong dan ca do da banh
    ca cuoc tren mang
     
  7. taibc

    taibc New Member

    Tham gia ngày:
    9/7/12
    Bài viết:
    130
    Đã được thích:
    0
    Điểm thành tích:
    0
    Nghề nghiệp:
    Kỹ sư phần mềm - Công ty địa chính tư vấn và dịch
    Nơi ở:
    Hà Nội
    Có phải là cần thiết lập ISpatialReference và ReferenceScale không bạn. Mình đang thử nhưng vẫn chưa rõ lắm
     
  8. tuitui

    tuitui Member

    Tham gia ngày:
    6/1/12
    Bài viết:
    84
    Đã được thích:
    0
    Điểm thành tích:
    6
    - Map Unit.
    - Reference Scale.
     
  9. taibc

    taibc New Member

    Tham gia ngày:
    9/7/12
    Bài viết:
    130
    Đã được thích:
    0
    Điểm thành tích:
    0
    Nghề nghiệp:
    Kỹ sư phần mềm - Công ty địa chính tư vấn và dịch
    Nơi ở:
    Hà Nội
    Cảm ơn bạn. Mình làm được rồi. Nhưng bạn có biết làm thế nào để xác định được giá trị Reference Scale cho phù hợp không ? Ví dụ: map.ReferenceScale = 500 .... map.ReFerenceScale = 15000000
     

Chia sẻ trang này

Share
Đang tải...