本申请涉及高精地图,尤其涉及地图元素的绘制方法、装置电子设备及存储介质。
背景技术:
1、随着人工智能技术的不断发展,由于高精地图相对于普通地图能够提供更丰富的数据得到了越来越广泛的应用。那么就涉及到对高精地图的渲染。在高精地图渲染过程中,需要基于各种地图元素的配置类的配置实例进行绘制。
2、相关技术中,是通过typeid函数基于地图元素的名称字符串来获取对应的配置实例,由于每个地图元素的名称字符串是唯一的,因此可以将其作为key值与配置实例相对应。
3、但是,并不是所有的编译器都支持typeid函数,因此,通过typeid函数获取配置实例的方式具有一定的使用局限性,并且这种方式使用map(string,value)进行配置实例的存储,因此需要从内存中进行配置实例的查找,那么在高频率的获取配置实例时,会导致绘制过程容易出现卡顿,降低绘制效率。
技术实现思路
1、为克服相关技术中存在的问题,本申请提供地图元素的绘制方法、装置、电子设备及存储介质,解决使用typeid函数导致的局限性问题,并提高地图元素的绘制效率。
2、本申请第一方面提供地图元素的绘制方法,包括:
3、基于当前待绘制的地图元素获取静态变量的当前值;所述静态变量属于所述地图元素的配置类;
4、判断所述静态变量的当前值是否为初始值,若否,基于所述当前值确定所述配置类的配置实例在与所述配置类关联的数组中的存储位置;
5、从所述数组的所述存储位置处获取所述配置实例;
6、基于所述配置实例进行所述地图元素的绘制。
7、可选地,还包括:
8、若所述静态变量的当前值为所述初始值,通过调用接口获取所述地图元素的配置类的配置实例;
9、将所述配置实例添加到所述数组中,并确定所述配置实例在所述数组中的存储位置;
10、基于所述存储位置生成静态变量的当前值,并将所述静态变量的初始值替换为所述当前值。
11、可选地,还包括:
12、确定高精地图当前所处的第一绘制场景;
13、相应的,所述通过调用接口获取所述地图元素的配置类的配置实例,包括:
14、通过调用接口获取与所述第一绘制场景对应的,所述地图元素的配置类的配置实例。
15、可选地,还包括:
16、实时监测所述高精地图的绘制场景是否发生切换;
17、确定所述高精地图由第一绘制场景切换到第二绘制场景下时,通过调用接口获取与所述第二绘制场景对应的,所述地图元素的配置类的配置实例;
18、将所述数组中的存储位置处,与第一绘制场景对应的配置实例替换为与所述第二绘制场景对应的配置实例。
19、可选地,所述基于所述当前值确定所述配置类的配置实例在与所述配置类关联的数组中的存储位置,包括:
20、确定所述配置类所属管理类中指定类型下的数组;
21、基于所述静态变量的当前值确定所述配置类的配置实例在所述数组中的存储位置。
22、本申请第二方面提供地图元素的绘制装置,包括:
23、第一获取单元,用于基于当前待绘制的地图元素获取静态变量的当前值;所述静态变量属于所述地图元素的配置类;
24、第一判断单元,用于判断所述静态变量的当前值是否为初始值;
25、第一确定单元,用于在所述静态变量的当前值为所述初始值下,基于所述当前值确定所述配置类的配置实例在与所述配置类关联的数组中的存储位置;
26、第二获取单元,用于从所述数组的所述存储位置处获取所述配置实例;
27、第一绘制单元,用于基于所述配置实例进行所述地图元素的绘制。
28、可选地,还包括:
29、第三获取单元,用于在所述静态变量的当前值为所述初始值下,通过调用接口获取所述地图元素的配置类的配置实例;
30、第二确定单元,用于将所述配置实例添加到所述数组中,并确定所述配置实例在所述数组中的存储位置;
31、第一替换单元,用于基于所述存储位置生成静态变量的当前值,并将所述静态变量的初始值替换为所述当前值。
32、可选地,还包括:
33、第三确定单元,用于确定高精地图当前所处的第一绘制场景;
34、相应的,所述第三获取单元具体用于通过调用接口获取与所述第一绘制场景对应的,所述地图元素的配置类的配置实例。
35、可选地,还包括:
36、第一监测单元,用于实时监测所述高精地图的绘制场景是否发生切换;
37、第四获取单元,用于确定所述高精地图由第一绘制场景切换到第二绘制场景下时,通过调用接口获取与所述第二绘制场景对应的,所述地图元素的配置类的配置实例;
38、第二替换单元,用于将所述数组中的存储位置处,与第一绘制场景对应的配置实例替换为与所述第二绘制场景对应的配置实例。
39、可选地,所述第一确定单元,包括:
40、第一确定模块,用于在所述静态变量的当前值为所述初始值下,确定所述配置类所属管理类中指定类型下的数组;
41、第二确定模块,用于基于所述静态变量的当前值确定所述配置类的配置实例在所述数组中的存储位置。
42、本申请第三方面提供一种电子设备,包括:
43、处理器;以及
44、存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如上所述的方法。
45、本申请第四方面提供一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如上所述的方法。
46、本申请中,通过基于当前待绘制的地图元素获取静态变量的当前值,该静态变量属于地图元素的配置类,在静态变量的当前值不是初始值的情况下能够基于当前值确定配置类的配置实例在与配置类关联的数组中的存储位置,从而从该存储位置处直接获取配置实例,进而基于配置实例进行地图元素的绘制;由此可见,本申请是基于静态变量来获取配置实例,而静态变量可以应用到任何编译器中,提高了获取配置实例的灵活性,且配置实例可以按照数组索引的方式进行存储,方便查找,提高了绘制效率。
47、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
1.地图元素的绘制方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,还包括:
3.根据权利要求2所述的方法,其特征在于,还包括:
4.根据权利要求3所述的方法,其特征在于,还包括:
5.根据权利要求1所述的方法,其特征在于,所述基于所述当前值确定所述配置类的配置实例在与所述配置类关联的数组中的存储位置,包括:
6.地图元素的绘制装置,其特征在于,包括:
7.根据权利要求6所述的装置,其特征在于,还包括:
8.根据权利要求7所述的装置,其特征在于,还包括:
9.根据权利要求8所述的装置,其特征在于,还包括:
10.根据权利要求6所述的装置,其特征在于,所述第一确定单元,包括:
11.一种电子设备,其特征在于,包括:
12.一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1-5中任一项所述的方法。