вы можете создать подкласс Multiple с помощью наложения. Теперь текущее местоположение было исправлено, и я думаю, что вы не можете делать какие-либо события, такие как onclick или др. 1 класс, который только отображает и поддерживает только текущее местоположение.
Так что теперь для выбора места. хорошо, я думаю, что вы хотите изменить местоположение расположения этого штифта. Так как вы можете реализовать в onTap для этого, вы можете использовать метод onTouch () и реализовать событие down, move, up для карты. Предположим, что если я коснусь карты, вы получите это местоположение, теперь преобразуете это значение местоположения в экран x, y значение добавить проход к булавке, чтобы разместить на этом месте.
здесь у меня есть такой способ размещения булавки на карте, когда пользователь нажимает на карту
public boolean onTouchEvent(MotionEvent event, final MapView mapView) {
final int action=event.getAction();
final int x=(int)event.getX();
final int y=(int)event.getY();
result = false;
if (action==MotionEvent.ACTION_DOWN) {
downPressed = true;
drag = false;
result = false;
}else if (action==MotionEvent.ACTION_MOVE) {
downPressed = false;
drag=true;
}else if (action==MotionEvent.ACTION_UP) {
if(downPressed){
if(task.equals(SINGLE_LOCATION) | isDirectionPoint | mapView.isStreetView()){
tempPoint = mapView.getProjection().fromPixels(x, y);
mapView.invalidate();
}
}
drag = false;
downPressed = false;
}
return(result | super.onTouchEvent(event, mapView));
}
вот мой метод рисования, который был вызван в методе draw ()
private void drawFreeMarker(Canvas canvas, MapView mapView, boolean shadow) {
Point screenPts = new Point();
mapView.getProjection().toPixels(tempPoint, screenPts);
//---add the marker---
Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.bluepin_38);
canvas.drawBitmap(bmp, screenPts.x-((xCurLocOffset/2)-1), screenPts.y-(yCurLocOffset-1), null);
}