示例#1
0
 public int getTotalVisibleLayers() {
   int layerCount = 0;
   // loop incharge of the layers that are background.
   for (int i = 0; i < layersManager.getBackgroundLayers().size(); i++) {
     if (layersManager.getBackgroundLayers().get(i).getName() != null) {
       layerCount++;
     }
   }
   layerCount += 1; // represents the base layer.
   for (int i = 0; i < layersManager.getVectorLayers().size(); i++) {
     if (layersManager.getVectorLayers().get(i).getName() != null) {
       layerCount++;
     } // If layer not null
   }
   return layerCount;
 }
示例#2
0
  /**
   * This function creates the url to bring the data when the user clicks somewhere on the map.
   *
   * @param {int} baseLayer
   */
  private String agregaURLparaTraerDatos(int baseLayer) {
    String layersScript = "";
    Layer actualLayer = null;
    int layerCount = 0;
    layersScript =
        "\n\tfunction punctualData(evt) {\n"; // Se agrega al evento click del div map la siguiente
                                              // funcion
    layersScript +=
        "\t\t if(mobile){owgis.mobile.closePanels();"
            + "\t\t\t owgis.interf.loadingatmap(true);}\n"
            + "\t\t var coordinate = evt.coordinate;\n"
            + "\t\t var currBBOX =  ol3view.calculateExtent(map.getSize());\n"
            + "\t\t $('#popup').hide();\n"
            + "\t\t currPopupText = '<b>Lon: </b>'+coordinate[0].toFixed(2)+ ' <b>Lat: </b>'+coordinate[1].toFixed(2)+'<br>'\n"
            + "\t\t ol_popup.setPosition(coordinate);\n";

    // En este for agrega las capas que son de fondo
    for (int i = 0; i < layersManager.getBackgroundLayers().size(); i++) {
      actualLayer = layersManager.getBackgroundLayers().get(i);
      if (actualLayer.getFeatureInfoLayer() != null) {
        layersScript += generateURLhelper(actualLayer, layerCount);
      } // If layer featureInfo not null
      layerCount++;
    }
    // Se agrega el URL de la capa base
    actualLayer = layersManager.getMainLayers().get(baseLayer);
    if (actualLayer.getFeatureInfoLayer() != null) {
      layersScript += generateURLhelper(actualLayer, layerCount);
    } // If layer  featureInfo  not null

    layerCount++; // Increment current layer (for  javascript, 'layer0' or 'layer1'....

    for (int i = 0; i < layersManager.getVectorLayers().size(); i++) {
      actualLayer = layersManager.getVectorLayers().get(i);
      if (actualLayer.getFeatureInfoLayer() != null) {
        layersScript += generateURLhelper(actualLayer, layerCount);
      } // If layer  featureInfo not null
      layerCount++;
    }

    layersScript += // "\t\tMapViewersubmitForm();\n" +
        "\t}\n";
    return layersScript;
  }
示例#3
0
 public int getTotalLayers() {
   return layersManager.getBackgroundLayers().size()
       + layersManager.getMainLayers().size()
       + layersManager.getVectorLayers().size();
 }
示例#4
0
 /**
  * Gets the list of Background layers
  *
  * @return ArrayList<Layer>
  */
 public ArrayList<Layer> getBackgroundLayers() {
   return layersManager.getBackgroundLayers();
 }
示例#5
0
  /**
   * Creates the javascript of the layers that are going to be shown separatly. Each layer is an
   * object first is the raster layers then the vector layers.
   *
   * @param idsBaseLayers
   * @param idsExtraLayers
   * @return
   */
  private String createSeparateLayerScript(int[] idsBaseLayers, int[] idsExtraLayers) {
    String layersScript = "";
    Layer actualLayer = null;
    int layerCount = 0;

    String backgroundLayer = mapConfig.getProperty("backgroundLayer");

    switch (backgroundLayer) {
      case "wms": // Read the background layer from xml file
        // add the layers that are the background.
        for (int i = 0; i < layersManager.getBackgroundLayers().size(); i++) {
          actualLayer = layersManager.getBackgroundLayers().get(i);
          if (actualLayer.getName() != null) {
            layersScript += layerHelper(actualLayer, layerCount, true);
            layerCount++;
          } // If layer not null
        }
        break;
      case "osm": // Add OpenStreetMap as the background layer
        layersScript += addOpenStreetMapLayer(layersScript, layerCount);
        layerCount++;
        break;
      case "binga": // Add Aerial Bing layer as the background layer
        layersScript += addBingLayer(layersScript, layerCount, "Aerial");
        layerCount++;
        break;
      case "bingr": // Add Road Bing layer as the background layer
        layersScript += addBingLayer(layersScript, layerCount, "Road");
        layerCount++;
        break;
      case "bingh": // Add Hybrid Bing layer as the background layer
        layersScript += addBingLayer(layersScript, layerCount, "AerialWithLabels");
        layerCount++;
        break;
      case "mapquesta": // Add MapQuest as the background layer
      case "mapquestr": // Add MapQuest as the background layer
      case "mapquesth": // Add MapQuest as the background layer
        layersScript += addMapQuest(layersScript, layerCount, backgroundLayer);
        layerCount++;
        break;
    }

    // Generates the layer configuration for OpenLayers
    // The name of the layer variable inside OpenLayers is of the form layer'number of layer'
    for (int i = 0; i < idsBaseLayers.length; i++) {
      actualLayer = layersManager.getMainLayers().get(idsBaseLayers[i]);
      if (actualLayer.getName() != null) {
        layersScript += layerHelper(actualLayer, layerCount, true);
        layerCount++;
      } // If layer not null
    }

    for (int i = 0; i < layersManager.getVectorLayers().size(); i++) {
      actualLayer = layersManager.getVectorLayers().get(i);
      if (StringAndNumbers.intArrayContains(
          idsExtraLayers, i)) { // Si esta en los seleccionados lo mostramos
        // Si no no
        layersScript += layerHelper(actualLayer, layerCount, true);
      } else {
        layersScript += layerHelper(actualLayer, layerCount, false);
      }
      layerCount++;
    }
    return layersScript;
  }