IEventHandler
Bu interface’teki metodlar Yolbil tarafından çağrılır.
mapLoaded
Interface Method
public void mapLoaded(Context context)
Yolbil initialize işlemi bittiğinde, harita yüklendiğinde çağrılır.
mapResumed
Interface Method
public void mapResumed()
Yolbil view’ını içeren Activity resume ettiğinde çağrılır.
featurePickedByTapping
Interface Method
public void featurePickedByTapping
(ArrayList<Object> features,
Point worldCoordinate,
Point screenCoordinate)
setPickableLayerWithEvent methoduyla belirlenen layer objeleri features içerisinde bu methodda döner. Harita üzerinde bir veya birden fazla obje tap yapılarak seçildiğinde çağrılır. Bu metod çağrıldığında generic bir object listesi döner bu listenin içindeki elemanlar tiplerine göre istenen feature tipine cast edilebilir. Örnek kullanım aşağıdaki gibidir.
for(Object feature : features){
if(feature instanceof Marker)
Marker marker = (Marker)feature;
else if(feature instanceof Polygon)
Polygon polygon = (Polygon)feature;
else if(feature instanceof Polyline)
Polyline polyline = (Polyline)feature;
}
screenCoordinate ile tap yapılan noktanın piksel cinsinden ekran koordinatı ve worldCoordinate ile wgs84 tipinde konum bilgisi gelir. mapTapped‘dan önce çağrılır.
featurePickedByLongPressing
Interface Method
public void featurePickedByLongPressing
(ArrayList<Object> features,
Point worldCoordinate,
Point screenCoordinate)
Bu method featurePickedByTapping metodunun longpress gesture’ı için olan versiyonudur. mapLongPressed‘den önce çağrılır.
mapTapped
Interface Method
public void mapTapped(Point worldCoordinate, Point screenCoordinate)
Harita ekranına tap yapılınca çağrılır.
screenCoordinate ile tap yapılan noktanın piksel cinsinden ekran koordinatı ve worldCoordinate ile wgs84 tipinde konum bilgisi gelir.
mapLongPressed
Interface Method
public void mapLongPressed(Point worldCoordinate, Point screenCoordinate)
Harita ekranına longpress yapılınca çağrılır.
screenCoordinate ile longpress yapılan noktanın piksel cinsinden ekran koordinatı ve worldCoordinate ile wgs84 tipinde konum bilgisi gelir.
mapRendered
Interface Method
public void mapRendered()
Harita nın gösterilmesi için OpenGL e gönderilen her çizim komutunda bu metod çağrılır. Harita ile etkileşim halinde iken saniyede 60 kere çağrıldığı için bu metodun içinde cpu intense işlemler yapılmaması gerekir.
Harita ile bir gesture interaction ı yokken sadece Map sınıfının haritayı hareket ettiren metodları çağrıldığında çağrılır.
Harita state ine göre değişen işlemler yapmak için kullanılır (örneğin bir pusula resmini haritaya göre döndürmek) Harita verisinin yoğun olduğu, veri okumanın çizdirmekten daha uzun sürdüğü bölgelerde cağrılma miktarı da azalır
locationChanged
Interface Method
public void locationChanged(Point worldCoordinate)
Yolbil’in location manager dan aldığı gps update lerini yansıtır.
licenseIsNotValid
public void licenseIsNotValid()
Yolbil uygulamanın çalıştığı cihaza lisanslanmamış ise çağrılır. Güvenlik sebepleri gereği bu metodun çağrılmasından bir süre sonra uygulama kapatılır. Cihaz lisanslanmamış ise çağrılmaz.
mapTouched
public void mapTouched(MotionEvent event)
Haritaya yapılan tüm dokunma işlemlerinde çağrılır. mapRendered’a benzer şekilde bu metod da saniyede 60 kez çağrılabilir ve bu metod içinde cpu intense işlemler yapılmaması gerekir. Gesture’lar devre dışı olduğunda çağrılmaz.
navigationCalculationEnded
Interface Method
public void navigationCalculationEnded()
Yapılan rotalama hesaplandıktan sonra çağırılan interface methodudur.