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!
