One way to do this would be to use canvas.
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Bitmap map = BitmapFactory.decodeResource(getResources(), R.drawable.map);
canvas.drawBitmap(map, xPositionForMap, yPositionForMap, null);
Bitmap marker = BitmapFactory.decodeResource(getResources(), R.drawable.marker);
canvas.drawBitmap(marker, xPositionFor1stMarker, yPositionFor1stMarker, null);
canvas.drawBitmap(marker, xPositionFor2ndMarker, yPositionFor2ndMarker, null);
}
Things drawn later in the onDraw appear on top of those drawn earlier. Probably the BitmapFactory.decodeResource should be in a create/init mat hod so they aren't called every time onDraw is called. See http://developer.android.com/training/custom-views/custom-drawing.html for more information.
For clicking on the pins you would catch clicks on the Layout containing the canvas and conditionally add extra drawables and text.
An alternative way is to use RelativeLayout and put ImageView, which would work similarly.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…