LabelConfig
CustomLayer’lara Label tanımlaması yapılırken container sınıf olarak kullanılır. Label’ın hangi aralıklarda gösterileceğini ve hangi kolonlardan oluşturucağını belirler.
LabelConfig(String labelQuery, ZoomConstants minimumAppearingLevel, ZoomConstants maximumAppearingLevel)
Constructor Method
public LabelConfig(String labelQuery, ZoomConstants minimumAppearingLevel, ZoomConstants maximumAppearingLevel)
labelQuery : CustomLayer’ın tanımlandığı tablodaki kolonları kullanabilen her türlü sorgu parçası olabilir. labelQuery veritabanına yapılacak örnek bir sorguda aşağıdaki gibi konumlanacaktır.
SELECT {labelQuery}, ...(other required selects) FROM table WHERE {constraints} AND ...(other required selects)
Örnek labelQuery:
String labelQuery = "printf('%s No: %d %s DURUM: (%s)',cadde_sokak_adi,kapi_no,bina_adi,servis_hat_durum)"
Tabloda bulunan cadde_sokak_adi
, kapi_no
, bina_adi
, servis_hat_durum
bilgilerini kullanarak "{cadde_sokak_adi} No: {kapi_no} {bina_adi} DURUM: {servis_hat_durum}"
şeklinde bir label oluşturmada kullanmak için yukarıdaki şekilde verilebilir. printf
SQLite’ın bir metodu olup kullanılması zorunlu değildir, yalnızca bir kolon ismi yazılarak da etiket gösterimi sağlanabilir.
{minimum-maximum}AppearingLevel : Oluşturulacak olan Label’ın hangi zoom seviyeleri arasında gösterileceğini belirler. Minimumdan daha yakında ve Maximumdan daha uzakta Label görüntülenmesi yapılmamasını garanti eder. Label’ların gösterilme aralığı CustomLayer’ın aralığı dışında verilmiş olsa bile yalnızca CustomLayer’ın görünür olduğu aralıkta Label’lar da görünür olacaktır.