Skip to content

Precision Drop Venue SDK

title: PrecisionDropVenue

Introduction

The Precision Drop Venue SDK extends the Place Picker experience by enabling high-accuracy location selection within complex venues and indoor environments.

When enabled, the SDK can visualize venue structures and venue entry points, helping users accurately select locations within campuses, malls, airports, hospitals, office complexes, and other large venues.

Key Benefits

  • High-precision location selection within complex venues.
  • Venue footprint visualization for better context.
  • Venue entry point selection and snapping.
  • Improved address and destination accuracy.
  • Enhanced user experience for navigation and last-mile delivery use cases.
  • Support for indoor and venue-aware location picking.

Add the Dependency

Add the Place Widget dependency to your app-level Gradle file.

Kotlin (build.gradle.kts)

// Using Mappls BoM
implementation("com.mappls.sdk:place-widget")

// Or specify a version explicitly
implementation("com.mappls.sdk:place-widget:3.0.1")

Groovy (build.gradle)

// Using Mappls BoM
implementation 'com.mappls.sdk:place-widget'

// Or specify a version explicitly
implementation 'com.mappls.sdk:place-widget:3.0.1'

Add Place Picker

Configure and launch the Place Picker with Venue SDK options.

Kotlin

val placePickerOptions = PlacePickerOptions.builder()
    .venueFootprintsEnabled(true)
    .venueAppearanceFillColor("#7782E3")
    .venueAppearanceFillOpacity(0.35)
    .venueAppearanceStrokeColor("#7782E3")
    .venueAppearanceStrokeWidth(2)
    .venueAppearanceStrokeOpacity(0.5)

    .showVenueEntryCoordinate(true)
    .venueEntryCoordinateCircleColor("#FFB84D")
    .venueEntryCoordinateCircleStrokeColor("#DE9424")
    .venueEntryCoordinateCircleRadius(8.0f)
    .venueEntryCoordinateCircleStrokeWidth(2.0f)
    .venueEntryCoordinateSnapEnable(true)
    .venueEntryCoordinateSnappingRadius(50)
    .venueEntryCoordinateSnappingZoomEnable(true)
    .build()


val intent = PlacePicker.IntentBuilder()
    .placeOptions(placePickerOptions)
    .build(this)

startActivityForResult(intent, 101)

Java

PlacePickerOptions placePickerOptions = PlacePickerOptions.builder()
        .venueFootprintsEnabled(true)
        .venueAppearanceFillColor("#7782E3")
        .venueAppearanceFillOpacity(0.35)
        .venueAppearanceStrokeColor("#7782E3")
        .venueAppearanceStrokeWidth(2)
        .venueAppearanceStrokeOpacity(0.5)

        .showVenueEntryCoordinate(true)
        .venueEntryCoordinateCircleColor("#FFB84D")
        .venueEntryCoordinateCircleStrokeColor("#DE9424")
        .venueEntryCoordinateCircleRadius(8.0f)
        .venueEntryCoordinateCircleStrokeWidth(2.0f)
        .venueEntryCoordinateSnapEnable(true)
        .venueEntryCoordinateSnappingRadius(50)
        .venueEntryCoordinateSnappingZoomEnable(true)
        .build();

Intent intent = new PlacePicker.IntentBuilder()
        .placeOptions(placePickerOptions)
        .build(this);

startActivityForResult(intent, 101);

Premium Features

The Place Picker widget has the capability to showcase certain premium features if they are provisioned within your project, like:


Venue Footprint Highlighting

When a selected point falls within a mapped venue, the Place Picker can automatically highlight the corresponding venue footprint.

This provides users with clear visual feedback about the venue area being selected.

Benefits

  • Improves location selection accuracy.
  • Helps users identify the exact venue being selected.
  • Provides visual confirmation of selected destinations.
  • Supports large campuses and multi-structure complexes.

Venue Footprint Configuration

These properties control the visibility and appearance of venue footprints displayed in the Place Picker.

Property Description
venueFootprintsEnabled(Boolean) Enables or disables venue footprint visualization around the selected location.
venueAppearanceFillColor(String) Sets the fill color of the venue footprint polygon (for example: #7782E3).
venueAppearanceFillOpacity(Double) Sets the fill transparency. Values range from 0.0 (fully transparent) to 1.0 (fully opaque).
venueAppearanceStrokeColor(String) Sets the border color of the venue footprint.
venueAppearanceStrokeWidth(Integer) Sets the border width in pixels.
venueAppearanceStrokeOpacity(Double) Sets the border transparency. Values range from 0.0 (fully transparent) to 1.0 (fully opaque).

Example

.venueFootprintsEnabled(true)
    .venueAppearanceFillColor("#7782E3")
    .venueAppearanceFillOpacity(0.35)
    .venueAppearanceStrokeColor("#7782E3")
    .venueAppearanceStrokeWidth(2)
    .venueAppearanceStrokeOpacity(0.5)


Venue Entry Coordinate Configuration

Venue entry coordinates help users select precise entry points within large venues such as malls, airports, hospitals, campuses, and office complexes.

Property Description
showVenueEntryCoordinate(Boolean) Shows or hides the venue entry coordinate marker.
venueEntryCoordinateCircleColor(String) Fill color of the venue entry coordinate circle.
venueEntryCoordinateCircleStrokeColor(String) Border color of the venue entry coordinate circle.
venueEntryCoordinateCircleRadius(Float) Radius of the entry coordinate circle.
venueEntryCoordinateCircleStrokeWidth(Float) Border width of the entry coordinate circle.
venueEntryCoordinateSnapEnable(Boolean) Enables snapping the selected point to the nearest venue entry coordinate.
venueEntryCoordinateSnappingRadius(Integer) Radius in meters used for venue entry coordinate snapping.
venueEntryCoordinateSnappingZoomEnable(Boolean) Enables snapping based on zoom level.

Example

.showVenueEntryCoordinate(true)
.venueEntryCoordinateCircleColor("#FFB84D")
.venueEntryCoordinateCircleStrokeColor("#DE9424")
.venueEntryCoordinateCircleRadius(8.0f)
.venueEntryCoordinateCircleStrokeWidth(2.0f)
.venueEntryCoordinateSnapEnable(true)
.venueEntryCoordinateSnappingRadius(50)
.venueEntryCoordinateSnappingZoomEnable(true)

Complete Venue Configuration Example

val placePickerOptions = PlacePickerOptions.builder()
    .venueFootprintsEnabled(true)
    .venueAppearanceFillColor("#7782E3")
    .venueAppearanceFillOpacity(0.35)
    .venueAppearanceStrokeColor("#7782E3")
    .venueAppearanceStrokeWidth(2)
    .venueAppearanceStrokeOpacity(0.5)

    .showVenueEntryCoordinate(true)
    .venueEntryCoordinateCircleColor("#FFB84D")
    .venueEntryCoordinateCircleStrokeColor("#DE9424")
    .venueEntryCoordinateCircleRadius(8.0f)
    .venueEntryCoordinateCircleStrokeWidth(2.0f)
    .venueEntryCoordinateSnapEnable(true)
    .venueEntryCoordinateSnappingRadius(50)
    .venueEntryCoordinateSnappingZoomEnable(true)

    .build()

Retrieving the Selected Place

After the user selects a location and returns from the Place Picker, retrieve the selected Place object.

Kotlin

override fun onActivityResult(
    requestCode: Int,
    resultCode: Int,
    data: Intent?
) {
    super.onActivityResult(requestCode, resultCode, data)

    if (requestCode == 101 &&
        resultCode == Activity.RESULT_OK
    ) {
        val place: Place? = PlacePicker.getPlace(data!!)
    }
}

Java

@Override
protected void onActivityResult(
        int requestCode,
        int resultCode,
        @Nullable Intent data
) {
    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == 101 &&
            resultCode == RESULT_OK) {

        Place place = PlacePicker.getPlace(data);
    }
}

Feature Summary

Feature Description
Venue-Aware Location Selection Select precise locations within large venues and campuses.
Venue Footprint Highlighting Highlights mapped venue boundaries around the selected location.
Venue Entry Coordinates Displays and selects precise venue entry points.
Coordinate Snapping Snaps selection to the nearest mapped venue entry coordinate.
Custom Styling Configure venue colors, opacity, stroke width, and entry marker appearance.
Precision Venue Selection Improves destination accuracy inside complex venues.
---

For any queries and support, please contact:

Email us at apisupport@mappls.com

Support Need support? contact us!



@ Copyright 2026 CE Info Systems Ltd. All Rights Reserved.