Получение списка карт с привязкой к классификаторам.
#include <gis/gisrender.h>int gis_data_engine_get_map_list( gis_data_engine_context_t ctx, std::vector<MapInfo> &list );
gisrender
Функция заполняет список карт, находящихся в области данных движка рендеринга.
gis_core_connection_t connection;gis_data_engine_context_t ctx;uint32_t width = 100;uint32_t height = 100;gis_core_link_init( &connection );if ( gis_core_link_connect( &connection, 777 ) != EOK ) {printf( "Failed to connect databuffer\n" );return 1;}if ( gis_core_databuffer_attach( &connection ) != EOK ) {printf( "Failed to attach databuffer\n" );return 1;}gis_core_request_parameters_t map;gis_core_request_parameters_init( &map );gis_core_databuffer_data_request( &connection, &map, 1 );if ( gis_data_engine_alloc( width, height, GIS_DATA_ENGINE_MODE_SM, GIS_DATA_ENGINE_BPP_32, &connection, &ctx ) != EOK ) {printf( "gis_data_engine_alloc() failed.\n" );return 1;}std::vector<MapInfo> maps;if ( gis_data_engine_get_map_list( ctx, maps ) != EOK ) {printf( "Failed to fill map list\n" );return 1;}if ( strcmp( maps[0].classifierName.c_str(), "200T-3.RSC.gcm" ) == 0 &&( strcmp( maps[0].mapName.c_str(), "K3704.sxf" ) == 0 ||strcmp( maps[0].mapName.c_str(), "K3705.sxf" ) == 0 ) ){printf( "Correct\n" );}else{printf( "Incorrect map list\n" );printf( "Got first map: %s, expected: K3704.sxf || K3705.sxf\n",maps[0].mapName.c_str() );return 1;}gis_data_engine_free( &ctx );gis_core_databuffer_detach();gis_core_link_destroy( &connection, true );
ПК ЦКИ для ЗОСРВ «Нейтрино»
gis_data_engine_context_t, gis_data_engine_get_classifier_list()
Предыдущий раздел: Описание API картографического фреймворка