我的工作涉及地图的使用它在哪里做的业务,如plotting marker
或polylines
的项目。结构angularjs代码支持多种地图servcie提供商
功能正常,但我面临使用多个地图服务提供商的困难。
我想使用开放层执行相同的设置操作。为此,我必须在所有地方进行更改,如控制器和视图。另外,我有一种服务,以所需的格式将数据送入控制器。
但我不知道如何创建在客户端不同的地图服务提供商的一个抽象层。
我都在控制器
基本上我在找一些指导和建议,这将有助于有改动的最小数量的倍增器服务提供商之间的切换相关的逻辑地图。
跟随我的控制器代码:
taxiFleetControlPanel.controller("overviewController", function ($scope,$location,sensorService,appService,nodeService,settingService,$timeout,$rootScope,instanceService,assetApiService) {
//google maps
function initMap() {.....}
function addMarker(){.....}
function addpolyLines(){....}
//openlayer maps
function openlayerInitMap() {.....}
function openlayerAddMarker(){.....}
function openlayerAddpolyLines(){....}
if there is requriment to use openalyer map the i will comment initMap(); in the same controller
funtion init(){
initMap();
//openlayerInitMap()
}
init();
})
有没有更好的办法做到这一点?
还有很多其他的依赖函数以及我没有把保持简单。
我试图后续想法:
写了两个不同的控制器,在该路由改变控制器,但如果任何变化在一个控制器由我会逐字复制粘贴同一套方法,其他我不能够保持一个干净的代码
注意:该应用程序可以支持多种服务提供商,如谷歌地图,开户人员和传单。
谢谢你,我想我的控制器充当基础上的参数配器即,如果说的OpenLayers某些特定的功能应该由采摘控制器,或者如果它是谷歌地图应该由控制器拿起另一组特定的功能,并做相应的事情,这是寻找什么 –