AnswerBun.com

Include device location and multiple map markers in camera bounds

Stack Overflow Asked by Orbit on December 4, 2020

We’re displaying a number of map markers on the map representing various objects which are retrieved either from a cache or from an asynchronous network call. When these objects are retrieved, we update the camera to ensure all markers are within view:

 LatLngBounds bounds = mBoundsBuilder.build();
 mMapboxMap.animateCamera(CameraUpdateFactory.newLatLngBounds(bounds, 50, 100, 50, 30));

We’re interested in adding the user’s location to the map, and have done so using the LocationComponent provided by MapBox as shown in this example.

The problem is that when the LocationComponent has locationComponent .setCameraMode(CameraMode.TRACKING) set as shown, the camera will focus on the user’s location, without accommodating the markers previously set. Setting the camera mode to CameraMode.NONE allows the markers to be shown using the code snippet above, however in this case the user’s location will not be accommodated in the mBoundsBuilder.

The obvious solution seemed to be to listen for location updates and manually add the coordinates to the mBoundsBuilder so that the user’s location is taken into account. This, however, has a number of problems, such as:

  1. Callbacks for location changes can be invoked many times, while the mBoundsBuilder should only contain a single set of coordinates for the user’s location, the rest of the objects being the previously added markers.
  2. Location updates are asynchronous, and getLastKnownLocation will often return null.

Questions:

  1. Is there a default, built in way to show a user’s location while making sure the camera accommodates map markers?
  2. If no default option exists, how can this be properly implemented?

Version:
com.mapbox.mapboxsdk:mapbox-android-sdk:6.8.1

One Answer

Take a look at this -> https://www.github.com/bkhezry/MapDrawingTools it helps in drawing polygons on a map.

Answered by Darsh Reddy on December 4, 2020

Add your own answers!

Related Questions

mean(,na.rm = TRUE) returns NA and Warning Message

1  Asked on January 5, 2022 by dylan-ong

 

StringIndexOutOfBoundsException:

1  Asked on January 5, 2022 by benjamin-weed

   

How to use a promise inside a promise?

3  Asked on January 5, 2022

 

Ask in C++ code to promp user for function expression input

1  Asked on January 5, 2022 by tbaracu

     

Why does flex-basis calculation return an error in SASS?

1  Asked on January 5, 2022 by simplicius

   

Why does the ul element show when input is clicked?

1  Asked on January 5, 2022 by e-reiner

       

Why does this list element move back in the list?

1  Asked on January 5, 2022 by user13990775

   

Ask a Question

Get help from others!

© 2022 AnswerBun.com. All rights reserved. Sites we Love: PCI Database, MenuIva, UKBizDB, Menu Kuliner, Sharing RPP, SolveDir