public void loadData(Envelope envelope, int zoom) { // long time = System.currentTimeMillis(); try { ArrayList<MapPos> pts = mapView.getMapBoundaryPts(); Vector<Geometry> objectTemp = null; Vector<Geometry> objects = new Vector<Geometry>(); GeometryData.Type dataType; if (type == Type.ENTITY) { dataType = GeometryData.Type.ENTITY; objectTemp = dbmgr.fetchAllVisibleEntityGeometry( pts, querySql, renderAll ? FaimsSettings.MAX_VECTOR_OBJECTS : maxObjects); } else if (type == Type.RELATIONSHIP) { dataType = GeometryData.Type.RELATIONSHIP; objectTemp = dbmgr.fetchAllVisibleRelationshipGeometry( pts, querySql, renderAll ? FaimsSettings.MAX_VECTOR_OBJECTS : maxObjects); } else { throw new Exception("database layer has no type"); } createElementsInLayer(zoom, objectTemp, objects, dataType); setVisibleElementsList(objects); } catch (Exception e) { FLog.e("error rendering database layer", e); } if (textLayer != null) { textLayer.renderOnce(); textLayer.calculateVisibleElements(envelope, zoom); } // FLog.d("time: " + (System.currentTimeMillis() - time) / 1000); }
public void setTextLayer(DatabaseTextLayer textLayer) { this.textLayer = textLayer; this.textVisible = textLayer.isVisible(); }