阅读:1452回复:1
请教高手,为什么不显示线
<P> CString filter(TEXT("ESRI Shapefiles (*.shp)|*.shp|"));<BR> CString m_path;<BR> <BR> CFileDialog dlg(FALSE, TEXT(".shp"), 0, OFN_ALLOWMULTISELECT | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY, filter);<BR> if (dlg.DoModal() == IDOK)<BR> {<BR> <BR> m_path = dlg.GetPathName();<BR> <BR> // Open a new connection<BR> CMoDataConnection conn;<BR> if (!conn.CreateDispatch(TEXT("MapObjects2.DataConnection")))<BR> return;<BR> <BR> conn.SetDatabase(GetFileDirectory(m_path));<BR> if (!conn.Connect())<BR> return;<BR> <BR> // Define the geodataset<BR> CMoTableDesc tableDesc;<BR> if (!tableDesc.CreateDispatch(TEXT("MapObjects2.TableDesc")))<BR> return;<BR> <BR> // set the field names, types, and lengths<BR> tableDesc.SetFieldCount(1); <BR> tableDesc.SetFieldName(0, TEXT("高程值"));<BR> tableDesc.SetFieldType(0, moDouble);<BR> tableDesc.SetFieldLength(0, 16);<BR> tableDesc.SetFieldScale(0,3);<BR> <BR> <BR> VARIANT va;<BR> VariantInit(;va);<BR> va.vt = VT_BOOL;<BR> va.boolVal = false;<BR> <BR> CMoGeoDataset geoDataset(conn.AddGeoDataset(GetFileTitle(m_path), moLine, tableDesc, va ,va));<BR> ASSERT(LPDISPATCH(geoDataset));<BR> CMoMapLayer layer;<BR> if (!layer.CreateDispatch(TEXT("MapObjects2.MapLayer")))<BR> return;<BR> layer.SetGeoDataset(geoDataset);<BR> <BR> // Add a record for each line to the GeoDataset<BR> CMoRecordset recs(layer.GetRecords());<BR> CMoFields fields(recs.GetFields());<BR> ////////////////////////////////////////////////////////////////////<BR> ///////////////////////////////////////////////////////////////////////<BR> ///////////////////////////////////////////////////////////////////////////<BR> <BR> CMoPoints pts;<BR> pts.CreateDispatch(TEXT("MapObjects2.Points"));<BR> <BR> CMoPoint pt;<BR> pt.CreateDispatch(TEXT("MapObjects2.Point"));</P>
<P> CMoLine line;<BR> line.CreateDispatch(TEXT("MapObjects2.Line"));<BR> CMoParts parts;<BR> parts.CreateDispatch(TEXT("MapObjects2.Parts"));<BR> <BR> pt.SetX(10);<BR> pt.SetY(10);<BR> pts.Add(pt);<BR> pt.SetX(20);<BR> pt.SetY(20);<BR> pts.Add(pt);<BR> <BR> <BR> parts=line.GetParts();<BR> parts.Add(pts);</P> <P> recs.AddNew(); <BR> SetValue(fields, TEXT("Shape"), parts); <BR> SetValue(fields, TEXT("高程值"),pt.GetX());<BR> recs.Update();</P> <P> layer.GetSymbol().SetColor(RGB(255,0,0));<BR> layer.GetSymbol().SetSize(10);<BR> layer.SetVisible(TRUE);<BR> CMoLayers layers(m_map.GetLayers());<BR> layers.Add(layer);<BR> m_map.SetExtent(m_map.GetFullExtent());<BR> <BR> m_map.Refresh();<BR> <BR> <BR> }<BR> </P> |
|
1楼#
发布于:2007-06-04 10:06
帮你支持下!论坛人气太..........!
|
|