Android установил Слушатель для маркера на карте Google - PullRequest
1 голос
/ 29 июля 2011

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

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;    
    }

1 Ответ

1 голос
/ 29 июля 2011

вам нужно использовать класс 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) { вернуть истину; }

вот ссылки

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

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

Android: наложение элементов на оверлейное событие и перекрытие сенсорного экрана

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

...