вы можете создать подкласс Multiple с реализацией Overlay. Теперь текущее местоположение было исправлено, и я думаю, что вы не можете выполнять какие-либо события, такие как 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);
}
person
Pratik
schedule
06.09.2011