Как поставить точку на место, где находится пользователь и приблизить туда карту яндекс mapkit java
вот код моей активити, но я почему то не вижу точек
public class HomeActivity extends AppCompatActivity implements UserLocationObjectListener {
private AppBarConfiguration mAppBarConfiguration;
private ActivityMainBinding binding;
private final String MAPKIT_API_KEY = "бла-бла-бла";
private final Point TARGET_LOCATION = new Point(59.945933, 30.320045);
private MapView mapView;
private int REQUEST_CODE_PERMISSION_INTERNET = 1;
private static final int PERMISSIONS_REQUEST_FINE_LOCATION = 1;
private UserLocationLayer userLocationLayer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
int permissionStatus = ContextCompat.checkSelfPermission(this, Manifest.permission.INTERNET);
peremissionInternet();
requestLocationPermission();
MapKitFactory.setApiKey(MAPKIT_API_KEY);
MapKitFactory.initialize(this);
setContentView(R.layout.fragment_home);
mapView = (MapView)findViewById(R.id.mapview);
mapView.getMap().setRotateGesturesEnabled(false);
mapView.getMap().move(new CameraPosition(new Point(0, 0), 14, 0, 0));
MapKit mapKit = MapKitFactory.getInstance();
mapKit.resetLocationManagerToDefault();
userLocationLayer = mapKit.createUserLocationLayer(mapView.getMapWindow());
userLocationLayer.setVisible(true);
userLocationLayer.setHeadingEnabled(true);
userLocationLayer.setObjectListener((UserLocationObjectListener) this);
binding = ActivityMainBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
setSupportActionBar(binding.appBarMain.toolbar);
binding.appBarMain.fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
DrawerLayout drawer = binding.drawerLayout;
NavigationView navigationView = binding.navView;
mAppBarConfiguration = new AppBarConfiguration.Builder(
R.id.nav_home, R.id.nav_gallery, R.id.nav_slideshow)
.setOpenableLayout(drawer)
.build();
NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment_content_main);
NavigationUI.setupActionBarWithNavController(this, navController, mAppBarConfiguration);
NavigationUI.setupWithNavController(navigationView, navController);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onSupportNavigateUp() {
NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment_content_main);
return NavigationUI.navigateUp(navController, mAppBarConfiguration)
|| super.onSupportNavigateUp();
}
@Override
protected void onStop() {
mapView.onStop();
MapKitFactory.getInstance().onStop();
super.onStop();
}
@Override
protected void onStart() {
super.onStart();
MapKitFactory.getInstance().onStart();
mapView.onStart();
}
private void requestLocationPermission() {
if (ContextCompat.checkSelfPermission(this,
"android.permission.ACCESS_FINE_LOCATION")
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this,
new String[]{"android.permission.ACCESS_FINE_LOCATION"},
PERMISSIONS_REQUEST_FINE_LOCATION);
}
}
private void peremissionInternet(){
if (ContextCompat.checkSelfPermission(this,
"android.permission.INTERNET")
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this,
new String[]{"android.permission.INTERNET"},
REQUEST_CODE_PERMISSION_INTERNET);
}
}
@Override
public void onObjectAdded(UserLocationView userLocationView) {
userLocationLayer.setAnchor(
new PointF((float)(mapView.getWidth() * 0.5), (float)(mapView.getHeight() * 0.5)),
new PointF((float)(mapView.getWidth() * 0.5), (float)(mapView.getHeight() * 0.83)));
userLocationView.getArrow().setIcon(ImageProvider.fromResource(
this, R.drawable.geolocation));
CompositeIcon pinIcon = userLocationView.getPin().useCompositeIcon();
pinIcon.setIcon(
"icon",
ImageProvider.fromResource(this, R.drawable.geolocation),
new IconStyle().setAnchor(new PointF(0f, 0f))
.setRotationType(RotationType.ROTATE)
.setZIndex(0f)
.setScale(1f)
);
pinIcon.setIcon(
"pin",
ImageProvider.fromResource(this, R.drawable.geolocation),
new IconStyle().setAnchor(new PointF(0.5f, 0.5f))
.setRotationType(RotationType.ROTATE)
.setZIndex(1f)
.setScale(0.5f)
);
userLocationView.getAccuracyCircle().setFillColor(Color.BLUE);
}
@Override
public void onObjectRemoved(UserLocationView view) {
}
@Override
public void onObjectUpdated(UserLocationView view, ObjectEvent event) {
}
}
при этом в логах я вижу кучу варнингов, которые, никак не влияю на работоспособность карт
я дурак или лыжи не едут, прошу помочь новичку
Источник: Stack Overflow на русском