Adres Arama
Harita verisi içerisinde herhangi bir POI(Önemli Nokta) veya Network(Cadde, Sokak, Bulvar)’ü ismi ile aramak için Address sınıfının Search static metodu kullanılır. Arama yaparken arama yapılacak bölge il, ilçe veya mahalle bazında filtrelenebilir. Aranılacak objenin tipi (POI, Network veya her ikisi birden) seçilebilir.
public static AddressSearchResult Search(
String keyword,
AddressSearchType type,
int filterId,
boolean force)
Yukarıda metodun yapısı gösterilmiştir. Adres arama özelliği performans kaybını engellemek üzere 3 karakterden daha kısa olan keyword’ler ile arama yapmaya izin vermemektedir. force:true verilerek 3 harften daha kısa girdiler ile arama yapılabilir (Adres aramanın sürekli force edilerek kullanılması performans düşmesine sebep olabilir).
AddressSearchResult result = Address.Search("deneme", AddressSearchType.NETWORK_AND_POI, -1);
Örnek kullanımda içerisinde “deneme” kelimesi geçen tüm Network ve POI’ler tüm Türkiye verisi içerisinde aranır. Son parametrede yazılan değer filtrelenecek bölgenin id’sini içerir. ID’ler Yolbil başlatıldığında yüklenen Yolbil.Orders ismindeki static listeden elde edilebilir. -1 tüm Türkiye’de arama yapar. Farklı bir filterId belirlemek için Yolbil.Orders listesi kullanılmalıdır.
Yolbil.Orders listesi OrderItem objeleri içerir, bu objelerde o order a ait isim, id, parentId ve tip değerleri bulunur. id değeri Address.Search methodunda gönderilmesi gereken filterId’ye karşılık gelir.
public String name;
public int id;
public int parentId;
public OrderType type;
Orderlardaki şu anki yapı sonraki versiyonlarda kullanımı daha kolay yapacak şekilde bir tree yapısına dönüştürülecektir
Adres arama sonucu dönen AddressSearchResult objesi AutoCompleteItem objeleri içeren bir liste den türer.
AutoCompleteItem sınıfı isim, katman tipi, arama yapılan mesafeye uzaklık, mahalle, ilçe, il, id ve konum bilgileri içerir.
public String name;
public LayerType layertype;
public int distance;
public int villageId;
public int townId;
public int cityId;
public int featureId;
public Point location;
Adres arama yaparken istenilen sonuçların bir noktaya göre uzaklığının sıralı olması istenirse Search metodu ile aynı yapıda çalışan SearchAndSortByDistance metodu kullanılabilir bu metod diğerine göre fazladan bir Point parametresi alır.
Veri tipi miktarını olabildiğince az tutmak için 2 metodunda return değerleri aynı tiptedir. Search metodunun sonucunda AutoCompleteItem objelerindeki distance değeri -1 gelir.