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.

Interface Method

    public void navigationCalculationEnded()

Yapılan rotalama hesaplandıktan sonra çağırılan interface methodudur.