Как переместить маркер (текущий маркер) на карте Google, как устройство движется в Android
Как переместить маркер (как точка) на карте Google при перемещении устройства (пользователь перемещается).....
import android.content.Context;
import android.widget.Toast;
import com.google.android.maps.MapView;
import com.google.android.maps.MyLocationOverlay;
// This class subclasses (extends) MyLocationOverlay so that we can override its dispatchTap method
// to handle tap events on the present location dot.
public class MyMyLocationOverlay extends MyLocationOverlay {
private Context context;
public MyMyLocationOverlay(Context context, MapView mapView) {
super(context, mapView);
this.context = context; // Will need this for Toast argument below
}
// Override the dispatchTap() method to toggle the data display on and off when
// the present location dot is tapped. Also display a short Toast (transient message) to the
// user indicating the display status change.
@Override
protected boolean dispatchTap(){
if(DisplayOverlay.showData){
Toast.makeText(context, "Suppressing data readout", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(context,"Display data readout", Toast.LENGTH_SHORT).show();
}
// Toggle the GPS data display
DisplayOverlay.showData = ! DisplayOverlay.showData;
return true;
}
1 ответ
Проверь мой пост, ответ там был, ссылка.
как отобразить карту в андроид с маркером
для перемещения маркера на карте вам нужно создать статический метод в вашем классе, который расширяет MapActivity, как
private static GeoPoint markerPoint;
public static void updateLocation(Location location){
lat = location.getLatitude();
lng = location.getLongitude();
// now use this lat/lng value to convert into the GeoPoint object
markerPoint = new GeoPoint(lat * 1e6, lng * 1e6);
mapview.invalidate();
}
Ваш пользовательский класс наложения, который расширяет класс Overlay.
public void draw(Canvas canvas, MapView mapView, boolean Shadow){
Point screenPts = new Point();
mapView.getProjection().toPixels(markerPoint, screenPts);
//---add the marker---
Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.cur_loc_1);
canvas.drawBitmap(bmp, screenPts.x-(xCurLocOffset), screenPts.y-yCurLocOffset, null);
}
здесь, чтобы отобразить отображаемое изображение с помощью класса Bitmap для рисования изображения на карте.