我在Mapwingis官网上找到C#的源码,翻译为C++,现已实现加载shapefile文件。
目前想建立新的图层,实现画矩形,为之后的工作做准备。但遇到了坑。
以下代码调试运行到函数m_Map.DrawPolygonEx(m_LayerHandel, xpoint, ypoint, 4, RGB(255,0,0), true)时崩溃掉。
希望能帮助我解决这个问题,非常感谢!!!
void CMapView::map2()
{
m_LayerHandel = m_Map.NewDrawing(mapWindow::tkDrawReferenceList(1));
VARIANT* xpoint = new VARIANT[4];
VARIANT* ypoint = new VARIANT[4];
xpoint[0].vt = VT_R8;
xpoint[0].dblVal = 73.;
ypoint[0].vt = VT_R8 ;
ypoint[0].dblVal = 40.;
xpoint[1].vt = VT_R8 ;
xpoint[1].dblVal = 135.;
ypoint[1].vt = VT_R8 ;
ypoint[1].dblVal = 40.;
xpoint[2].vt = VT_R8 ;
xpoint[2].dblVal = 135.;
ypoint[2].vt = VT_R8 ;
ypoint[2].dblVal = 35.;
xpoint[3].vt = VT_R8 ;
xpoint[3].dblVal = 73.;
ypoint[3].vt = VT_R8 ;
ypoint[3].dblVal = 35.;
m_Map.DrawPolygonEx(m_LayerHandel, xpoint, ypoint, 4, RGB(255,0,0), true);
Invalidate();
}