CN112148826A - 在业务中集成地图服务的方法、装置、设备和存储介质 - Google Patents
在业务中集成地图服务的方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN112148826A CN112148826A CN202011027613.6A CN202011027613A CN112148826A CN 112148826 A CN112148826 A CN 112148826A CN 202011027613 A CN202011027613 A CN 202011027613A CN 112148826 A CN112148826 A CN 112148826A
- Authority
- CN
- China
- Prior art keywords
- map
- service
- map service
- interface
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Remote Sensing (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种在业务中集成地图服务的方法、装置、设备和存储介质,该方法包括:定义地图服务类,并设置该地图服务类实现的接口;根据该地图服务类实现的接口为目标地图创建地图服务对象;创建地图中间组件;通过该地图中间组件实例化该地图服务对象,生成地图服务。本发明实施例能够简化地图服务切换过程,提高地图服务切换效率,且能够降低切换代价。
Description
技术领域
本发明涉及地图技术,尤其涉及一种在业务中集成地图服务的方法、装置、设备和存储介质。
背景技术
在企业(To Business,To B)业务中,通常需要集成地图服务以实现各种功能,比如,在To B业务中需要集成地图服务以实现人员轨迹跟踪、地图定位、显示热力图等功能。
目前常用的在To B业务中集成地图服务的方法,通常直接依赖地图服务应用程序编程接口(Application Programming Interface,API),通过编写代码直接将地图服务API集成在业务逻辑中,这种集成方法不便于在业务中切换使用不同地图服务提供商提供的地图服务。
比如,在To B业务开发的过程中,只考虑了市场占有率高的地图服务提供商甲提供的地图服务,利用直接依赖地图服务API的方法编写代码,将地图服务提供商甲提供的地图服务集成在了To B业务中,而在实际使用过程中用户发现,地图服务提供商甲提供的地图服务并不能满足需求,因而希望将地图服务提供商乙提供的地图服务集成在了To B业务中,由于不同地图服务提供商的用于提供地图服务的地图服务API存在较大差异,在To B业务切换集成地图服务提供商乙提供的地图服务时,就需要对代码进行大幅度调整,大面积重构依赖地图服务的业务逻辑,导致切换过程复杂、效率低、且切换代价高。
发明内容
本发明实施例提供一种在业务中集成地图服务方法、装置、设备和存储介质,简化了地图服务切换过程,提高了地图服务切换效率,且降低了切换代价。
第一方面,本发明实施例提供一种在业务中集成地图服务的方法,所述方法包括:
定义地图服务类,并设置所述地图服务类实现的接口;
根据所述地图服务类实现的接口为目标地图创建地图服务对象;
创建地图中间组件;
通过所述地图中间组件实例化所述地图服务对象,生成地图服务。
可选地,所述定义地图服务类,并设置所述地图服务类实现的接口,包括:
调用地图服务类构造函数,利用所述地图服务类构造函数定义所述地图服务类;
获取业务所需的地图服务的服务标识;
根据所述服务标识设置所述地图服务类实现的接口。
可选地,所述根据所述地图服务类实现的接口为目标地图创建地图服务对象,包括:
根据所述地图服务类实现的接口获取所述目标地图的地图服务应用程序编程接口API;
根据所述目标地图的地图服务API为所述目标地图创建地图服务对象。
可选地,所述根据所述目标地图的地图服务API为所述目标地图创建地图服务对象,包括:
利用所述目标地图的地图服务API继承对应接口的地图服务类,以为所述目标地图创建地图服务对象。
可选地,在创建地图中间组件之后,在通过所述地图中间组件实例化所述地图服务对象,生成地图服务之前,还包括:
定义所述地图中间组件在实例化对象时,加载脚本文件中存储的服务配置信息,并引用所述服务配置信息对应的地图服务对象。
可选地,在定义地图服务类,并设置所述地图服务类实现的接口之前,还包括:
创建所述脚本文件;
以所述目标地图的标识信息为键,以所述目标地图的服务配置信息为值,按照键值对的方式在所述脚本文件中存储所述目标地图的服务配置信息。
可选地,在创建地图中间组件之后,还包括:
根据所述地图服务类实现的接口定义所述地图中间组件为业务提供的接口;
在通过所述地图中间组件实例化所述地图服务对象,生成地图服务之后,还包括:
通过所述地图中间组件为所述业务提供的接口接收所述业务发起的服务获取请求;
通过所述地图中间组件调用所述服务获取请求对应的地图服务对象,以利用所述地图服务对象调用所述目标地图的地图服务应用程序编程接口API提供所述服务获取请求对应的地图服务。
第二方面,本发明实施例提供一种在业务中集成地图服务的装置,所述装置包括:
设置模块,用于定义地图服务类,并设置所述地图服务类实现的接口;
第一创建模块,用于根据所述地图服务类实现的接口为目标地图创建地图服务对象;
第二创建模块,用于创建地图中间组件;
实例化模块,用于通过所述地图中间组件实例化所述地图服务对象,生成地图服务。
可选地,所述设置模块包括:
调用子模块,用于调用地图服务类构造函数,利用所述地图服务类构造函数定义所述地图服务类;
第一获取子模块,用于获取业务所需的地图服务的服务标识;
第一设置子模块,用于根据所述服务标识设置所述地图服务类实现的接口。
可选地,所述第一创建模块包括:
第二获取子模块,用于根据所述地图服务类实现的接口获取所述目标地图的地图服务应用程序编程接口API;
第一创建子模块,用于根据所述目标地图的地图服务API为所述目标地图创建地图服务对象。
可选地,所述第一创建子模块具体用于,
利用所述目标地图的地图服务API继承对应接口的地图服务类,以为所述目标地图创建地图服务对象。
可选地,所述装置还包括:
第一定义模块,用于定义所述地图中间组件在实例化对象时,加载脚本文件中存储的服务配置信息,并引用所述服务配置信息对应的地图服务对象。
可选地,所述装置还包括:
第三创建模块,用于创建所述脚本文件;
存储模块,用于以所述目标地图的标识信息为键,以所述目标地图的服务配置信息为值,按照键值对的方式在所述脚本文件中存储所述目标地图的服务配置信息。
可选地,所述装置还包括:
第二定义模块,用于根据所述地图服务类实现的接口定义所述地图中间组件为业务提供的接口;
接收模块,用于通过所述地图中间组件为所述业务提供的接口接收所述业务发起的服务获取请求;
服务模块,用于通过所述地图中间组件调用所述服务获取请求对应的地图服务对象,以利用所述地图服务对象调用所述目标地图的地图服务应用程序编程接口API提供所述服务获取请求对应的地图服务。
第三方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明实施例中任一所述的在业务中集成地图服务的方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中任一所述的在业务中集成地图服务的方法。
本发明实施例中,通过定义地图服务类,并设置地图服务类实现的接口,根据地图服务类实现的接口为目标地图创建地图服务对象,然后创建地图中间组件,通过地图中间组件实例化该地图服务对象,即可生成地图服务,即本发明实施例中,在业务中集成目标地图时,只需要根据地图服务类实现的接口为目标地图创建地图服务对象,并利用地图中间组件实例化该地图服务对象即可,也就是说,当需要将业务中集成的目标地图切换为其他地图时,也只需要为该地图创建地图服务对象,并利用地图中间组件实例化该地图的地图服务对象即可,通过地图中间组件解耦了地图服务集成对业务逻辑的强依赖关系,简化了地图服务切换过程,提高了地图服务切换效率,且降低了切换代价。
附图说明
图1是本发明实施例在业务中集成地图服务的方法的应用场景图。
图2是本发明实施例在业务中集成地图服务的方法的一个流程图。
图3是本发明实施例在业务中集成地图服务的方法的另一流程图。
图4是本发明实施例在业务中集成地图服务的装置的一个结构图。
图5是本发明实施例在业务中集成地图服务的装置的另一结构图。
图6是本发明实施例一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
本发明实施例提供一种在业务中集成地图服务的方法、装置、设备和存储介质。请参阅图1,图1是本发明实施例在业务中集成地图服务的方法的应用场景图,该应用场景中可以包括在业务中集成地图服务的装置,该装置可采用软件和/或硬件的方式实现,该装置具体可以集成在平板电脑、笔记本电脑、台式电脑等具备储存单元并安装有微处理器而具有运算能力的计算机设备中,如图1所示,该计算机设备可以从服务器下载目标地图,并将目标地图集成在指定业务中,目标地图比如百度地图、高德地图、超图等,指定业务可以是需要地图提供相应功能的业务,比如To B业务,具体集成方法包括:定义地图服务类,并设置所述地图服务类实现的接口;根据所述地图服务类实现的接口为目标地图创建地图服务对象;创建地图中间组件;通过所述地图中间组件实例化所述地图服务对象,生成地图服务。
需要说明的是,图1所示的场景图仅仅是一个示例,该场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着地图服务集成设备的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
在对本发明实施例进行详细说明之前,对本发明实施例中涉及的名词和术语进行说明。
类,即类型,把具有相同特点和行为的事物来一个定义和归纳,这个概念和语法就是类,比如人类、犬类。
接口,是一系列方法的声明,是一些方法特征的集合,一个类实现了某个接口,就必须实现该接口的所有方法。
对象,一个具体的不具备普适性的事物。
组件,是对数据和方法的简单封装。
以下分别进行详细说明。
图2为本发明实施例提供的在业务中集成地图服务的方法的一个流程图,该方法可以由本发明实施例提供的在业务中集成地图服务的装置来执行,该装置可采用软件和/或硬件的方式实现。参考图2,该方法具体可以包括如下步骤:
步骤201,定义地图服务类,并设置该地图服务类实现的接口。
具体地,比如可以调用地图服务类的构造函数,采用脚本语言(比如JavaScript),利用地图服务类构造函数将地图服务定义为一个类,即地图服务类。在定义地图服务类之后,可以设置该地图服务类需要实现的接口,亦即该地图服务类需要实现的方法。
在设置地图服务类需要实现的接口时,可以与具体的业务需求相结合,即设置地图服务类实现的接口可以包括以下步骤:
(1)获取业务所需的地图服务的服务标识。
(2)根据该服务标识设置地图服务类实现的接口。
示例地,地图服务的服务标识可以是地图服务的名称、代号等。比如,某个业务需要的地图服务包括:A、B和C,在一个具体的例子中,比如A、B、C分别可以为设置地图中心setCenter,移动地图中心flyTo,画覆盖物drawMarker,则可以为地图服务类设置用于实现A、B和C的接口。
步骤202,根据该地图服务类实现的接口为目标地图创建地图服务对象。
目标地图即为要在业务中集成的地图,目标地图比如百度地图、高德地图、超图等,为目标地图创建地图服务对象的方法可如下:
(1)根据地图服务类实现的接口获取目标地图的地图服务应用程序编程接口API。
具体实现中,比如可以从服务器下载目标地图的包管理器(Node PackageManager,NPM)地图包,根据地图服务类实现的接口从目标地图的NPM地图包获取目标地图的地图服务API;比如地图服务类实现的接口包括实现A、B和C的接口,则可以从目标地图的NPM地图包获取目标地图用于提供A、B和C功能的地图服务API。
(2)根据目标地图的地图服务API为目标地图创建地图服务对象。
具体地,可以利用获取的目标地图的地图服务API继承对应接口的地图服务类,以为目标地图创建地图服务对象。比如,利用目标地图的用于设置地图中心的API继承用于实现上述A的接口的地图服务类,即为目标地图创建地图服务对象A1,地图服务对象A1即可以用来实现设置地图中心的功能;利用目标地图的用于移动地图中心的API继承用于实现上述B的接口的地图服务类,即为目标地图创建地图服务对象B1,地图服务对象B1即可以用来实现移动地图中心的功能;利用目标地图的用于画覆盖物的API继承用于实现上述C的接口的地图服务类,即为目标地图创建地图服务对象C1,地图服务对象C1即可以用来实现画覆盖物的功能。
步骤203,创建地图中间组件。
比如,可以调用地图中间组件构造函数,利用地图中间组件构造函数创建地图中间组件。在创建地图中间组件时,需要定义地图中间组件实例化对象时,需要引用的地图服务对象(即对内引用的对象),以及定义地图中间组件对业务提供的接口(即对外提供的接口),以实现对内可封装,对外可扩展。
具体地,定义地图中间组件实例化对象时,需要引用的地图服务对象,可采用如下方法:可以定义地图中间组件在实例化对象时,加载脚本文件中存储的服务配置信息,并引用该服务配置信息对应的地图服务对象。比如,当需要在业务中集成目标地图时,则可以将目标地图的服务配置信息预先存储在公共的脚本文件中,这样一来,地图中间组件在实例化对象时,即可从脚本文件中加载目标地图的服务配置信息,继而根据该服务配置信息引用目标地图对应的地图服务对象。
地图中间组件对业务提供的接口,即用来进行地图服务查询、获取的接口。具体地,在定义地图中间组件对业务提供的接口时,可以采用如下方法:根据地图服务类实现的接口定义地图中间组件为业务提供的接口。比如,可以将地图中间组件为业务提供的接口定义的与地图服务类实现的接口类型相同,比如地图服务类实现的接口包括实现A、B和C的接口,则地图中间组件为业务提供的接口也可以定义为包括实现A、B和C的接口,除此之外,地图中间组件为业务提供的接口还可以包括地图操作的基本接口,比如实现地图的拖拽、放大、缩小、弹窗等功能的接口。
步骤204,通过该地图中间组件实例化该地图服务对象,生成地图服务。
上述流程即实现了在业务中集成目标地图的地图服务,具体在利用目标地图提供地图服务时,可以通过地图中间组件为业务提供的接口接收业务发起的服务获取请求,然后通过地图中间组件调用该服务获取请求对应的地图服务对象,以利用该地图服务对象调用目标地图的地图服务API提供该服务获取请求对应的地图服务。比如,业务需要获取的地图服务为移动地图中心,承接前面的例子,则可以通过地图中间组件调用目标地图的地图服务对象B1,通过地图服务对象B1调用目标地图的用于实现移动地图中心的API,利用该API实现移动地图中心的功能。
本发明实施例中,在业务中集成目标地图时,只需要根据地图服务类实现的接口为目标地图创建地图服务对象,并利用地图中间组件实例化该地图服务对象即可,也就是说,当需要将业务中集成的目标地图切换为其他地图时,也只需要为该地图创建地图服务对象,并利用地图中间组件实例化该地图的地图服务对象即可,通过地图中间组件解耦了地图服务集成对业务逻辑的强依赖关系,简化了地图服务切换过程,提高了地图服务切换效率,且降低了切换代价。
上述实施例所描述的方法,本实施例将举例作进一步详细说明。
请参阅图3,图3是本发明实施例提供的在业务中集成地图服务的方法的另一流程图,本实施例的方法具体可以包括如下步骤:
步骤301,创建脚本文件。
具体地,可以启动代码编辑器,在代码编辑器中新建文件,并选择脚本语言作为文本语言,从而创建脚本文件,所创建的脚本文件可以为公共文件,该公共文件可以用来存储需要在业务中集成的地图的服务配置信息。。
步骤302,以目标地图的标识信息为键,以目标地图的服务配置信息为值,按照键值对的方式在脚本文件中存储目标地图的服务配置信息。
目标地图即为要在业务中集成的地图,具体地,可以从服务器下载目标地图的NPM地图包,从目标地图的NPM地图包获取目标地图的服务配置信息,所获取的服务配置信息比如目标地图的名称、相关文件的存储路径、依赖的样式表等。获取该服务配置信息之后,可以目标地图的标识信息(比如目标地图的名称)为键,以目标地图的服务配置信息为值,按照键值对的方式在脚本文件中存储目标地图的服务配置信息,以便于后续地图中间组件从脚本文件中加载所需的服务配置信息。比如,以目标地图是“地图一”为例,则可以在脚本文件中存储地图一的服务配置信息。
步骤303,定义地图服务类,并设置地图服务类实现的接口。
具体地,比如可以调用地图服务类的构造函数,采用脚本语言(比如JavaScript),利用地图服务类构造函数将地图服务定义为一个类,即地图服务类。在定义地图服务类之后,可以设置该地图服务类需要实现的接口,亦即该地图服务类需要实现的方法。
在设置地图服务类需要实现的接口时,可以与具体的业务需求相结合,即设置地图服务类实现的接口可以包括以下步骤:获取业务所需的地图服务的服务标识;根据该服务标识设置地图服务类实现的接口。
示例地,地图服务的服务标识可以是地图服务的名称、代号等。比如,某个业务需要的地图服务包括:A、B和C,在一个具体的例子中,比如A、B、C分别可以为设置地图中心setCenter,移动地图中心flyTo,画覆盖物drawMarker,则可以为地图服务类设置用于实现A、B和C的接口。
步骤304,根据地图服务类实现的接口为目标地图创建地图服务对象。
目标地图即为要在业务中集成的地图,为目标地图创建地图服务对象的方法可如下:根据地图服务类实现的接口获取目标地图的地图服务应用程序编程接口API,根据目标地图的地图服务API为目标地图创建地图服务对象。
具体地,比如可以从服务器下载目标地图的NPM地图包,根据地图服务类实现的接口从目标地图的NPM地图包获取目标地图的地图服务API;比如地图服务类实现的接口包括实现A、B和C的接口,则可以从目标地图的NPM地图包获取目标地图用于提供A、B和C功能的地图服务API。
在获取目标地图的地图服务API之后,可以利用获取的目标地图的地图服务API继承对应接口的地图服务类,以为目标地图创建地图服务对象。比如,仍以目标地图是“地图一”为例,则可以利用地图一的用于设置地图中心的API继承用于实现上述A的接口的地图服务类,即为地图一创建地图服务对象A1,地图服务对象A1即可以用来实现设置地图中心的功能;利用地图一的用于移动地图中心的API继承用于实现上述B的接口的地图服务类,即为地图一创建地图服务对象B1,地图服务对象B1即可以用来实现移动地图中心的功能;利用地图一的用于画覆盖物的API继承用于实现上述C的接口的地图服务类,即为地图一创建地图服务对象C1,地图服务对象C1即可以用来实现画覆盖物的功能。
步骤305,创建地图中间组件。
具体地,可以调用地图中间组件构造函数,利用地图中间组件构造函数创建地图中间组件。在创建地图中间组件时,需要定义地图中间组件实例化对象时,需要引用的地图服务对象(即对内引用的对象),以及定义地图中间组件对业务提供的接口(即对外提供的接口),以实现对内可封装,对外可扩展。
步骤306,定义地图中间组件在实例化对象时,加载脚本文件中存储的服务配置信息,并引用该服务配置信息对应的地图服务对象,以及根据地图服务类实现的接口定义地图中间组件为业务提供的接口。
具体地,定义地图中间组件实例化对象时,需要引用的地图服务对象,可采用如下方法:可以定义地图中间组件在实例化对象时,加载脚本文件中存储的服务配置信息,并引用该服务配置信息对应的地图服务对象。比如,当需要在业务中集成地图一时,可以将地图一的服务配置信息预先存储在公共的脚本文件中,这样一来,地图中间组件在实例化对象时,即可从脚本文件中加载地图一的服务配置信息,继而根据该服务配置信息引用地图一对应的地图服务对象。
地图中间组件对业务提供的接口,即用来进行地图服务查询、获取的接口。具体地,在定义地图中间组件对业务提供的接口时,可以采用如下方法:根据地图服务类实现的接口定义地图中间组件为业务提供的接口。比如,可以将地图中间组件为业务提供的接口定义的与地图服务类实现的接口类型相同,比如地图服务类实现的接口包括实现A、B和C的接口,则地图中间组件为业务提供的接口也可以定义为包括实现A、B和C的接口,除此之外,地图中间组件为业务提供的接口还可以包括地图操作的基本接口,比如实现地图的拖拽、放大、缩小、弹窗等功能的接口。
步骤307,通过地图中间组件实例化该地图服务对象,生成地图服务。
比如,当目标地图为地图一时,即可以通过地图中间组件实例化地图一的地图服务对象,生成地图服务。
步骤308,通过地图中间组件为业务提供的接口接收业务发起的服务获取请求。
服务获取请求中可以携带服务标识,服务标识可以是服务名称,比如设置地图中心、放大、缩小、弹窗等。
步骤309,通过地图中间组件调用服务获取请求对应的地图服务对象,以利用该地图服务对象调用目标地图的地图服务API提供服务获取请求对应的地图服务。
比如,业务需要获取的地图服务为移动地图中心,目标地图为地图一,承接前面的例子,则可以通过地图中间组件调用地图一的地图服务对象B1,通过地图服务对象B1调用地图一的用于实现移动地图中心的API,利用该API实现移动地图中心的功能。
上面以目标地图为“地图一”为例,描述了在业务中集成地图一的集成方法,实际应用中,如果地图一不能满足业务需求,则可以将业务中集成的地图一切换成地图二,在切换集成地图时,只需要将公共的脚本文件中存储的地图一的服务配置信息替换成地图二的服务配置信息,并为地图二创建地图服务对象,在通过地图中间组件实例化地图二的地图服务对象之后,业务即可利用地图二提供地图服务。
其中,为地图二创建地图服务对象的方法,承接上面的例子,比如地图服务类实现的接口包括实现A、B和C的接口,则可以利用地图二的用于设置地图中心的API继承用于实现上述A的接口的地图服务类,即为地图二创建地图服务对象A2,地图服务对象A2即可以用来实现设置地图中心的功能;利用地图二的用于移动地图中心的API继承用于实现上述B的接口的地图服务类,即为地图二创建地图服务对象B2,地图服务对象B2即可以用来实现移动地图中心的功能;利用地图二的用于画覆盖物的API继承用于实现上述C的接口的地图服务类,即为地图二创建地图服务对象C2,地图服务对象C2即可以用来实现画覆盖物的功能。
需要说明的是,本实施例中所提及的“地图一”、“地图二”为不同地图服务提供商提供的地图,不同的地图服务提供商包括但不限于百度、高德、超图等。比如“地图一”可以为百度地图,“地图二”可以为超图,此处不做具体限定。
本发明实施例中,在业务中集成目标地图时,只需要根据地图服务类实现的接口为目标地图创建地图服务对象,并利用地图中间组件实例化该地图服务对象即可,也就是说,当需要将业务中集成的目标地图切换为其他地图时,也只需要为该地图创建地图服务对象,并利用地图中间组件实例化该地图的地图服务对象即可,通过地图中间组件解耦了地图服务集成对业务逻辑的强依赖关系,简化了地图服务切换过程,提高了地图服务切换效率,且降低了切换代价。
图4是本发明是实施例提供的在业务中集成地图服务的装置的一个结构图,该装置适用于执行本发明实施例提供的在业务中集成地图服务的方法。如图4所示,该装置具体可以包括:
设置模块401,用于定义地图服务类,并设置所述地图服务类实现的接口;
第一创建模块402,用于根据所述地图服务类实现的接口为目标地图创建地图服务对象;
第二创建模块403,用于创建地图中间组件;
实例化模块404,用于通过所述地图中间组件实例化所述地图服务对象,生成地图服务。
一实施例中,如图5所示,所述设置模块401包括:
调用子模块4011,用于调用地图服务类构造函数,利用所述地图服务类构造函数定义所述地图服务类;
第一获取子模块4012,用于获取业务所需的地图服务的服务标识;
第一设置子模块4013,用于根据所述服务标识设置所述地图服务类实现的接口。
一实施例中,如图5所示,所述第一创建模块402包括:
第二获取子模块4021,用于根据所述地图服务类实现的接口获取所述目标地图的地图服务应用程序编程接口API;
第一创建子模块4022,用于根据所述目标地图的地图服务API为所述目标地图创建地图服务对象。
一实施例中,所述第一创建子模块4022具体用于,
利用所述目标地图的地图服务API继承对应接口的地图服务类,以为所述目标地图创建地图服务对象。
一实施例中,如图5所示,所述装置还包括:
第一定义模块405,用于定义所述地图中间组件在实例化对象时,加载脚本文件中存储的服务配置信息,并引用所述服务配置信息对应的地图服务对象。
可选地,如图5所示,所述装置还包括:
第三创建模块406,用于创建所述脚本文件;
存储模块407,用于以所述目标地图的标识信息为键,以所述目标地图的服务配置信息为值,按照键值对的方式在所述脚本文件中存储所述目标地图的服务配置信息。
可选地,如图5所示,所述装置还包括:
第二定义模块408,用于根据所述地图服务类实现的接口定义所述地图中间组件为业务提供的接口;
接收模块409,用于通过所述地图中间组件为所述业务提供的接口接收所述业务发起的服务获取请求;
服务模块410,用于通过所述地图中间组件调用所述服务获取请求对应的地图服务对象,以利用所述地图服务对象调用所述目标地图的地图服务应用程序编程接口API提供所述服务获取请求对应的地图服务。
本领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述功能模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明实施例的装置,在业务中集成目标地图时,只需要根据地图服务类实现的接口为目标地图创建地图服务对象,并利用地图中间组件实例化该地图服务对象即可,也就是说,当需要将业务中集成的目标地图切换为其他地图时,也只需要为该地图创建地图服务对象,并利用地图中间组件实例化该地图的地图服务对象即可,通过地图中间组件解耦了地图服务集成对业务逻辑的强依赖关系,简化了地图服务切换过程,提高了地图服务切换效率,且降低了切换代价。
图6为本发明实施例提供的一种计算机设备的结构图。图6示出了适于用来实现本发明实施方式的示例性计算机设备12的框图。图6显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图6未显示,通常称为“硬盘驱动器”)。尽管图6中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图6中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的在业务中集成地图服务的方法:
也即,所述处理单元执行所述程序时实现:定义地图服务类,并设置所述地图服务类实现的接口;根据所述地图服务类实现的接口为目标地图创建地图服务对象;创建地图中间组件;通过所述地图中间组件实例化所述地图服务对象,生成地图服务。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请所有发明实施例提供的在业务中集成地图服务的方法:
也即,该程序被处理器执行时实现:定义地图服务类,并设置所述地图服务类实现的接口;根据所述地图服务类实现的接口为目标地图创建地图服务对象;创建地图中间组件;通过所述地图中间组件实例化所述地图服务对象,生成地图服务。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种在业务中集成地图服务的方法,其特征在于,包括:
定义地图服务类,并设置所述地图服务类实现的接口;
根据所述地图服务类实现的接口为目标地图创建地图服务对象;
创建地图中间组件;
通过所述地图中间组件实例化所述地图服务对象,生成地图服务。
2.根据权利要求1所述的方法,其特征在于,所述定义地图服务类,并设置所述地图服务类实现的接口,包括:
调用地图服务类构造函数,利用所述地图服务类构造函数定义所述地图服务类;
获取业务所需的地图服务的服务标识;
根据所述服务标识设置所述地图服务类实现的接口。
3.根据权利要求1所述的方法,其特征在于,所述根据所述地图服务类实现的接口为目标地图创建地图服务对象,包括:
根据所述地图服务类实现的接口获取所述目标地图的地图服务应用程序编程接口API;
根据所述目标地图的地图服务API为所述目标地图创建地图服务对象。
4.根据权利要求3所述的方法,其特征在于,所述根据所述目标地图的地图服务API为所述目标地图创建地图服务对象,包括:
利用所述目标地图的地图服务API继承对应接口的地图服务类,以为所述目标地图创建地图服务对象。
5.根据权利要求1所述的方法,其特征在于,在创建地图中间组件之后,在通过所述地图中间组件实例化所述地图服务对象,生成地图服务之前,还包括:
定义所述地图中间组件在实例化对象时,加载脚本文件中存储的服务配置信息,并引用所述服务配置信息对应的地图服务对象。
6.根据权利要求5所述的方法,其特征在于,在定义地图服务类,并设置所述地图服务类实现的接口之前,还包括:
创建所述脚本文件;
以所述目标地图的标识信息为键,以所述目标地图的服务配置信息为值,按照键值对的方式在所述脚本文件中存储所述目标地图的服务配置信息。
7.根据权利要求1所述的方法,其特征在于,在创建地图中间组件之后,还包括:
根据所述地图服务类实现的接口定义所述地图中间组件为业务提供的接口;
在通过所述地图中间组件实例化所述地图服务对象,生成地图服务之后,还包括:
通过所述地图中间组件为所述业务提供的接口接收所述业务发起的服务获取请求;
通过所述地图中间组件调用所述服务获取请求对应的地图服务对象,以利用所述地图服务对象调用所述目标地图的地图服务应用程序编程接口API提供所述服务获取请求对应的地图服务。
8.一种在业务中集成地图服务的装置,其特征在于,包括:
设置模块,用于定义地图服务类,并设置所述地图服务类实现的接口;
第一创建模块,用于根据所述地图服务类实现的接口为目标地图创建地图服务对象;
第二创建模块,用于创建地图中间组件;
实例化模块,用于通过所述地图中间组件实例化所述地图服务对象,生成地图服务。
9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7中任一所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至7中任一所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011027613.6A CN112148826A (zh) | 2020-09-25 | 2020-09-25 | 在业务中集成地图服务的方法、装置、设备和存储介质 |
PCT/CN2021/108833 WO2022062634A1 (zh) | 2020-09-25 | 2021-07-28 | 在业务中集成地图服务的方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011027613.6A CN112148826A (zh) | 2020-09-25 | 2020-09-25 | 在业务中集成地图服务的方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112148826A true CN112148826A (zh) | 2020-12-29 |
Family
ID=73897393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011027613.6A Pending CN112148826A (zh) | 2020-09-25 | 2020-09-25 | 在业务中集成地图服务的方法、装置、设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112148826A (zh) |
WO (1) | WO2022062634A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022062634A1 (zh) * | 2020-09-25 | 2022-03-31 | 北京锐安科技有限公司 | 在业务中集成地图服务的方法、装置、设备和存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115686291B (zh) * | 2022-12-29 | 2023-03-10 | 思创数码科技股份有限公司 | 图形化配置地图轮播弹窗的方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104301354A (zh) * | 2013-07-16 | 2015-01-21 | 杭州鹏信科技有限公司 | 一种基于云计算的空间类业务数据gis化服务的实现方法和系统 |
WO2015057464A1 (en) * | 2013-10-15 | 2015-04-23 | Microsoft Corporation | Cloud service hosting on client device |
CN108241696A (zh) * | 2016-12-26 | 2018-07-03 | 航天信息股份有限公司 | 获得地图数据的方法、装置及系统 |
CN108304515A (zh) * | 2018-01-23 | 2018-07-20 | 上海载德信息科技有限公司 | 基于浏览器的地图显示方法、装置、服务器及存储介质 |
CN110245030A (zh) * | 2019-05-29 | 2019-09-17 | 北京字节跳动网络技术有限公司 | 一种数据服务提供方法、装置、介质和电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112148826A (zh) * | 2020-09-25 | 2020-12-29 | 北京锐安科技有限公司 | 在业务中集成地图服务的方法、装置、设备和存储介质 |
-
2020
- 2020-09-25 CN CN202011027613.6A patent/CN112148826A/zh active Pending
-
2021
- 2021-07-28 WO PCT/CN2021/108833 patent/WO2022062634A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104301354A (zh) * | 2013-07-16 | 2015-01-21 | 杭州鹏信科技有限公司 | 一种基于云计算的空间类业务数据gis化服务的实现方法和系统 |
WO2015057464A1 (en) * | 2013-10-15 | 2015-04-23 | Microsoft Corporation | Cloud service hosting on client device |
CN108241696A (zh) * | 2016-12-26 | 2018-07-03 | 航天信息股份有限公司 | 获得地图数据的方法、装置及系统 |
CN108304515A (zh) * | 2018-01-23 | 2018-07-20 | 上海载德信息科技有限公司 | 基于浏览器的地图显示方法、装置、服务器及存储介质 |
CN110245030A (zh) * | 2019-05-29 | 2019-09-17 | 北京字节跳动网络技术有限公司 | 一种数据服务提供方法、装置、介质和电子设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022062634A1 (zh) * | 2020-09-25 | 2022-03-31 | 北京锐安科技有限公司 | 在业务中集成地图服务的方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2022062634A1 (zh) | 2022-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9928038B2 (en) | Dynamically building locale objects or subsections of locale objects based on historical data | |
US10019298B2 (en) | Middleware interface and middleware interface generator | |
US20150169386A1 (en) | Automating software availability management based on api versioning | |
US8438577B2 (en) | Method and system for extending scripting languages | |
CN110389786B (zh) | 内核管理方法、电子设备和计算机可读存储介质 | |
CN109408136A (zh) | 信息处理方法、装置、存储介质及电子设备 | |
CN112148826A (zh) | 在业务中集成地图服务的方法、装置、设备和存储介质 | |
CN113761871A (zh) | 富文本渲染方法、装置、电子设备以及存储介质 | |
CN112835615A (zh) | 软件开发工具包的插件化处理方法、装置及电子设备 | |
US9141353B2 (en) | Dynamically building locale objects at run-time | |
CN113760318A (zh) | 信息处理方法、装置、服务器及存储介质 | |
CN113626001B (zh) | 一种基于脚本的api动态编排方法及装置 | |
CN112073505B (zh) | 在云服务器上进行卸载的方法、控制装置、存储介质 | |
CN114510334A (zh) | 类实例的调用方法、装置、电子设备及自动驾驶车辆 | |
CN108089852B (zh) | 建立属性访问的方法、介质、装置和计算设备 | |
EP1253514A1 (en) | Protected resource access | |
CN113778566A (zh) | 原生应用调用方法、装置、电子设备和计算机可读介质 | |
CN112068814A (zh) | 可执行文件的生成方法、装置、系统及介质 | |
US11768667B2 (en) | Compiling method, compiling device, execution method, computer-readable storage medium and computer device | |
CN113326041B (zh) | 一种虚方法的调用方法、电子设备及计算机可读存储介质 | |
CN111767093B (zh) | 数据处理方法、设备和存储介质 | |
CN114047922B (zh) | 用于预编译器的代码转换方法、装置、介质及设备 | |
EP4216052A1 (en) | Method for developing mvvm architecture-based application, and terminal | |
US9778917B2 (en) | Dynamically building subsections of locale objects at run-time | |
CN116932068A (zh) | 基于idea的插件类加载方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |