Приветствую!
Код #include <QApplication>
#include <QString>
#include <QDebug>
#include "qdmcmp.h"
#include "mapapi.h"
#include "sitapi.h"
#include "mapcreat.h"
#include "maptype.h"
#include "paint.h"
#include "renderer.h"
// тест рисования удара
int main(int argc, char **argv) {
if (!QApplication::instance()) {
static int argc = 1;
static char arg[] = "test";
static char *argv[1] = { arg };
QApplication::setGraphicsSystem("native");
new QApplication(argc, argv);
}
mapMessageEnable(0);
QString *siteName = new QString("../. ./. ./. ./target/test.sitx");
QString *rscName = new QString("../. ./. ./test/resources/rsc/operator.rsc");
CREATESITEUN cs;
memset((void*) &cs, 0, sizeof(cs));
cs.Length = sizeof(CREATESITEUN);
cs.EllipsoideKind = 9;
cs.MapType = 16;
HMAP hmap = mapCreateSiteUn((const WCHAR*) siteName->constData(),
(const WCHAR*) rscName->constData(), &cs);
if (hmap != 0) {
HOBJ hobj = mapCreateObject(hmap);
if (hobj != 0) {
if (mapRegisterObjectByKey(hobj, "009995004501") != 0) {
mapAppendPointGeoWGS84(hobj, 0.9641950, 0.6496361, 0);
mapAppendPointGeoWGS84(hobj, 0.9640971, 0.6502919, 0);
mapAppendPointGeoWGS84(hobj, 0.9637010, 0.6500748, 0);
mapAppendPointGeoWGS84(hobj, 0.9634209, 0.6498405, 0);
mapCommitObject(hobj);
}
mapFreeObject(hobj);
}
mapSetViewType(hmap, VT_PRINTRST);
enableQtRenderer();
mapSetRealShowScale(hmap, 100000);
paintMap(hmap, 0xFFFFFFFF, -2, "/tmp/mapArrow.png");
mapCloseMap(hmap);
}
}
paintMap - отрисовывает всю карту
enableQtRenderer - устанавливает функции отрисовки использующие Qt
Резул ьтат Карта В ГИС Оператор результат аналогичный.
ЗЫ: Если приглядеться к первому видео, то заметно, что и основание стрелки удара рисуется нестабильно
С уважением,
Матвеев П.В.