Android установил Listener для маркера на карте google

Это класс наложения, который я использую в Google Maps. Я добавил к нему два маркера и хочу добавить слушателя к этим маркерам. Ниже мой класс наложения:

protected class MyLocationOverlay extends com.google.android.maps.Overlay {

    @Override
    public boolean draw(Canvas canvas, MapView mapView, boolean shadow, long when) {


        super.draw(canvas, mapView, shadow);
        // Converts lat/lng-Point to OUR coordinates on the screen.
        Point myScreenCoords = new Point();
        mapView.getProjection().toPixels(p, myScreenCoords);



        Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.passenger_map);

        canvas.drawBitmap(bmp, myScreenCoords.x, myScreenCoords.y, null);
        // canvas.drawText("I am here...", myScreenCoords.x, myScreenCoords.y, paint);

        mapView.getProjection().toPixels(p1, myScreenCoords);
        Bitmap bmp1 = BitmapFactory.decodeResource(getResources(), R.drawable.driver_map);

        canvas.drawBitmap(bmp1, myScreenCoords.x, myScreenCoords.y, null);
        // canvas.drawText(" Driver : I am here...", myScreenCoords.x, myScreenCoords.y, paint);
        return true;    
    }

person Santhosh_pulliman    schedule 29.07.2011    source источник


Ответы (1)


вам нужно использовать класс ItemizedOverlay, чтобы нажать на маркер. В этом вам нужно переопределить

onTap() или onTouch()

который используется для маркера, а также для карты

public boolean onTap (final GeoPoint p, final MapView mapView){
boolean tapped = super.onTap(p, mapView);
if (tapped){            
    //do what you want to do when you hit an item           
}           
else{
    //do what you want to do when you DONT hit an item
    }                   
return true;

}

// У вас должен быть этот метод, даже если он явно ничего не делает

@Override protected boolean onTap(int index) { return true; }

вот ссылки

http://developer.android.com/guide/tutorials/views/hello-mapview.html

Событие OnTap() на карте не запускается

Android: перекрытие ItemizedOverlay onTouchEvent и onTap

Показать всплывающее окно над маркером карты в MapView

person Pratik    schedule 29.07.2011