mapx 無法編輯已有的圖標或路線屬性的問題

    

今天寫了個程序,需要修改已有地圖中的路線名稱或圖標點名稱

用瞭如下語句卻總是修改無效

// 鼠標點擊事件

// 將點擊選中的線路更改爲新的名稱

CString szRoadName = "";

m_cRoadName.GetWindowText(szRoadName);

if ("" == szRoadName) return;


CMapXPoint pnt;
pnt.CreateDispatch(pnt.GetClsid());
double mapx,mapy;
m_CtrlMap.ConvertCoord(&X, &Y, &mapx, &mapy, miScreenToMap);
pnt.Set(mapx, mapy);
CMapXFeatures ftrs = m_CtrlMap.GetLayers().Item(m_szSelRoadLyr).SearchAtPoint(pnt);
if (ftrs.GetCount() > 0)
{
ftrs.Item(1).SetKeyValue(szRoadName);

        ftrs.Item(1).Update();

}


最後發現問題原來是直接引用Item的問題,換成下面的語句問題解決

CMapXFeature ftr = ftrs.Item(1);

ftr.SetKeyValue(szRoadName);

ftr.Update();

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章