Я видел на Youtube руководство по Mapbox Java, там есть шаг, в котором используется «AnnotationPluginImplKt». Я импортировал:
реализация («com.mapbox. навигация:android:2.15.2");
реализация ("com.mapbox.navigation:android:2.17.1")
но AnnotationPluginImplKt по-прежнему недоступен. Кто-нибудь может сказать мне, где я могу импортировать это или любой другой способ исправить это в Java Android, спасибо!
Код: Выделить всё
mapView.getMapboxMap().loadStyleUri(Style.SATELLITE, new Style.OnStyleLoaded() {
@Override
public void onStyleLoaded(@NonNull Style style) {
mapView.getMapboxMap().setCamera(new CameraOptions.Builder().zoom(20.0).build());
locationComponentPlugin.setEnabled(true);
locationComponentPlugin.setLocationProvider(navigationLocationProvider);
getGestures(mapView).addOnMoveListener(onMoveListener);
locationComponentPlugin.updateSettings(new Function1() {
@Override
public Unit invoke(LocationComponentSettings locationComponentSettings) {
locationComponentSettings.setEnabled(true);
locationComponentSettings.setPulsingEnabled(true);
return null;
}
});
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.location_pin);
AnnotationPlugin annotationPlugin = AnnotationPluginImplKt.getAnnotations(mapView);
PointAnnotationManager pointAnnotationManager = PointAnnotationManagerKt.createPointAnnotationManager(annotationPlugin, mapView);
addOnMapClickListener(mapView.getMapboxMap(), new OnMapClickListener() {
@Override
public boolean onMapClick(@NonNull Point point) {
pointAnnotationManager.deleteAll();
PointAnnotationOptions pointAnnotationOptions = new PointAnnotationOptions().withTextAnchor(TextAnchor.CENTER).withIconImage(bitmap)
.withPoint(point);
pointAnnotationManager.create(pointAnnotationOptions);
setRoute.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
fetchRoute(point);
}
});
return true;
}
});
focusLocationBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
focusLocation = true;
getGestures(mapView).addOnMoveListener(onMoveListener);
focusLocationBtn.hide();
}
});
placeAutocompleteUiAdapter.addSearchListener(new PlaceAutocompleteUiAdapter.SearchListener() {
@Override
public void onSuggestionsShown(@NonNull List
list) {
}
@Override
public void onSuggestionSelected(@NonNull PlaceAutocompleteSuggestion placeAutocompleteSuggestion) {
ignoreNextQueryUpdate = true;
focusLocation = false;
searchET.setText(placeAutocompleteSuggestion.getName());
searchResultsView.setVisibility(View.GONE);
pointAnnotationManager.deleteAll();
PointAnnotationOptions pointAnnotationOptions = new PointAnnotationOptions().withTextAnchor(TextAnchor.CENTER).withIconImage(bitmap)
.withPoint(placeAutocompleteSuggestion.getCoordinate());
pointAnnotationManager.create(pointAnnotationOptions);
updateCamera(placeAutocompleteSuggestion.getCoordinate(), 0.0);
setRoute.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
fetchRoute(placeAutocompleteSuggestion.getCoordinate());
}
});
}
@Override
public void onPopulateQueryClick(@NonNull PlaceAutocompleteSuggestion placeAutocompleteSuggestion) {
//queryEditText.setText(placeAutocompleteSuggestion.getName());
}
@Override
public void onError(@NonNull Exception e) {
}
});
}
});
Подробнее здесь: https://stackoverflow.com/questions/791 ... roidstudio
Мобильная версия