void drawNewFeature(
const CString &csLayerName,
double dblLng,
double dblLat,
const CString &csName,
const CString &csLevel,
const CString &csTime
)
{
CMapX *m_mapx;
CMapXStyle pStyle; pStyle.CreateDispatch(pStyle.GetClsid());
pStyle.SetSymbolType(miSymbolTypeVector);
pStyle.SetSymbolCharacter(34);
pStyle.SetSymbolVectorSize(16);
pStyle.SetSymbolVectorColor(miColorRed);
CMapXLayer pLayer;
pLayer = m_mapx->GetLayers().Item(csLayerName);
pLayer.BeginAccess(miAccessReadWrite);
{
m_mapx->SetAutoRedraw(FALSE);
pLayer.SetEditable(TRUE);
CMapXFeature pFeature;
CMapXPoint pPoint;
CMapXFeatureFactory pFeatureFactory; pFeatureFactory = m_mapx->GetFeatureFactory();
pFeature.CreateDispatch(pFeature.GetClsid());
pPoint.CreateDispatch(pPoint.GetClsid());
pPoint.Set(dblLng,dblLat);
VARIANT vtPoint;
VARIANT vtStyle;
vtPoint.vt = VT_DISPATCH;
vtPoint.pdispVal = pPoint.m_lpDispatch;
vtStyle.vt = VT_DISPATCH;
vtStyle.pdispVal = pStyle.m_lpDispatch; pFeature = pFeatureFactory.CreateSymbol(vtPoint, vtStyle);
pLayer.AddFeature(pFeature.m_lpDispatch); pLayer.Refresh(); pLayer.SetKeyField("name");
pFeature.SetKeyValue(csName);
//find error here
pFeature.Update(); pLayer.SetKeyField("level");
pFeature.SetKeyValue(csLevel);
pFeature.Update(); pLayer.SetKeyField("time");
pFeature.SetKeyValue(csTime);
pFeature.Update(); m_mapx->ZoomTo(1000,pFeature.GetCenterX(),pFeature.GetCenterY());
m_mapx->SetAutoRedraw(TRUE);
pLayer.SetEditable(FALSE);
m_mapx->Refresh();
} pLayer.EndAccess();
}
const CString &csLayerName,
double dblLng,
double dblLat,
const CString &csName,
const CString &csLevel,
const CString &csTime
)
{
CMapX *m_mapx;
CMapXStyle pStyle; pStyle.CreateDispatch(pStyle.GetClsid());
pStyle.SetSymbolType(miSymbolTypeVector);
pStyle.SetSymbolCharacter(34);
pStyle.SetSymbolVectorSize(16);
pStyle.SetSymbolVectorColor(miColorRed);
CMapXLayer pLayer;
pLayer = m_mapx->GetLayers().Item(csLayerName);
pLayer.BeginAccess(miAccessReadWrite);
{
m_mapx->SetAutoRedraw(FALSE);
pLayer.SetEditable(TRUE);
CMapXFeature pFeature;
CMapXPoint pPoint;
CMapXFeatureFactory pFeatureFactory; pFeatureFactory = m_mapx->GetFeatureFactory();
pFeature.CreateDispatch(pFeature.GetClsid());
pPoint.CreateDispatch(pPoint.GetClsid());
pPoint.Set(dblLng,dblLat);
VARIANT vtPoint;
VARIANT vtStyle;
vtPoint.vt = VT_DISPATCH;
vtPoint.pdispVal = pPoint.m_lpDispatch;
vtStyle.vt = VT_DISPATCH;
vtStyle.pdispVal = pStyle.m_lpDispatch; pFeature = pFeatureFactory.CreateSymbol(vtPoint, vtStyle);
pLayer.AddFeature(pFeature.m_lpDispatch); pLayer.Refresh(); pLayer.SetKeyField("name");
pFeature.SetKeyValue(csName);
//find error here
pFeature.Update(); pLayer.SetKeyField("level");
pFeature.SetKeyValue(csLevel);
pFeature.Update(); pLayer.SetKeyField("time");
pFeature.SetKeyValue(csTime);
pFeature.Update(); m_mapx->ZoomTo(1000,pFeature.GetCenterX(),pFeature.GetCenterY());
m_mapx->SetAutoRedraw(TRUE);
pLayer.SetEditable(FALSE);
m_mapx->Refresh();
} pLayer.EndAccess();
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货