Repository navigation
feat(integrations): add Google Street View and Maps Platform integration - #7947
Open
shelbyjames24 wants to merge 2 commits into
Open
shelbyjames24 wants to merge 2 commits into
shelbyjames24 wants to merge 2 commits into
Conversation
…coded model string
shelbyjames24
force-pushed
the
feat/street-view-integration
branch
from
November 4, 2026 16:49
7d589eb to
b881592
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Link to Issue or Description of Change
1. Link to an existing issue (if applicable):
2. Or, if no issue exists, describe the change:
Problem:
Multimodal ADK agents performing spatial and physical verification workflows (such as disputed proof-of-delivery audits, insurance claim triage, field-service inspections, and merchant storefront checks) face two recurring gaps:
SINGLE_FAMILYhomes (tight porch/driveway boundaries) fromMULTI_UNITcomplexes (distributed drop-off locations across lobbies, mailrooms, and parcel lockers) or detecting omitted apartment/suite numbers.Solution:
Adds a self-contained Google Street View and Maps Platform integration under
src/google/adk/integrations/street_view/(requiring zero new core dependencies inpyproject.toml):StreetViewToolset(BaseToolset) & standalone ADK tools:street_view_fallback_tool: Runs a 2-step Street View Static API pre-flight check (metadataendpoint withsource="outdoor"first to avoid billing quota or downloading 404 placeholder tiles), computes forward compass bearing (heading) from the camera vehicle's GPS coordinates toward the target property, savesstreet_view_baseline.jpgas an ADK session artifact, and writes JSON-serializable metadata totool_context.state.property_classification_tool: Standardizes addresses via the Google Address Validation API (X-Goog-Api-Keyheader), classifiesSINGLE_FAMILYvs.MULTI_UNIT, flags omitted sub-units (missingComponentTypes), and falls back gracefully to deterministic regex parsing on transient failures or unconfigured environments.reverse_geocode_tool: Resolves raw GPS telemetry into physical street context with bounded LRU caching partitioned by a non-reversible key fingerprint.GoogleMapsConfig: Resolves credentials from explicitapi_key,MAPS_API_KEY, or lazy-imported Google Cloud Secret Manager (MAPS_API_KEY_SECRET_RESOURCEviagoogle-adk[gcp]), with mTLS support via_mtls_utilsand automatic API key redaction in diagnostic strings.audit_photo_with_fallback: Two-stage Gemini Vision helper for synthesizing stable architectural baselines and scoring target imagery.README.mdand Developer Unit Guide atdocs/guides/integrations/street_view/index.md(indexed indocs/guides/README.md).Testing Plan
Unit Tests:
Manual End-to-End (E2E) Tests:
Enable Street View Static API, Address Validation API, and Geocoding API in a Google Cloud project, set
MAPS_API_KEYandGOOGLE_API_KEY, and run:Verify that
property_classification_toolflagsMULTI_UNITwithis_missing_subunit=True,reverse_geocode_toolpopulatesstate["reverse_geocoded_address"], andstreet_view_fallback_toolsavesstreet_view_baseline.jpgas a session artifact with a valid Google Maps panorama deep link and computedheading.Checklist