androidoverride
⑴ android overlay是什麼意思
覆蓋是用來向MapView中添加註釋和單擊處理的方法。每一個覆蓋都可以直接在畫布上繪制2D原語,包括文本、直線、圖片和各種形狀,之後它們會被用來覆蓋到Map View之上。
可以向一個地圖中添加多個覆蓋。分配給一個Map View的所有覆蓋都是作為層而添加的,較新的層可能會模糊較舊的層。用戶單擊是通過棧進行傳遞的,直到它們被覆蓋處理,或者作為Map View本身的單擊進行注冊為止。
1. 創建新的覆蓋
每一個覆蓋都是一塊具有透明背景的畫布,可以把它作為一個圖層放在Map View的上面,並用它來處理地圖觸摸事件。
要添加新的覆蓋,需要通過擴展Overlay來創建一個新的類。然後重寫draw方法來繪制希望添加的注釋,並重寫onTap方法來對用戶的單擊做出反應(通常是當用戶單擊由這個覆蓋所添加的注釋時)。
下面的代碼段顯示了創建新的覆蓋的框架,它可以用來繪制注釋和處理用戶單擊:
Java代碼:
1. import android.graphics.Canvas;
2. import com.google.android.maps.MapView; 3. import com.google.android.maps.Overlay; 4.
5. public class MyOverlay extends Overlay { 6. @Override
7. public void draw(Canvas canvas, MapView mapView, boolean shadow) {
8. if (shadow == false)
9. { [ ... Draw annotations on main map layer ... ] }
10.else { [ ... Draw annotations on the shadow layer ... ] } 11.}
12.@Override
13.public boolean onTap(GeoPoint point, MapView mapView) { 14.// 如果這個覆蓋處理了屏幕接觸,就返回true return false; 15.} 16. 17.}
⑵ android開發中的override/implement methods
override/implement methods 是尋找 重載的方法,就是它的父類或者 它的介面 有的方法 ,一般都是一個完整的方法 比如: public void onCreate(){ },
而setOnClickListener() 只是一個控制項對象的方法,需要一個對象去調用它 比如 button.setOnClickListener()
這兩個是不同的
不太好說,你慢慢就會理解的