我正在 Android Studio 中实现地图,但是当我缩放标记时,它会转到错误的位置。
这是地图类,我创建了一个画布并在我转换成位图之后:
public class Mapsactivity extends Fragmentactivity implements OnmapReadyCallback {
private GoogleMap mMap;
private activityMapsBinding binding;
private Bitmap bm;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bm = createImageRounded(getapplicationContext(),80,"S");
binding = activityMapsBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}
@Override
public void onmapReady(GoogleMap googleMap) {
mMap = googleMap;
ImageView imageView = (ImageView)findViewById(R.id.img);
LatLng sydney = new LatLng(-33.8688,151.2093);
MarkerOptions mrk = new MarkerOptions().title("Sydney");
mrk.position(sydney);
mrk.icon(BitmapDescriptorFactory.fromBitmap(bm));
mrk.anchor(0.5f,1);
mMap.addMarker(mrk);
mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
}
public static Bitmap createImageRounded(Context context,int width,int height,String name)
{
Bitmap output = Bitmap.createBitmap(width,height,Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(output);
Paint paint = new Paint();
paint.setColor(Color.rgb(62,176,220));
paint.setStrokeWidth(10);
paint.setStyle(Paint.Style.FILL);
paint.setantiAlias(true);
canvas.drawCircle(30,30,10,paint);
return output;
}
}
非常感谢您的帮助