Почему маркеры не всегда видны при загрузке карты? Но как только я уменьшаю или увеличиваю масштаб, все ли они появляются?

#android #mapbox-android #mapbox-marker

Вопрос:

Я разрабатываю приложение для университетского проекта. В этом приложении у меня есть некоторые функции, используемые для создания маркеров на карте. Когда я загружаю эту карту большую часть времени, маркеры не видны, но если я увеличиваю или уменьшаю масштаб, они появляются немедленно. Это мой код для добавления маркера на карту со стилем и изображением:

 protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  Mapbox.getInstance(this, getString(R.string.mapbox_access_token));  setContentView(R.layout.activity_main);   mapView = findViewById(R.id.mapView);  mapView.onCreate(savedInstanceState);  mapView.getMapAsync(this);  }  @Override public void onMapReady(@NonNull final MapboxMap mapboxMap) {  MainActivity.this.mapboxMap = mapboxMap;  StringRequest request = new StringRequest(url, new Response.Listenerlt;Stringgt;() {   @Override  public void onResponse(String response) {  try {  JSONArray jsonArray = new JSONArray(response);  Listlt;Featuregt; symbolLayerIconFeatureList = new ArrayListlt;gt;();   for(int i = 0; i lt; jsonArray.length(); i  ){  JSONObject crag = jsonArray.getJSONObject(i);  String nome = crag.getString("nome");  String tipo = crag.getString("tipo");  double lng = crag.getDouble("longitudine");  double lat = crag.getDouble("latitudine");  String descrizione = crag.getString("descrizione");  String immagine = crag.getString("immagine");  symbolLayerIconFeatureList.add(Feature.fromGeometry(Point.fromLngLat(lng,lat)));  symbolLayerIconFeatureList.get(i).addStringProperty("NAME_PROPERTY_KEY", nome);  symbolLayerIconFeatureList.get(i).addStringProperty("TYPE_KEY", tipo);  symbolLayerIconFeatureList.get(i).addStringProperty("DESCRIPTION_KEY", descrizione);  symbolLayerIconFeatureList.get(i).addStringProperty("IMAGE_KEY", immagine);  }  mapboxMap.setStyle(Style.OUTDOORS, new Style.OnStyleLoaded(){  @Override  public void onStyleLoaded(@NonNull Style style) {  giveStyle(style,symbolLayerIconFeatureList);  enableLocationComponent(style);  }   });  } catch (JSONException e) {  e.printStackTrace();  }  }  }, new Response.ErrorListener() {  @Override  public void onErrorResponse(VolleyError error) {  error.printStackTrace();  }  });   mQueue = Volley.newRequestQueue(this);  mQueue.add(request);  mapView.addOnStyleImageMissingListener(new MapView.OnStyleImageMissingListener() {   @Override  public void onStyleImageMissing(@NonNull String id) {  if (id.equals("Falesia") amp;amp; showCrags) {  addImage(id, R.drawable.map_marker_falesia);  }  if (id.equals("Palestra") amp;amp; showGyms) {  addImage(id, R.drawable.map_marker_gym);  }  }  }); }  public void giveStyle(Style style, Listlt;Featuregt; symbolLayerIconFeatureList){   style.addSource(new GeoJsonSource(SOURCE_ID, FeatureCollection.fromFeatures(symbolLayerIconFeatureList)));   style.addLayer(new SymbolLayer(LAYER_ID,SOURCE_ID)  .withProperties(  iconImage(get("TYPE_KEY")),  iconSize((float) 0.3),  iconAllowOverlap(false),  iconIgnorePlacement(false)  ));   mapboxMap.addOnMapClickListener(MainActivity.this);  mapboxMap.getUiSettings().setLogoEnabled(true);  mapboxMap.getUiSettings().setAttributionEnabled(false);  }  private void addImage(String paramString, int paramInt) {  Style style = this.mapboxMap.getStyle();  if (style != null)  style.addImageAsync(paramString, BitmapUtils.getBitmapFromDrawable(getDrawable(paramInt)));  }  

Могу ли я что-нибудь сделать, чтобы это исправить?