1

我正在尝试向 GeoNetwork 3 MapViewer 添加一些按钮。不幸的是,我是编写 GN3 的 AngularJS 的新手。所以我所做的是编辑 'gnMainViewer' 指令正在使用的 html 模板。

ViewerDirectve.js:

module.directive('gnMainViewer', [
'gnMap',
function(gnMap) {
  return {
    restrict: 'A',
    replace: true,
    scope: true,
    templateUrl: '../../catalog/components/viewer/' +
        'partials/mainviewer.html',
[...]
}]);

在此模板中,我可以找到 MapView 中显示的按钮。

mainviewer.html:

  <div class="wrapper" data-ng-controller="gnViewerController">

  <div data-gn-alert-manager=""></div>
  <div id="map" ngeo-map="map" class="map"></div>
  <div gn-gfi="" map="map"></div>
  <div gn-localisation-input map="map"></div>

  <!--Top right buttons - Tools-->
  <div class="tools tools-right" gi-btn-group gnv-close-panel data-ng-controller="toolsController">
    <button class="btn btn-default" ng-model="activeTools.addLayers" type="submit"
            rel="#addLayers" gi-btn gnv-tools-btn>
      <span class="fa fa-plus"></span>
      <span role="tooltip" data-translate="">addLayers</span>
    </button>
    <button class="btn btn-default" ng-model="activeTools.layers" type="submit"
            rel="#layers" gi-btn gnv-tools-btn>
      <span class="fa fa-tasks"></span>
      <span role="tooltip" data-translate="">Layers</span>
    </button>

[...]
</div>
</div>

所以我添加了一个按钮让我们说:

<button class="btn btn-default" ng-model="" type="submit"
            rel="#" gi-btn gnv-tools-btn>
      <span class="fa fa-beer"></span>
      <span role="tooltip">NewButton</span>
    </button>

到模板。

然后我保存了我的更改并刷新了我的服务器上的 MapView-Page。但不会显示新按钮。此外,将注释“右上角按钮”更改为其他内容不会对显示的 MapView-Page 进行任何更改。即使重新启动服务器也不会改变任何东西。

有人可以解释一下为什么 AngularJS 会有这样的反应吗?有任何想法吗?

4

1 回答 1

1

原来我必须在调试模式下运行页面,例如http://localhost:8080/geonetwork/srv/ger/catalog.search?debug#/map 以强制单独加载所有 AngularJS 文件并且没有缓存。

于 2015-06-09T07:31:06.333 回答