It's sometimes useful to be able to get a blue dot to a remote venue for smoke testing purposes. For remote/home office work, it's also good when starting development with IndoorAtlas SDK, so you can smoke test your own code. Here's how.


To be able to get blue dot, the venue always needs to be fingerprinted. Thus, when testing code based on the IndoorAtlas SDK, the choices are : 

  • Fingerprint your company's office (most common choice)
  • Fingerprint a venue close to your home or office (mall, library, outdoor street)
  • Fingerprint your home office
  • Fingerprint your customer's target venue (usually much later in the project)


Once you have one venue fingerprinted, you can fake the blue dot into the venue remotely. To do this, you'll use

  • The Waypoints tab in IA Web app to get the lat,lon of the center of your fingerprinted area
  • The IndoorAtlas SDK's setLocation-API. 


Copy Lat,Lon like this and enter it to the setLocation-code examples below.



Code Examples

iOS


let floor = 1
let radius = 10.0
let clLoc = CLLocation.init(latitude: YOUR_VENUE_CENTER, longitude: YOUR_VENUE_CENTER)
clLoc.setValue(radius, forKey: "horizontalAccuracy")
let iaLoc = IALocation.init(clLocation: clLoc, andFloor: IAFloor.init(level: floor))
iaLoc.soft = false
locationManager.location = iaLoc




Android


        mIALocationManager.requestLocationUpdates(locReq, mLocationListener);
        mIALocationManager.registerRegionListener(mRegionListener);

        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                mIALocationManager.setLocation(new IALocation.Builder()
                        .withLatitude(LAT_HERE) 
                        .withLongitude(LON_HERE)
                        .withAccuracy(10)
                        .withFloorLevel(1) // set floor level 
                        .build());
                
                // lock indoors to make the fake blue dot stay indoors
                mIALocationManager.lockIndoors(true);
            }
        }, 5000);