コード例 #1
0
ファイル: Shapes.java プロジェクト: Gnafu/SIIGMobile
  /**
   * Method used to draw a line on map.
   *
   * @param advancedStyle
   * @param currentZoomLevel the current zoom level of the map view
   */
  public void drawLines(AdvancedStyle advancedStyle, byte currentZoomLevel) {
    Paint stroke = StyleManager.getStrokePaint4Style(advancedStyle);
    Paint textStroke = StyleManager.getTextStrokePaint4Style(advancedStyle);
    ShapeWriter wr = new ShapeWriter(pointTransformer);
    wr.setRemoveDuplicatePoints(true);
    wr.setDecimation(style4Table.decimationFactor);
    if (stroke == null && textStroke == null) {
      // Can't draw
      return;
    }

    while (geometryIterator.hasNext()) {
      Geometry geom = geometryIterator.next();
      DrawableShape shape = wr.toShape(geom);
      if (stroke != null) {
        shape.draw(canvas, stroke);
      }

      // draw labels if zoom level fits and data is available
      if (currentZoomLevel >= advancedStyle.label_minZoom
          && textStroke != null
          && shape instanceof PathShape
          && geom.getUserData() != null) {

        Object userData = geom.getUserData();

        canvas.drawTextOnPath(
            userData.toString(),
            ((PathShape) shape).getPath(),
            LABEL_H_OFFSET,
            LABEL_V_OFFSET,
            textStroke);
      }
    }
  }
コード例 #2
0
ファイル: Shapes.java プロジェクト: Gnafu/SIIGMobile
  /**
   * method used to draw a polygon on map
   *
   * @param advancedStyle
   */
  public void drawPolygons(AdvancedStyle advancedStyle) {
    Paint stroke = StyleManager.getStrokePaint4Style(advancedStyle);
    Paint fill = StyleManager.getFillPaint4Style(advancedStyle);

    if (stroke == null && fill == null) {
      // Can't draw
      return;
    }

    ShapeWriter wr = new ShapeWriter(pointTransformer);
    wr.setRemoveDuplicatePoints(true);
    wr.setDecimation(style4Table.decimationFactor);
    while (geometryIterator.hasNext()) {

      Geometry geom = geometryIterator.next();
      if (geom != null) {
        DrawableShape shape = wr.toShape(geom);
        if (fill != null) {
          shape.fill(canvas, fill);
        }
        if (stroke != null) {
          shape.draw(canvas, stroke);
        }
      }
    }
  }
コード例 #3
0
  @Override
  protected AdvancedStyle getStyle() {
    if (style != null) {
      return style;
    }
    Bundle extras = getIntent().getExtras();
    String tableName = extras.getString(SpatialiteLibraryConstants.PREFS_KEY_TEXT);
    try {
      spatialTable = SpatialDataSourceManager.getInstance().getVectorTableByName(tableName);
    } catch (Exception e) {
      Log.e("STYLE", "unable to retrive table" + tableName);
    }

    style = StyleManager.getInstance().getStyle(spatialTable.getName());

    return style;
  }
コード例 #4
0
ファイル: MapsActivity.java プロジェクト: Gnafu/SIIGMobile
  /**
   * Initializes the database
   *
   * @return true if the initialization was successful
   */
  private boolean initDb() {
    // init styleManager
    StyleManager.getInstance().init(this, MAP_DIR);
    // init Db
    SpatialDataSourceManager dbManager = SpatialDataSourceManager.getInstance();

    try {
      // Only if not already loaded some tables
      if (dbManager.getSpatialVectorTables(false).size() <= 0) {
        dbManager.init(MAP_DIR);
      }
    } catch (Exception e) {

      return false;
    }
    return true;
  }