googlemaps-kit 0.4.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +228 -27
- package/dist/advanced/http.d.ts +4 -4
- package/dist/advanced/http.d.ts.map +1 -1
- package/dist/advanced/http.js +4 -4
- package/dist/advanced/http.js.map +1 -1
- package/dist/advanced/parsers.d.ts +9 -4
- package/dist/advanced/parsers.d.ts.map +1 -1
- package/dist/advanced/parsers.js +6 -3
- package/dist/advanced/parsers.js.map +1 -1
- package/dist/advanced/rpc.d.ts +12 -12
- package/dist/advanced/rpc.d.ts.map +1 -1
- package/dist/advanced/rpc.js +10 -10
- package/dist/advanced/rpc.js.map +1 -1
- package/dist/advanced/services.d.ts +18 -7
- package/dist/advanced/services.d.ts.map +1 -1
- package/dist/advanced/services.js +18 -7
- package/dist/advanced/services.js.map +1 -1
- package/dist/advanced/utils.d.ts +3 -3
- package/dist/advanced/utils.d.ts.map +1 -1
- package/dist/advanced/utils.js +3 -3
- package/dist/advanced/utils.js.map +1 -1
- package/dist/advanced.d.ts +47 -10
- package/dist/advanced.d.ts.map +1 -1
- package/dist/advanced.js +13 -6
- package/dist/advanced.js.map +1 -1
- package/dist/auth/auth-status.js +2 -2
- package/dist/auth/auth-status.js.map +1 -1
- package/dist/auth/maps-tokens.js +1 -1
- package/dist/auth/session.d.ts.map +1 -1
- package/dist/auth/session.js +17 -2
- package/dist/auth/session.js.map +1 -1
- package/dist/cli/args.d.ts +1 -0
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +24 -0
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/format.d.ts.map +1 -1
- package/dist/cli/format.js +18 -27
- package/dist/cli/format.js.map +1 -1
- package/dist/cli/output.d.ts +19 -0
- package/dist/cli/output.d.ts.map +1 -0
- package/dist/cli/output.js +82 -0
- package/dist/cli/output.js.map +1 -0
- package/dist/cli/run.d.ts +55 -3
- package/dist/cli/run.d.ts.map +1 -1
- package/dist/cli/run.js +239 -18
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/tui/app.d.ts +7 -2
- package/dist/cli/tui/app.d.ts.map +1 -1
- package/dist/cli/tui/app.js +116 -31
- package/dist/cli/tui/app.js.map +1 -1
- package/dist/cli/tui/styles.d.ts.map +1 -1
- package/dist/cli/tui/styles.js +13 -10
- package/dist/cli/tui/styles.js.map +1 -1
- package/dist/cli.d.ts +1 -10
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +122 -36
- package/dist/cli.js.map +1 -1
- package/dist/client/gmaps-client.d.ts +14 -31
- package/dist/client/gmaps-client.d.ts.map +1 -1
- package/dist/client/gmaps-client.js +52 -130
- package/dist/client/gmaps-client.js.map +1 -1
- package/dist/client/http-client.d.ts.map +1 -1
- package/dist/client/http-client.js +11 -9
- package/dist/client/http-client.js.map +1 -1
- package/dist/client/intent.d.ts +2 -12
- package/dist/client/intent.d.ts.map +1 -1
- package/dist/client/intent.js +39 -18
- package/dist/client/intent.js.map +1 -1
- package/dist/client/maps-tools.d.ts +19 -3
- package/dist/client/maps-tools.d.ts.map +1 -1
- package/dist/client/maps-tools.js +57 -4
- package/dist/client/maps-tools.js.map +1 -1
- package/dist/client/namespaces.d.ts +125 -16
- package/dist/client/namespaces.d.ts.map +1 -1
- package/dist/client/namespaces.js +189 -23
- package/dist/client/namespaces.js.map +1 -1
- package/dist/client/place-enrichment.js +1 -1
- package/dist/client/place-enrichment.js.map +1 -1
- package/dist/client/place-workflows.d.ts +7 -0
- package/dist/client/place-workflows.d.ts.map +1 -0
- package/dist/client/place-workflows.js +113 -0
- package/dist/client/place-workflows.js.map +1 -0
- package/dist/index.d.ts +54 -19
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -4
- package/dist/index.js.map +1 -1
- package/dist/known-surfaces.d.ts +173 -5
- package/dist/known-surfaces.d.ts.map +1 -1
- package/dist/known-surfaces.js +173 -5
- package/dist/known-surfaces.js.map +1 -1
- package/dist/parsers/batch-url.d.ts +10 -1
- package/dist/parsers/batch-url.d.ts.map +1 -1
- package/dist/parsers/batch-url.js +30 -2
- package/dist/parsers/batch-url.js.map +1 -1
- package/dist/parsers/boq-reviews.d.ts +8 -1
- package/dist/parsers/boq-reviews.d.ts.map +1 -1
- package/dist/parsers/boq-reviews.js +50 -8
- package/dist/parsers/boq-reviews.js.map +1 -1
- package/dist/parsers/categories.d.ts.map +1 -1
- package/dist/parsers/categories.js +13 -10
- package/dist/parsers/categories.js.map +1 -1
- package/dist/parsers/directions.d.ts +18 -2
- package/dist/parsers/directions.d.ts.map +1 -1
- package/dist/parsers/directions.js +232 -18
- package/dist/parsers/directions.js.map +1 -1
- package/dist/parsers/geocode.d.ts +20 -2
- package/dist/parsers/geocode.d.ts.map +1 -1
- package/dist/parsers/geocode.js +139 -6
- package/dist/parsers/geocode.js.map +1 -1
- package/dist/parsers/knowledge.js +1 -1
- package/dist/parsers/knowledge.js.map +1 -1
- package/dist/parsers/lists.d.ts.map +1 -1
- package/dist/parsers/lists.js +29 -12
- package/dist/parsers/lists.js.map +1 -1
- package/dist/parsers/local-posts.d.ts.map +1 -1
- package/dist/parsers/local-posts.js +97 -12
- package/dist/parsers/local-posts.js.map +1 -1
- package/dist/parsers/mobility.d.ts +42 -0
- package/dist/parsers/mobility.d.ts.map +1 -0
- package/dist/parsers/mobility.js +130 -0
- package/dist/parsers/mobility.js.map +1 -0
- package/dist/parsers/panorama.d.ts +0 -1
- package/dist/parsers/panorama.d.ts.map +1 -1
- package/dist/parsers/panorama.js +117 -14
- package/dist/parsers/panorama.js.map +1 -1
- package/dist/parsers/photos.d.ts.map +1 -1
- package/dist/parsers/photos.js +15 -8
- package/dist/parsers/photos.js.map +1 -1
- package/dist/parsers/place-attributes.d.ts +12 -3
- package/dist/parsers/place-attributes.d.ts.map +1 -1
- package/dist/parsers/place-attributes.js +48 -2
- package/dist/parsers/place-attributes.js.map +1 -1
- package/dist/parsers/place-extended.d.ts +163 -0
- package/dist/parsers/place-extended.d.ts.map +1 -0
- package/dist/parsers/place-extended.js +741 -0
- package/dist/parsers/place-extended.js.map +1 -0
- package/dist/parsers/place.d.ts +15 -1
- package/dist/parsers/place.d.ts.map +1 -1
- package/dist/parsers/place.js +16 -5
- package/dist/parsers/place.js.map +1 -1
- package/dist/parsers/popular-times.d.ts +35 -0
- package/dist/parsers/popular-times.d.ts.map +1 -0
- package/dist/parsers/popular-times.js +149 -0
- package/dist/parsers/popular-times.js.map +1 -0
- package/dist/parsers/reveal.d.ts +1 -1
- package/dist/parsers/reveal.d.ts.map +1 -1
- package/dist/parsers/reveal.js +3 -2
- package/dist/parsers/reveal.js.map +1 -1
- package/dist/parsers/reviews.d.ts +24 -2
- package/dist/parsers/reviews.d.ts.map +1 -1
- package/dist/parsers/reviews.js +110 -1
- package/dist/parsers/reviews.js.map +1 -1
- package/dist/parsers/search.d.ts +17 -2
- package/dist/parsers/search.d.ts.map +1 -1
- package/dist/parsers/search.js +125 -7
- package/dist/parsers/search.js.map +1 -1
- package/dist/parsers/shared.d.ts +4 -0
- package/dist/parsers/shared.d.ts.map +1 -1
- package/dist/parsers/shared.js +10 -2
- package/dist/parsers/shared.js.map +1 -1
- package/dist/parsers/suggest.d.ts.map +1 -1
- package/dist/parsers/suggest.js +45 -6
- package/dist/parsers/suggest.js.map +1 -1
- package/dist/parsers/tiles.d.ts +13 -0
- package/dist/parsers/tiles.d.ts.map +1 -1
- package/dist/parsers/tiles.js +64 -0
- package/dist/parsers/tiles.js.map +1 -1
- package/dist/parsers/traffic.d.ts +9 -1
- package/dist/parsers/traffic.d.ts.map +1 -1
- package/dist/parsers/traffic.js +129 -2
- package/dist/parsers/traffic.js.map +1 -1
- package/dist/parsers/transit.d.ts +4 -2
- package/dist/parsers/transit.d.ts.map +1 -1
- package/dist/parsers/transit.js +385 -3
- package/dist/parsers/transit.js.map +1 -1
- package/dist/parsers/viewport.d.ts +20 -0
- package/dist/parsers/viewport.d.ts.map +1 -0
- package/dist/parsers/viewport.js +139 -0
- package/dist/parsers/viewport.js.map +1 -0
- package/dist/platform/catalog.d.ts +18 -0
- package/dist/platform/catalog.d.ts.map +1 -0
- package/dist/platform/catalog.js +329 -0
- package/dist/platform/catalog.js.map +1 -0
- package/dist/platform/parity.d.ts +12 -0
- package/dist/platform/parity.d.ts.map +1 -0
- package/dist/platform/parity.js +25 -0
- package/dist/platform/parity.js.map +1 -0
- package/dist/rpc/batch-execute.js +3 -3
- package/dist/rpc/batch-execute.js.map +1 -1
- package/dist/rpc/batch-request-builders.d.ts +12 -14
- package/dist/rpc/batch-request-builders.d.ts.map +1 -1
- package/dist/rpc/batch-request-builders.js +49 -17
- package/dist/rpc/batch-request-builders.js.map +1 -1
- package/dist/rpc/batch-rpc.js +1 -1
- package/dist/rpc/batch-services.d.ts +2 -0
- package/dist/rpc/batch-services.d.ts.map +1 -1
- package/dist/rpc/batch-services.js +4 -0
- package/dist/rpc/batch-services.js.map +1 -1
- package/dist/rpc/{descriptor-registry.d.ts → descriptors.d.ts} +29 -4
- package/dist/rpc/descriptors.d.ts.map +1 -0
- package/dist/rpc/{app-options.js → descriptors.js} +89 -5
- package/dist/rpc/descriptors.js.map +1 -0
- package/dist/rpc/earth-rocktree.d.ts +174 -0
- package/dist/rpc/earth-rocktree.d.ts.map +1 -0
- package/dist/rpc/earth-rocktree.js +468 -0
- package/dist/rpc/earth-rocktree.js.map +1 -0
- package/dist/rpc/feature-pb.d.ts +86 -0
- package/dist/rpc/feature-pb.d.ts.map +1 -0
- package/dist/rpc/feature-pb.js +112 -0
- package/dist/rpc/feature-pb.js.map +1 -0
- package/dist/rpc/feature-rpc.d.ts +15 -0
- package/dist/rpc/feature-rpc.d.ts.map +1 -1
- package/dist/rpc/feature-rpc.js +44 -0
- package/dist/rpc/feature-rpc.js.map +1 -1
- package/dist/rpc/maps-runtime.js +1 -1
- package/dist/rpc/panorama-pb.d.ts +3 -0
- package/dist/rpc/panorama-pb.d.ts.map +1 -1
- package/dist/rpc/panorama-pb.js +35 -3
- package/dist/rpc/panorama-pb.js.map +1 -1
- package/dist/rpc/pb-builders.d.ts +21 -1
- package/dist/rpc/pb-builders.d.ts.map +1 -1
- package/dist/rpc/pb-builders.js +62 -4
- package/dist/rpc/pb-builders.js.map +1 -1
- package/dist/rpc/photos-pb.d.ts +28 -1
- package/dist/rpc/photos-pb.d.ts.map +1 -1
- package/dist/rpc/photos-pb.js +96 -0
- package/dist/rpc/photos-pb.js.map +1 -1
- package/dist/rpc/rpc-methods.d.ts +0 -2
- package/dist/rpc/rpc-methods.d.ts.map +1 -1
- package/dist/rpc/rpc-methods.js +0 -38
- package/dist/rpc/rpc-methods.js.map +1 -1
- package/dist/rpc/search-filters.d.ts +0 -12
- package/dist/rpc/search-filters.d.ts.map +1 -1
- package/dist/rpc/search-filters.js +1 -11
- package/dist/rpc/search-filters.js.map +1 -1
- package/dist/rpc/tile-builders.d.ts +136 -0
- package/dist/rpc/tile-builders.d.ts.map +1 -0
- package/dist/rpc/tile-builders.js +172 -0
- package/dist/rpc/tile-builders.js.map +1 -0
- package/dist/rpc/xsrf-bootstrap.d.ts +0 -2
- package/dist/rpc/xsrf-bootstrap.d.ts.map +1 -1
- package/dist/rpc/xsrf-bootstrap.js +2 -2
- package/dist/rpc/xsrf-bootstrap.js.map +1 -1
- package/dist/services/aerial-view.d.ts +22 -0
- package/dist/services/aerial-view.d.ts.map +1 -0
- package/dist/services/aerial-view.js +107 -0
- package/dist/services/aerial-view.js.map +1 -0
- package/dist/services/ask-maps.d.ts +45 -5
- package/dist/services/ask-maps.d.ts.map +1 -1
- package/dist/services/ask-maps.js +148 -21
- package/dist/services/ask-maps.js.map +1 -1
- package/dist/services/directions.d.ts +17 -1
- package/dist/services/directions.d.ts.map +1 -1
- package/dist/services/directions.js +32 -0
- package/dist/services/directions.js.map +1 -1
- package/dist/services/distance-matrix.d.ts +1 -1
- package/dist/services/distance-matrix.d.ts.map +1 -1
- package/dist/services/distance-matrix.js +1 -1
- package/dist/services/distance-matrix.js.map +1 -1
- package/dist/services/elevation.d.ts +7 -5
- package/dist/services/elevation.d.ts.map +1 -1
- package/dist/services/elevation.js +42 -6
- package/dist/services/elevation.js.map +1 -1
- package/dist/services/environment/air-quality.d.ts +39 -0
- package/dist/services/environment/air-quality.d.ts.map +1 -0
- package/dist/services/environment/air-quality.js +86 -0
- package/dist/services/environment/air-quality.js.map +1 -0
- package/dist/services/environment/weather.d.ts +39 -0
- package/dist/services/environment/weather.d.ts.map +1 -0
- package/dist/services/environment/weather.js +54 -0
- package/dist/services/environment/weather.js.map +1 -0
- package/dist/services/geocode.d.ts +21 -1
- package/dist/services/geocode.d.ts.map +1 -1
- package/dist/services/geocode.js +103 -0
- package/dist/services/geocode.js.map +1 -1
- package/dist/services/keyed.d.ts +80 -0
- package/dist/services/keyed.d.ts.map +1 -0
- package/dist/services/keyed.js +152 -0
- package/dist/services/keyed.js.map +1 -0
- package/dist/services/knowledge.d.ts +6 -2
- package/dist/services/knowledge.d.ts.map +1 -1
- package/dist/services/knowledge.js +30 -5
- package/dist/services/knowledge.js.map +1 -1
- package/dist/services/lists.d.ts +7 -1
- package/dist/services/lists.d.ts.map +1 -1
- package/dist/services/lists.js +45 -1
- package/dist/services/lists.js.map +1 -1
- package/dist/services/map-3d.d.ts +66 -0
- package/dist/services/map-3d.d.ts.map +1 -0
- package/dist/services/map-3d.js +658 -0
- package/dist/services/map-3d.js.map +1 -0
- package/dist/services/map-layers.d.ts +33 -0
- package/dist/services/map-layers.d.ts.map +1 -0
- package/dist/services/map-layers.js +207 -0
- package/dist/services/map-layers.js.map +1 -0
- package/dist/services/meta.d.ts +71 -0
- package/dist/services/meta.d.ts.map +1 -0
- package/dist/services/meta.js +132 -0
- package/dist/services/meta.js.map +1 -0
- package/dist/services/mobility.d.ts +79 -0
- package/dist/services/mobility.d.ts.map +1 -0
- package/dist/services/mobility.js +307 -0
- package/dist/services/mobility.js.map +1 -0
- package/dist/services/nearby-search.d.ts +32 -0
- package/dist/services/nearby-search.d.ts.map +1 -0
- package/dist/services/nearby-search.js +85 -0
- package/dist/services/nearby-search.js.map +1 -0
- package/dist/services/panorama.d.ts +19 -1
- package/dist/services/panorama.d.ts.map +1 -1
- package/dist/services/panorama.js +111 -3
- package/dist/services/panorama.js.map +1 -1
- package/dist/services/photos.d.ts.map +1 -1
- package/dist/services/photos.js +12 -6
- package/dist/services/photos.js.map +1 -1
- package/dist/services/place-attributes.d.ts +31 -0
- package/dist/services/place-attributes.d.ts.map +1 -0
- package/dist/services/place-attributes.js +48 -0
- package/dist/services/place-attributes.js.map +1 -0
- package/dist/services/places.d.ts +13 -0
- package/dist/services/places.d.ts.map +1 -1
- package/dist/services/places.js +7 -4
- package/dist/services/places.js.map +1 -1
- package/dist/services/reviews.d.ts +11 -1
- package/dist/services/reviews.d.ts.map +1 -1
- package/dist/services/reviews.js +36 -12
- package/dist/services/reviews.js.map +1 -1
- package/dist/services/search-along-route.d.ts +33 -0
- package/dist/services/search-along-route.d.ts.map +1 -0
- package/dist/services/search-along-route.js +200 -0
- package/dist/services/search-along-route.js.map +1 -0
- package/dist/services/search.d.ts +29 -2
- package/dist/services/search.d.ts.map +1 -1
- package/dist/services/search.js +169 -6
- package/dist/services/search.js.map +1 -1
- package/dist/services/static-map.js +1 -1
- package/dist/services/static-map.js.map +1 -1
- package/dist/services/tiles.d.ts +39 -2
- package/dist/services/tiles.d.ts.map +1 -1
- package/dist/services/tiles.js +172 -13
- package/dist/services/tiles.js.map +1 -1
- package/dist/services/traffic.d.ts +12 -1
- package/dist/services/traffic.d.ts.map +1 -1
- package/dist/services/traffic.js +25 -2
- package/dist/services/traffic.js.map +1 -1
- package/dist/services/transit.d.ts +20 -3
- package/dist/services/transit.d.ts.map +1 -1
- package/dist/services/transit.js +69 -1
- package/dist/services/transit.js.map +1 -1
- package/dist/services/viewport.d.ts +76 -0
- package/dist/services/viewport.d.ts.map +1 -0
- package/dist/services/viewport.js +180 -0
- package/dist/services/viewport.js.map +1 -0
- package/dist/services/waypoint-optimizer.d.ts +31 -0
- package/dist/services/waypoint-optimizer.d.ts.map +1 -0
- package/dist/services/waypoint-optimizer.js +235 -0
- package/dist/services/waypoint-optimizer.js.map +1 -0
- package/dist/types/aerial-view.d.ts +39 -0
- package/dist/types/aerial-view.d.ts.map +1 -0
- package/dist/types/aerial-view.js +2 -0
- package/dist/types/aerial-view.js.map +1 -0
- package/dist/types/batch-url.d.ts +31 -0
- package/dist/types/batch-url.d.ts.map +1 -1
- package/dist/types/categories.d.ts +20 -4
- package/dist/types/categories.d.ts.map +1 -1
- package/dist/types/common.d.ts +192 -24
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/common.js +1 -1
- package/dist/types/common.js.map +1 -1
- package/dist/types/directions.d.ts +217 -3
- package/dist/types/directions.d.ts.map +1 -1
- package/dist/types/dx.d.ts +69 -11
- package/dist/types/dx.d.ts.map +1 -1
- package/dist/types/geocode.d.ts +61 -3
- package/dist/types/geocode.d.ts.map +1 -1
- package/dist/types/grid-search.d.ts +66 -0
- package/dist/types/grid-search.d.ts.map +1 -0
- package/dist/types/grid-search.js +2 -0
- package/dist/types/grid-search.js.map +1 -0
- package/dist/types/hooks.d.ts +3 -3
- package/dist/types/hooks.d.ts.map +1 -1
- package/dist/types/links.d.ts +3 -6
- package/dist/types/links.d.ts.map +1 -1
- package/dist/types/lists.d.ts +68 -3
- package/dist/types/lists.d.ts.map +1 -1
- package/dist/types/map-3d.d.ts +126 -0
- package/dist/types/map-3d.d.ts.map +1 -0
- package/dist/types/map-3d.js +2 -0
- package/dist/types/map-3d.js.map +1 -0
- package/dist/types/map-earth.d.ts +34 -0
- package/dist/types/map-earth.d.ts.map +1 -0
- package/dist/types/map-earth.js +2 -0
- package/dist/types/map-earth.js.map +1 -0
- package/dist/types/map-layers.d.ts +63 -0
- package/dist/types/map-layers.d.ts.map +1 -0
- package/dist/types/map-layers.js +2 -0
- package/dist/types/map-layers.js.map +1 -0
- package/dist/types/mobility.d.ts +121 -0
- package/dist/types/mobility.d.ts.map +1 -0
- package/dist/types/mobility.js +3 -0
- package/dist/types/mobility.js.map +1 -0
- package/dist/types/panorama.d.ts +123 -0
- package/dist/types/panorama.d.ts.map +1 -1
- package/dist/types/photos.d.ts +12 -0
- package/dist/types/photos.d.ts.map +1 -1
- package/dist/types/photos.js +2 -1
- package/dist/types/photos.js.map +1 -1
- package/dist/types/place-attributes.d.ts +15 -0
- package/dist/types/place-attributes.d.ts.map +1 -0
- package/dist/types/place-attributes.js +2 -0
- package/dist/types/place-attributes.js.map +1 -0
- package/dist/types/place-extended.d.ts +406 -0
- package/dist/types/place-extended.d.ts.map +1 -0
- package/dist/types/place-extended.js +18 -0
- package/dist/types/place-extended.js.map +1 -0
- package/dist/types/protobuf.d.ts +1 -1
- package/dist/types/protobuf.js +1 -1
- package/dist/types/reviews.d.ts +28 -1
- package/dist/types/reviews.d.ts.map +1 -1
- package/dist/types/reviews.js.map +1 -1
- package/dist/types/route-optimization.d.ts +56 -0
- package/dist/types/route-optimization.d.ts.map +1 -0
- package/dist/types/route-optimization.js +2 -0
- package/dist/types/route-optimization.js.map +1 -0
- package/dist/types/search-along-route.d.ts +49 -0
- package/dist/types/search-along-route.d.ts.map +1 -0
- package/dist/types/search-along-route.js +2 -0
- package/dist/types/search-along-route.js.map +1 -0
- package/dist/types/search-filters.d.ts +1 -1
- package/dist/types/search-filters.js +1 -1
- package/dist/types/suggest.d.ts +23 -2
- package/dist/types/suggest.d.ts.map +1 -1
- package/dist/types/tiles.d.ts +40 -0
- package/dist/types/tiles.d.ts.map +1 -1
- package/dist/types/traffic.d.ts +58 -1
- package/dist/types/traffic.d.ts.map +1 -1
- package/dist/types/transit.d.ts +160 -1
- package/dist/types/transit.d.ts.map +1 -1
- package/dist/types/transit.js +0 -1
- package/dist/types/transit.js.map +1 -1
- package/dist/types/viewport.d.ts +159 -0
- package/dist/types/viewport.d.ts.map +1 -0
- package/dist/types/viewport.js +3 -0
- package/dist/types/viewport.js.map +1 -0
- package/dist/utils/async.d.ts +44 -0
- package/dist/utils/async.d.ts.map +1 -0
- package/dist/utils/async.js +132 -0
- package/dist/utils/async.js.map +1 -0
- package/dist/utils/encoded-polyline.d.ts +43 -0
- package/dist/utils/encoded-polyline.d.ts.map +1 -1
- package/dist/utils/encoded-polyline.js +71 -0
- package/dist/utils/encoded-polyline.js.map +1 -1
- package/dist/utils/env.d.ts +6 -0
- package/dist/utils/env.d.ts.map +1 -0
- package/dist/utils/{load-env.js → env.js} +32 -7
- package/dist/utils/env.js.map +1 -0
- package/dist/utils/geo.d.ts +12 -0
- package/dist/utils/geo.d.ts.map +1 -1
- package/dist/utils/geo.js +20 -0
- package/dist/utils/geo.js.map +1 -1
- package/dist/utils/hooks.d.ts +2 -3
- package/dist/utils/hooks.d.ts.map +1 -1
- package/dist/utils/hooks.js +1 -1
- package/dist/utils/hooks.js.map +1 -1
- package/dist/utils/ids.d.ts +1 -0
- package/dist/utils/ids.d.ts.map +1 -1
- package/dist/utils/ids.js +10 -0
- package/dist/utils/ids.js.map +1 -1
- package/dist/utils/net.d.ts +46 -0
- package/dist/utils/net.d.ts.map +1 -0
- package/dist/utils/net.js +150 -0
- package/dist/utils/net.js.map +1 -0
- package/dist/utils/payload.d.ts +22 -0
- package/dist/utils/payload.d.ts.map +1 -0
- package/dist/utils/{chunked-decoder.js → payload.js} +80 -2
- package/dist/utils/payload.js.map +1 -0
- package/dist/utils/place-ref.d.ts +40 -3
- package/dist/utils/place-ref.d.ts.map +1 -1
- package/dist/utils/place-ref.js +94 -2
- package/dist/utils/place-ref.js.map +1 -1
- package/package.json +8 -5
- package/dist/client/product-namespaces.d.ts +0 -30
- package/dist/client/product-namespaces.d.ts.map +0 -1
- package/dist/client/product-namespaces.js +0 -47
- package/dist/client/product-namespaces.js.map +0 -1
- package/dist/parsers/elevation-directions.d.ts +0 -18
- package/dist/parsers/elevation-directions.d.ts.map +0 -1
- package/dist/parsers/elevation-directions.js +0 -102
- package/dist/parsers/elevation-directions.js.map +0 -1
- package/dist/parsers/passiveassist.d.ts +0 -10
- package/dist/parsers/passiveassist.d.ts.map +0 -1
- package/dist/parsers/passiveassist.js +0 -61
- package/dist/parsers/passiveassist.js.map +0 -1
- package/dist/parsers/review-aggregates.d.ts +0 -7
- package/dist/parsers/review-aggregates.d.ts.map +0 -1
- package/dist/parsers/review-aggregates.js +0 -18
- package/dist/parsers/review-aggregates.js.map +0 -1
- package/dist/parsers/review-client-filters.d.ts +0 -8
- package/dist/parsers/review-client-filters.d.ts.map +0 -1
- package/dist/parsers/review-client-filters.js +0 -28
- package/dist/parsers/review-client-filters.js.map +0 -1
- package/dist/parsers/search-client-filters.d.ts +0 -7
- package/dist/parsers/search-client-filters.d.ts.map +0 -1
- package/dist/parsers/search-client-filters.js +0 -44
- package/dist/parsers/search-client-filters.js.map +0 -1
- package/dist/parsers/search-pagination.d.ts +0 -12
- package/dist/parsers/search-pagination.d.ts.map +0 -1
- package/dist/parsers/search-pagination.js +0 -34
- package/dist/parsers/search-pagination.js.map +0 -1
- package/dist/parsers/timezone-geocode.d.ts +0 -20
- package/dist/parsers/timezone-geocode.d.ts.map +0 -1
- package/dist/parsers/timezone-geocode.js +0 -96
- package/dist/parsers/timezone-geocode.js.map +0 -1
- package/dist/parsers/ugc-aggregates.d.ts +0 -9
- package/dist/parsers/ugc-aggregates.d.ts.map +0 -1
- package/dist/parsers/ugc-aggregates.js +0 -23
- package/dist/parsers/ugc-aggregates.js.map +0 -1
- package/dist/rpc/app-options.d.ts +0 -25
- package/dist/rpc/app-options.d.ts.map +0 -1
- package/dist/rpc/app-options.js.map +0 -1
- package/dist/rpc/batchexecute-args.d.ts +0 -30
- package/dist/rpc/batchexecute-args.d.ts.map +0 -1
- package/dist/rpc/batchexecute-args.js +0 -35
- package/dist/rpc/batchexecute-args.js.map +0 -1
- package/dist/rpc/boq-reviews.d.ts +0 -16
- package/dist/rpc/boq-reviews.d.ts.map +0 -1
- package/dist/rpc/boq-reviews.js +0 -45
- package/dist/rpc/boq-reviews.js.map +0 -1
- package/dist/rpc/descriptor-registry.d.ts.map +0 -1
- package/dist/rpc/descriptor-registry.js +0 -47
- package/dist/rpc/descriptor-registry.js.map +0 -1
- package/dist/rpc/lists-pb.d.ts +0 -20
- package/dist/rpc/lists-pb.d.ts.map +0 -1
- package/dist/rpc/lists-pb.js +0 -20
- package/dist/rpc/lists-pb.js.map +0 -1
- package/dist/rpc/nxa.d.ts +0 -13
- package/dist/rpc/nxa.d.ts.map +0 -1
- package/dist/rpc/nxa.js +0 -44
- package/dist/rpc/nxa.js.map +0 -1
- package/dist/rpc/passiveassist-pb.d.ts +0 -21
- package/dist/rpc/passiveassist-pb.d.ts.map +0 -1
- package/dist/rpc/passiveassist-pb.js +0 -24
- package/dist/rpc/passiveassist-pb.js.map +0 -1
- package/dist/rpc/photo-category-tokens.d.ts +0 -29
- package/dist/rpc/photo-category-tokens.d.ts.map +0 -1
- package/dist/rpc/photo-category-tokens.js +0 -97
- package/dist/rpc/photo-category-tokens.js.map +0 -1
- package/dist/rpc/reveal-pb.d.ts +0 -26
- package/dist/rpc/reveal-pb.d.ts.map +0 -1
- package/dist/rpc/reveal-pb.js +0 -32
- package/dist/rpc/reveal-pb.js.map +0 -1
- package/dist/rpc/suggest-pb.d.ts +0 -34
- package/dist/rpc/suggest-pb.d.ts.map +0 -1
- package/dist/rpc/suggest-pb.js +0 -42
- package/dist/rpc/suggest-pb.js.map +0 -1
- package/dist/rpc/tiles-pb.d.ts +0 -45
- package/dist/rpc/tiles-pb.d.ts.map +0 -1
- package/dist/rpc/tiles-pb.js +0 -71
- package/dist/rpc/tiles-pb.js.map +0 -1
- package/dist/services/batch-url.d.ts +0 -18
- package/dist/services/batch-url.d.ts.map +0 -1
- package/dist/services/batch-url.js +0 -30
- package/dist/services/batch-url.js.map +0 -1
- package/dist/services/categories.d.ts +0 -21
- package/dist/services/categories.d.ts.map +0 -1
- package/dist/services/categories.js +0 -43
- package/dist/services/categories.js.map +0 -1
- package/dist/services/passiveassist.d.ts +0 -21
- package/dist/services/passiveassist.d.ts.map +0 -1
- package/dist/services/passiveassist.js +0 -70
- package/dist/services/passiveassist.js.map +0 -1
- package/dist/services/reveal.d.ts +0 -15
- package/dist/services/reveal.d.ts.map +0 -1
- package/dist/services/reveal.js +0 -41
- package/dist/services/reveal.js.map +0 -1
- package/dist/services/suggest.d.ts +0 -12
- package/dist/services/suggest.d.ts.map +0 -1
- package/dist/services/suggest.js +0 -36
- package/dist/services/suggest.js.map +0 -1
- package/dist/services/timezone.d.ts +0 -19
- package/dist/services/timezone.d.ts.map +0 -1
- package/dist/services/timezone.js +0 -91
- package/dist/services/timezone.js.map +0 -1
- package/dist/services/ugc-aggregates.d.ts +0 -17
- package/dist/services/ugc-aggregates.d.ts.map +0 -1
- package/dist/services/ugc-aggregates.js +0 -30
- package/dist/services/ugc-aggregates.js.map +0 -1
- package/dist/types/distance-matrix.d.ts +0 -40
- package/dist/types/distance-matrix.d.ts.map +0 -1
- package/dist/types/distance-matrix.js +0 -2
- package/dist/types/distance-matrix.js.map +0 -1
- package/dist/types/elevation.d.ts +0 -59
- package/dist/types/elevation.d.ts.map +0 -1
- package/dist/types/elevation.js +0 -2
- package/dist/types/elevation.js.map +0 -1
- package/dist/types/passiveassist.d.ts +0 -50
- package/dist/types/passiveassist.d.ts.map +0 -1
- package/dist/types/passiveassist.js +0 -2
- package/dist/types/passiveassist.js.map +0 -1
- package/dist/types/reveal.d.ts +0 -46
- package/dist/types/reveal.d.ts.map +0 -1
- package/dist/types/reveal.js +0 -2
- package/dist/types/reveal.js.map +0 -1
- package/dist/types/timezone.d.ts +0 -36
- package/dist/types/timezone.d.ts.map +0 -1
- package/dist/types/timezone.js +0 -2
- package/dist/types/timezone.js.map +0 -1
- package/dist/types/ugc-aggregates.d.ts +0 -14
- package/dist/types/ugc-aggregates.d.ts.map +0 -1
- package/dist/types/ugc-aggregates.js +0 -2
- package/dist/types/ugc-aggregates.js.map +0 -1
- package/dist/utils/abort.d.ts +0 -7
- package/dist/utils/abort.d.ts.map +0 -1
- package/dist/utils/abort.js +0 -43
- package/dist/utils/abort.js.map +0 -1
- package/dist/utils/chunked-decoder.d.ts +0 -9
- package/dist/utils/chunked-decoder.d.ts.map +0 -1
- package/dist/utils/chunked-decoder.js.map +0 -1
- package/dist/utils/coords.d.ts +0 -24
- package/dist/utils/coords.d.ts.map +0 -1
- package/dist/utils/coords.js +0 -37
- package/dist/utils/coords.js.map +0 -1
- package/dist/utils/feature-id.d.ts +0 -2
- package/dist/utils/feature-id.d.ts.map +0 -1
- package/dist/utils/feature-id.js +0 -11
- package/dist/utils/feature-id.js.map +0 -1
- package/dist/utils/load-env.d.ts +0 -7
- package/dist/utils/load-env.d.ts.map +0 -1
- package/dist/utils/load-env.js.map +0 -1
- package/dist/utils/pooled.d.ts +0 -8
- package/dist/utils/pooled.d.ts.map +0 -1
- package/dist/utils/pooled.js +0 -27
- package/dist/utils/pooled.js.map +0 -1
- package/dist/utils/request-context.d.ts +0 -9
- package/dist/utils/request-context.d.ts.map +0 -1
- package/dist/utils/request-context.js +0 -12
- package/dist/utils/request-context.js.map +0 -1
- package/dist/utils/request-scheduler.d.ts +0 -28
- package/dist/utils/request-scheduler.d.ts.map +0 -1
- package/dist/utils/request-scheduler.js +0 -58
- package/dist/utils/request-scheduler.js.map +0 -1
- package/dist/utils/response-parser.d.ts +0 -7
- package/dist/utils/response-parser.d.ts.map +0 -1
- package/dist/utils/response-parser.js +0 -50
- package/dist/utils/response-parser.js.map +0 -1
- package/dist/utils/retry-backoff.d.ts +0 -5
- package/dist/utils/retry-backoff.d.ts.map +0 -1
- package/dist/utils/retry-backoff.js +0 -23
- package/dist/utils/retry-backoff.js.map +0 -1
- package/dist/utils/safe-get.d.ts +0 -6
- package/dist/utils/safe-get.d.ts.map +0 -1
- package/dist/utils/safe-get.js +0 -29
- package/dist/utils/safe-get.js.map +0 -1
- package/dist/utils/throttle-detection.d.ts +0 -17
- package/dist/utils/throttle-detection.d.ts.map +0 -1
- package/dist/utils/throttle-detection.js +0 -71
- package/dist/utils/throttle-detection.js.map +0 -1
- package/dist/utils/ttl-cache.d.ts +0 -17
- package/dist/utils/ttl-cache.d.ts.map +0 -1
- package/dist/utils/ttl-cache.js +0 -43
- package/dist/utils/ttl-cache.js.map +0 -1
- /package/{assets → .github/assets}/banner.png +0 -0
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Maps anonymous HTML often has empty SNlM0e — xsrf is the first batchexecute call
|
|
5
5
|
* the browser makes to obtain a session token when one is returned.
|
|
6
6
|
*/
|
|
7
|
-
import { parseChunkedResponse } from '../utils/
|
|
7
|
+
import { parseChunkedResponse } from '../utils/payload.js';
|
|
8
8
|
import { RPC_INFRA } from './rpc-methods.js';
|
|
9
9
|
import { GMapsError } from '../types/common.js';
|
|
10
10
|
function extractTokenFromXsrfData(data) {
|
|
@@ -34,7 +34,7 @@ function extractTokenFromXsrfData(data) {
|
|
|
34
34
|
return undefined;
|
|
35
35
|
}
|
|
36
36
|
/** Parse xsrf batchexecute response body (even when HTTP status is 400). */
|
|
37
|
-
|
|
37
|
+
function parseXsrfResponse(body) {
|
|
38
38
|
const trimmed = body.trim();
|
|
39
39
|
if (trimmed.includes('["er"')) {
|
|
40
40
|
throw new GMapsError('xsrf batchexecute returned application error frame');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xsrf-bootstrap.js","sourceRoot":"","sources":["../../src/rpc/xsrf-bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"xsrf-bootstrap.js","sourceRoot":"","sources":["../../src/rpc/xsrf-bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAQhD,SAAS,wBAAwB,CAAC,IAAa;IAC7C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;YAC3C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,MAAM,CAAC;YACnE,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;oBAAE,OAAO,KAAK,CAAC;YAClE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,IAAI,CAAC;QACnC,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACxB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5E,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,4EAA4E;AAC5E,SAAS,iBAAiB,CAAC,IAAY;IACrC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,UAAU,CAAC,oDAAoD,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;IAC5E,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QAChB,MAAM,IAAI,UAAU,CAAC,yCAAyC,CAAC,CAAC;IAClE,CAAC;IAED,OAAO;QACL,SAAS,EAAE,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;QAC9C,GAAG,EAAE,IAAI,CAAC,IAAI;KACf,CAAC;AACJ,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,4BAA4B,CAAC,OAM5C;IACC,OAAO;QACL,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,IAAI;QACtB,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,IAAI;QACtB,EAAE,EAAE,GAAG;QACP,aAAa,EAAE,OAAO,CAAC,UAAU,IAAI,OAAO;QAC5C,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7D,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { HttpClient } from '../client/http-client.js';
|
|
2
|
+
import type { GMapsConfig } from '../types/common.js';
|
|
3
|
+
import type { AerialViewLookupOptions, AerialViewLookupResult, AerialViewRenderOptions } from '../types/aerial-view.js';
|
|
4
|
+
export declare class AerialViewService {
|
|
5
|
+
private http;
|
|
6
|
+
private defaultApiKey?;
|
|
7
|
+
constructor(http: HttpClient, config?: GMapsConfig);
|
|
8
|
+
/** Check whether a cinematic aerial video exists for an address (requires apiKey). */
|
|
9
|
+
lookupMetadata(options: AerialViewLookupOptions): Promise<AerialViewLookupResult>;
|
|
10
|
+
/**
|
|
11
|
+
* Fetch short-lived video URIs for an address or stored video id.
|
|
12
|
+
* Call on every display — URIs expire quickly.
|
|
13
|
+
*/
|
|
14
|
+
lookupVideo(options: AerialViewLookupOptions): Promise<AerialViewLookupResult>;
|
|
15
|
+
/** Request rendering when lookup returns 404 / not found. */
|
|
16
|
+
renderVideo(options: AerialViewRenderOptions): Promise<AerialViewLookupResult>;
|
|
17
|
+
private call;
|
|
18
|
+
private resolveApiKey;
|
|
19
|
+
private parsePayload;
|
|
20
|
+
private errorResult;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=aerial-view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aerial-view.d.ts","sourceRoot":"","sources":["../../src/services/aerial-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EACV,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,yBAAyB,CAAC;AAIjC,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,aAAa,CAAC,CAAS;gBAEnB,IAAI,EAAE,UAAU,EAAE,MAAM,GAAE,WAAgB;IAMtD,sFAAsF;IAChF,cAAc,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAIvF;;;OAGG;IACG,WAAW,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAIpF,6DAA6D;IACvD,WAAW,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC;YAmBtE,IAAI;IA2BlB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,YAAY;IAgCpB,OAAO,CAAC,WAAW;CAUpB"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { GMapsError } from '../types/common.js';
|
|
2
|
+
const AERIAL_VIEW_BASE = 'https://aerialview.googleapis.com/v1';
|
|
3
|
+
export class AerialViewService {
|
|
4
|
+
http;
|
|
5
|
+
defaultApiKey;
|
|
6
|
+
constructor(http, config = {}) {
|
|
7
|
+
this.http = http;
|
|
8
|
+
this.defaultApiKey =
|
|
9
|
+
config.aerialViewApiKey ?? process.env.GMAPS_AERIAL_VIEW_API_KEY;
|
|
10
|
+
}
|
|
11
|
+
/** Check whether a cinematic aerial video exists for an address (requires apiKey). */
|
|
12
|
+
async lookupMetadata(options) {
|
|
13
|
+
return this.call('videos:lookupVideoMetadata', options);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Fetch short-lived video URIs for an address or stored video id.
|
|
17
|
+
* Call on every display — URIs expire quickly.
|
|
18
|
+
*/
|
|
19
|
+
async lookupVideo(options) {
|
|
20
|
+
return this.call('videos:lookupVideo', options);
|
|
21
|
+
}
|
|
22
|
+
/** Request rendering when lookup returns 404 / not found. */
|
|
23
|
+
async renderVideo(options) {
|
|
24
|
+
const apiKey = this.resolveApiKey(options.apiKey);
|
|
25
|
+
const params = new URLSearchParams();
|
|
26
|
+
params.set('address', options.address);
|
|
27
|
+
const url = `${AERIAL_VIEW_BASE}/videos:renderVideo?${params.toString()}`;
|
|
28
|
+
try {
|
|
29
|
+
const body = await this.http.get(url, {
|
|
30
|
+
extraHeaders: { 'X-Goog-Api-Key': apiKey },
|
|
31
|
+
raw: true,
|
|
32
|
+
noRetry: true,
|
|
33
|
+
referer: 'https://mapsplatform.google.com/',
|
|
34
|
+
});
|
|
35
|
+
return this.parsePayload(JSON.parse(body));
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
return this.errorResult(error);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
async call(method, options) {
|
|
42
|
+
const apiKey = this.resolveApiKey(options.apiKey);
|
|
43
|
+
if (!options.address && !options.videoId) {
|
|
44
|
+
throw new GMapsError('Aerial View lookup requires address or videoId');
|
|
45
|
+
}
|
|
46
|
+
const params = new URLSearchParams();
|
|
47
|
+
if (options.address)
|
|
48
|
+
params.set('address', options.address);
|
|
49
|
+
if (options.videoId)
|
|
50
|
+
params.set('videoId', options.videoId);
|
|
51
|
+
const url = `${AERIAL_VIEW_BASE}/${method}?${params.toString()}`;
|
|
52
|
+
try {
|
|
53
|
+
const body = await this.http.get(url, {
|
|
54
|
+
extraHeaders: { 'X-Goog-Api-Key': apiKey },
|
|
55
|
+
raw: true,
|
|
56
|
+
noRetry: true,
|
|
57
|
+
referer: 'https://mapsplatform.google.com/',
|
|
58
|
+
});
|
|
59
|
+
return this.parsePayload(JSON.parse(body));
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
return this.errorResult(error);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
resolveApiKey(override) {
|
|
66
|
+
const key = override ?? this.defaultApiKey;
|
|
67
|
+
if (!key) {
|
|
68
|
+
throw new GMapsError('Aerial View requires apiKey (options.apiKey, config.aerialViewApiKey, or GMAPS_AERIAL_VIEW_API_KEY).');
|
|
69
|
+
}
|
|
70
|
+
return key;
|
|
71
|
+
}
|
|
72
|
+
parsePayload(data) {
|
|
73
|
+
if (!data || typeof data !== 'object') {
|
|
74
|
+
return { state: 'PROCESSING', error: 'Empty aerial view response' };
|
|
75
|
+
}
|
|
76
|
+
const record = data;
|
|
77
|
+
if (record.error && typeof record.error === 'object') {
|
|
78
|
+
const err = record.error;
|
|
79
|
+
return {
|
|
80
|
+
state: 'PROCESSING',
|
|
81
|
+
error: String(err.message ?? 'Aerial view request failed'),
|
|
82
|
+
statusCode: typeof err.code === 'number' ? err.code : undefined,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
const state = record.state === 'ACTIVE' || record.state === 'PROCESSING'
|
|
86
|
+
? record.state
|
|
87
|
+
: 'PROCESSING';
|
|
88
|
+
const metadata = record.metadata && typeof record.metadata === 'object'
|
|
89
|
+
? record.metadata
|
|
90
|
+
: undefined;
|
|
91
|
+
const uris = record.uris && typeof record.uris === 'object'
|
|
92
|
+
? record.uris
|
|
93
|
+
: undefined;
|
|
94
|
+
return { state, metadata, uris };
|
|
95
|
+
}
|
|
96
|
+
errorResult(error) {
|
|
97
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
98
|
+
const statusMatch = /HTTP (\d+)/.exec(message);
|
|
99
|
+
const statusCode = statusMatch ? Number(statusMatch[1]) : undefined;
|
|
100
|
+
return {
|
|
101
|
+
state: 'PROCESSING',
|
|
102
|
+
error: message,
|
|
103
|
+
statusCode,
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=aerial-view.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aerial-view.js","sourceRoot":"","sources":["../../src/services/aerial-view.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,14 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import { HttpClient } from '../client/http-client.js';
|
|
18
18
|
import { type Coordinates, type GMapsConfig } from '../types/common.js';
|
|
19
|
+
import type { PlaceIdentifiers } from '../types/place-extended.js';
|
|
20
|
+
/**
|
|
21
|
+
* Agent variants Maps offers, from the client's own model table.
|
|
22
|
+
*
|
|
23
|
+
* `mars` is what the web client sends by default. The two `-dev-` ids are
|
|
24
|
+
* flagged internal-only in that table and are listed for completeness.
|
|
25
|
+
*/
|
|
26
|
+
export type AskMapsModel = 'mars' | 'mars-p13n' | 'mars-p13n-dev-a' | 'mars-p13n-dev-b';
|
|
19
27
|
export interface AskMapsOptions {
|
|
20
28
|
/** Natural-language query, e.g. "best vegetarian restaurants near HSR". */
|
|
21
29
|
query: string;
|
|
@@ -24,16 +32,31 @@ export interface AskMapsOptions {
|
|
|
24
32
|
zoom?: number;
|
|
25
33
|
/** Opaque conversation / thread id when continuing a chat. */
|
|
26
34
|
threadId?: string;
|
|
35
|
+
/** Agent variant; defaults to `mars`, the web client's own default. */
|
|
36
|
+
model?: AskMapsModel;
|
|
27
37
|
}
|
|
28
|
-
export interface AskMapsPlaceRef {
|
|
38
|
+
export interface AskMapsPlaceRef extends PlaceIdentifiers {
|
|
29
39
|
name?: string;
|
|
30
|
-
|
|
31
|
-
|
|
40
|
+
ownerId?: string;
|
|
41
|
+
address?: string;
|
|
42
|
+
neighborhood?: string;
|
|
43
|
+
city?: string;
|
|
44
|
+
state?: string;
|
|
45
|
+
postalCode?: string;
|
|
46
|
+
countryCode?: string;
|
|
32
47
|
lat?: number;
|
|
33
48
|
lng?: number;
|
|
34
49
|
rating?: number;
|
|
50
|
+
reviewCount?: number;
|
|
51
|
+
category?: string;
|
|
52
|
+
categories?: string[];
|
|
53
|
+
raw?: unknown;
|
|
35
54
|
}
|
|
36
55
|
export interface AskMapsResult {
|
|
56
|
+
/** Conversation id, echoed as the first element of every streamed chunk. */
|
|
57
|
+
threadId?: string;
|
|
58
|
+
/** Status labels the agent emits while it works ("Thinking...", ...). */
|
|
59
|
+
progress: string[];
|
|
37
60
|
/** Free-text answer chunks from the agent (when present). */
|
|
38
61
|
text: string[];
|
|
39
62
|
/** Places the agent cited, when parseable. */
|
|
@@ -59,10 +82,27 @@ export interface MapsAiCapability {
|
|
|
59
82
|
}
|
|
60
83
|
export declare const MAPS_AI_CAPABILITIES: MapsAiCapability[];
|
|
61
84
|
/**
|
|
62
|
-
* Build CallAskMapsAgent args
|
|
63
|
-
*
|
|
85
|
+
* Build CallAskMapsAgent args.
|
|
86
|
+
*
|
|
87
|
+
* Mirrors the client's own request builder: a `ClientRequestMetadata` at
|
|
88
|
+
* field 1 tagged with client 81, then an input message at field 2 holding the
|
|
89
|
+
* query (field 2, first repeated turn), a context block carrying the camera
|
|
90
|
+
* (field 3), the model selection (field 4) and the same camera again at
|
|
91
|
+
* fields 7 and 9 — the agent reads viewport from all three.
|
|
64
92
|
*/
|
|
65
93
|
export declare function buildAskMapsArgs(options: AskMapsOptions): unknown[];
|
|
94
|
+
/**
|
|
95
|
+
* Pull the answer text out of a streamed Ask Maps chunk.
|
|
96
|
+
*
|
|
97
|
+
* Chunk shape, from the client's own recorded fixtures:
|
|
98
|
+
* `[[threadId, {"1000": [[[ …, [[[null,null,null,"text"]]] ]]] }]]` with the
|
|
99
|
+
* text at event slot 8 and progress labels at slot 21.
|
|
100
|
+
*/
|
|
101
|
+
export declare function extractStreamChunks(root: unknown): {
|
|
102
|
+
threadId?: string;
|
|
103
|
+
text: string[];
|
|
104
|
+
progress: string[];
|
|
105
|
+
};
|
|
66
106
|
export declare class AskMapsService {
|
|
67
107
|
private readonly http;
|
|
68
108
|
private readonly config;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask-maps.d.ts","sourceRoot":"","sources":["../../src/services/ask-maps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"ask-maps.d.ts","sourceRoot":"","sources":["../../src/services/ask-maps.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,8 +16,31 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import { createRpcClient, isBatchErrorCode, parseBatchPayload } from '../rpc/batch-rpc.js';
|
|
18
18
|
import { BATCH_SERVICES } from '../rpc/batch-services.js';
|
|
19
|
+
import { extractPlaceIdentifiers, extractStructuredAddress } from '../parsers/place-extended.js';
|
|
19
20
|
import { GMapsAuthError, GMapsError, } from '../types/common.js';
|
|
20
|
-
import { safeGet } from '../utils/
|
|
21
|
+
import { safeGet } from '../utils/payload.js';
|
|
22
|
+
function extractHistoryThreads(root) {
|
|
23
|
+
const threads = [];
|
|
24
|
+
const walk = (node, depth = 0) => {
|
|
25
|
+
if (depth > 8 || !Array.isArray(node))
|
|
26
|
+
return;
|
|
27
|
+
const id = safeGet(node, 0);
|
|
28
|
+
const title = safeGet(node, 1);
|
|
29
|
+
if (typeof id === 'string' && id.length > 0) {
|
|
30
|
+
threads.push({
|
|
31
|
+
id,
|
|
32
|
+
title: typeof title === 'string' ? title : undefined,
|
|
33
|
+
raw: node,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
for (const child of node.slice(0, 20)) {
|
|
37
|
+
if (Array.isArray(child))
|
|
38
|
+
walk(child, depth + 1);
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
walk(root);
|
|
42
|
+
return threads;
|
|
43
|
+
}
|
|
21
44
|
/** Official Places API (New) AI field masks — not served on consumer Maps preview. */
|
|
22
45
|
export const PLATFORM_AI_FIELD_MASKS = [
|
|
23
46
|
'generativeSummary',
|
|
@@ -70,22 +93,97 @@ export const MAPS_AI_CAPABILITIES = [
|
|
|
70
93
|
},
|
|
71
94
|
];
|
|
72
95
|
/**
|
|
73
|
-
*
|
|
74
|
-
*
|
|
96
|
+
* Agent variant enum values, as the client's model table assigns them.
|
|
97
|
+
*
|
|
98
|
+
* The table pairs each id with the number it puts in the request's model
|
|
99
|
+
* field: `mars` is 4, `mars-p13n` is 3, and the two eval builds are 6 and 7.
|
|
100
|
+
*/
|
|
101
|
+
const ASK_MAPS_MODEL_IDS = {
|
|
102
|
+
mars: 4,
|
|
103
|
+
'mars-p13n': 3,
|
|
104
|
+
'mars-p13n-dev-a': 6,
|
|
105
|
+
'mars-p13n-dev-b': 7,
|
|
106
|
+
};
|
|
107
|
+
/**
|
|
108
|
+
* Build CallAskMapsAgent args.
|
|
109
|
+
*
|
|
110
|
+
* Mirrors the client's own request builder: a `ClientRequestMetadata` at
|
|
111
|
+
* field 1 tagged with client 81, then an input message at field 2 holding the
|
|
112
|
+
* query (field 2, first repeated turn), a context block carrying the camera
|
|
113
|
+
* (field 3), the model selection (field 4) and the same camera again at
|
|
114
|
+
* fields 7 and 9 — the agent reads viewport from all three.
|
|
75
115
|
*/
|
|
76
116
|
export function buildAskMapsArgs(options) {
|
|
77
117
|
const query = options.query.trim();
|
|
78
|
-
const
|
|
79
|
-
|
|
80
|
-
const
|
|
81
|
-
|
|
118
|
+
const modelId = ASK_MAPS_MODEL_IDS[options.model ?? 'mars'];
|
|
119
|
+
// r8b: repeated turn at field 1, each a oneof whose first slot is the text.
|
|
120
|
+
const turns = [[[query]]];
|
|
121
|
+
const camera = options.location != null
|
|
122
|
+
? [
|
|
123
|
+
[null, options.location.lng, options.location.lat],
|
|
124
|
+
[0, 0, 0],
|
|
125
|
+
[1440, 757],
|
|
126
|
+
options.zoom ?? 14,
|
|
127
|
+
]
|
|
82
128
|
: null;
|
|
83
|
-
const
|
|
84
|
-
|
|
129
|
+
const input = [
|
|
130
|
+
null,
|
|
131
|
+
turns,
|
|
132
|
+
camera ? [null, null, camera] : null,
|
|
133
|
+
[[modelId]],
|
|
134
|
+
null,
|
|
135
|
+
null,
|
|
136
|
+
camera ? [camera] : null,
|
|
137
|
+
null,
|
|
138
|
+
camera ? [camera] : null,
|
|
139
|
+
];
|
|
140
|
+
const request = [[null, null, null, null, null, null, 81], input];
|
|
85
141
|
if (options.threadId) {
|
|
86
|
-
return [[options.threadId,
|
|
142
|
+
return [[options.threadId, request]];
|
|
87
143
|
}
|
|
88
|
-
return [
|
|
144
|
+
return [request];
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Pull the answer text out of a streamed Ask Maps chunk.
|
|
148
|
+
*
|
|
149
|
+
* Chunk shape, from the client's own recorded fixtures:
|
|
150
|
+
* `[[threadId, {"1000": [[[ …, [[[null,null,null,"text"]]] ]]] }]]` with the
|
|
151
|
+
* text at event slot 8 and progress labels at slot 21.
|
|
152
|
+
*/
|
|
153
|
+
export function extractStreamChunks(root) {
|
|
154
|
+
const text = [];
|
|
155
|
+
const progress = [];
|
|
156
|
+
let threadId;
|
|
157
|
+
const chunks = Array.isArray(root) ? root : [];
|
|
158
|
+
for (const chunk of chunks) {
|
|
159
|
+
if (!Array.isArray(chunk))
|
|
160
|
+
continue;
|
|
161
|
+
const id = chunk[0];
|
|
162
|
+
if (typeof id === 'string' && !threadId)
|
|
163
|
+
threadId = id;
|
|
164
|
+
const events = chunk[1];
|
|
165
|
+
if (!events || typeof events !== 'object')
|
|
166
|
+
continue;
|
|
167
|
+
for (const group of Object.values(events)) {
|
|
168
|
+
if (!Array.isArray(group))
|
|
169
|
+
continue;
|
|
170
|
+
for (const outer of group) {
|
|
171
|
+
if (!Array.isArray(outer))
|
|
172
|
+
continue;
|
|
173
|
+
for (const event of outer) {
|
|
174
|
+
if (!Array.isArray(event))
|
|
175
|
+
continue;
|
|
176
|
+
const answer = safeGet(event, 8, 0, 0, 3);
|
|
177
|
+
if (typeof answer === 'string' && answer.length > 0)
|
|
178
|
+
text.push(answer);
|
|
179
|
+
const label = safeGet(event, 21, 0, 0, 0);
|
|
180
|
+
if (typeof label === 'string' && label.length > 0)
|
|
181
|
+
progress.push(label);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
return { threadId, text, progress };
|
|
89
187
|
}
|
|
90
188
|
function extractAskText(root) {
|
|
91
189
|
const out = [];
|
|
@@ -109,20 +207,43 @@ function extractAskText(root) {
|
|
|
109
207
|
}
|
|
110
208
|
function extractAskPlaces(root) {
|
|
111
209
|
const places = [];
|
|
210
|
+
const seen = new Set();
|
|
112
211
|
const walk = (node, depth = 0) => {
|
|
113
212
|
if (depth > 10 || !Array.isArray(node))
|
|
114
213
|
return;
|
|
115
214
|
const hex = safeGet(node, 10);
|
|
116
215
|
const name = safeGet(node, 11);
|
|
117
216
|
if (typeof hex === 'string' && hex.includes('0x') && typeof name === 'string' && name.length > 1) {
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
217
|
+
const { cid, kgmid, ownerId } = extractPlaceIdentifiers(node);
|
|
218
|
+
const address = safeGet(node, 18);
|
|
219
|
+
const structuredAddress = extractStructuredAddress(node, address);
|
|
220
|
+
const categories = safeGet(node, 13)?.filter((value) => typeof value === 'string' && value.length > 0);
|
|
221
|
+
const key = safeGet(node, 78) ?? hex;
|
|
222
|
+
if (!seen.has(key)) {
|
|
223
|
+
seen.add(key);
|
|
224
|
+
places.push({
|
|
225
|
+
name,
|
|
226
|
+
hexId: hex,
|
|
227
|
+
placeId: safeGet(node, 78),
|
|
228
|
+
cid,
|
|
229
|
+
kgmid,
|
|
230
|
+
ownerId,
|
|
231
|
+
ftid: safeGet(node, 89),
|
|
232
|
+
address,
|
|
233
|
+
neighborhood: structuredAddress.neighborhood,
|
|
234
|
+
city: structuredAddress.city,
|
|
235
|
+
state: structuredAddress.state,
|
|
236
|
+
postalCode: structuredAddress.postalCode,
|
|
237
|
+
countryCode: structuredAddress.countryCode,
|
|
238
|
+
lat: safeGet(node, 9, 2),
|
|
239
|
+
lng: safeGet(node, 9, 3),
|
|
240
|
+
rating: safeGet(node, 4, 7),
|
|
241
|
+
reviewCount: safeGet(node, 4, 8),
|
|
242
|
+
category: categories?.[0],
|
|
243
|
+
categories,
|
|
244
|
+
raw: node,
|
|
245
|
+
});
|
|
246
|
+
}
|
|
126
247
|
}
|
|
127
248
|
for (const child of node.slice(0, 30)) {
|
|
128
249
|
if (Array.isArray(child))
|
|
@@ -191,8 +312,13 @@ export class AskMapsService {
|
|
|
191
312
|
}
|
|
192
313
|
throw new GMapsError(`Ask Maps batchexecute error [${String(code)}]`, 200);
|
|
193
314
|
}
|
|
315
|
+
const stream = extractStreamChunks(root);
|
|
194
316
|
return {
|
|
195
|
-
|
|
317
|
+
threadId: stream.threadId,
|
|
318
|
+
progress: [...new Set(stream.progress)],
|
|
319
|
+
// The schema-aware read wins when the payload is a stream of chunks;
|
|
320
|
+
// otherwise fall back to scavenging long strings out of the tree.
|
|
321
|
+
text: stream.text.length > 0 ? stream.text : extractAskText(root),
|
|
196
322
|
places: extractAskPlaces(root),
|
|
197
323
|
raw: root,
|
|
198
324
|
timingMs,
|
|
@@ -207,7 +333,8 @@ export class AskMapsService {
|
|
|
207
333
|
if (isBatchErrorCode(root)) {
|
|
208
334
|
authRequired('Ask Maps history requires a signed-in Maps session (set GMAPS_COOKIES)');
|
|
209
335
|
}
|
|
210
|
-
|
|
336
|
+
const threads = extractHistoryThreads(root);
|
|
337
|
+
return threads.length > 0 ? threads : [{ raw: root }];
|
|
211
338
|
}
|
|
212
339
|
catch (error) {
|
|
213
340
|
const message = error instanceof Error ? error.message : String(error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask-maps.js","sourceRoot":"","sources":["../../src/services/ask-maps.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ask-maps.js","sourceRoot":"","sources":["../../src/services/ask-maps.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { HttpClient } from '../client/http-client.js';
|
|
2
|
-
import type {
|
|
2
|
+
import type { Coordinates, DirectionsResult, GMapsConfig } from '../types/common.js';
|
|
3
|
+
import type { DirectionsOptions } from '../types/directions.js';
|
|
3
4
|
export interface DirectionsGetOptions extends DirectionsOptions {
|
|
4
5
|
}
|
|
5
6
|
export declare class DirectionsService {
|
|
@@ -7,12 +8,27 @@ export declare class DirectionsService {
|
|
|
7
8
|
private hl;
|
|
8
9
|
private gl;
|
|
9
10
|
constructor(http: HttpClient, config: GMapsConfig);
|
|
11
|
+
/**
|
|
12
|
+
* Page `ei` token for the directions pb.
|
|
13
|
+
*
|
|
14
|
+
* Transit routes are gated on it; the other modes ignore it. Failure to mint
|
|
15
|
+
* one is not fatal — the request still returns non-transit routes.
|
|
16
|
+
*/
|
|
17
|
+
sessionToken(anchor?: Coordinates): Promise<string | undefined>;
|
|
10
18
|
/**
|
|
11
19
|
* Fetch driving/walking directions via `/maps/preview/directions`.
|
|
12
20
|
* Coordinates resolve in one round trip; address strings may need an extra resolve step.
|
|
13
21
|
* Pass `includeSteps: true` for turn-by-turn steps when they are not in the preview payload.
|
|
14
22
|
*/
|
|
15
23
|
get(options: DirectionsGetOptions): Promise<DirectionsResult>;
|
|
24
|
+
/**
|
|
25
|
+
* Fetch alternative routes for directions.
|
|
26
|
+
* Returns multiple route options sorted by travel time.
|
|
27
|
+
* Respects alternatives count limit when specified (default: all available).
|
|
28
|
+
*/
|
|
29
|
+
getAlternatives(options: DirectionsGetOptions & {
|
|
30
|
+
alternatives?: number;
|
|
31
|
+
}): Promise<DirectionsResult['routes']>;
|
|
16
32
|
private hasMetrics;
|
|
17
33
|
private isBetterResult;
|
|
18
34
|
private hasTurnByTurn;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directions.d.ts","sourceRoot":"","sources":["../../src/services/directions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"directions.d.ts","sourceRoot":"","sources":["../../src/services/directions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtD,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACrF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAKhE,MAAM,WAAW,oBAAqB,SAAQ,iBAAiB;CAAG;AA8BlE,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,EAAE,CAAS;IACnB,OAAO,CAAC,EAAE,CAAS;gBAEP,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW;IAMjD;;;;;OAKG;IACG,YAAY,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAQrE;;;;OAIG;IACG,GAAG,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA+DnE;;;;OAIG;IACG,eAAe,CACnB,OAAO,EAAE,oBAAoB,GAAG;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GACxD,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAOtC,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,aAAa;YAIP,mBAAmB;CAkBlC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { extractDirections } from '../parsers/directions.js';
|
|
2
2
|
import { buildDirectionsUrls, directionsDataSuffix } from '../rpc/pb-builders.js';
|
|
3
3
|
import { resolveDirectionsEndpoints } from '../utils/place-ref.js';
|
|
4
|
+
import { fetchSessionPsi } from '../rpc/batch-rpc.js';
|
|
4
5
|
function formatDirEndpoint(value) {
|
|
5
6
|
if (typeof value === 'object') {
|
|
6
7
|
return `${value.lat},${value.lng}`;
|
|
@@ -31,6 +32,20 @@ export class DirectionsService {
|
|
|
31
32
|
this.hl = config.hl ?? 'en';
|
|
32
33
|
this.gl = config.gl ?? 'us';
|
|
33
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Page `ei` token for the directions pb.
|
|
37
|
+
*
|
|
38
|
+
* Transit routes are gated on it; the other modes ignore it. Failure to mint
|
|
39
|
+
* one is not fatal — the request still returns non-transit routes.
|
|
40
|
+
*/
|
|
41
|
+
async sessionToken(anchor) {
|
|
42
|
+
try {
|
|
43
|
+
return await fetchSessionPsi(this.http, anchor ? { lat: anchor.lat, lng: anchor.lng } : {});
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
34
49
|
/**
|
|
35
50
|
* Fetch driving/walking directions via `/maps/preview/directions`.
|
|
36
51
|
* Coordinates resolve in one round trip; address strings may need an extra resolve step.
|
|
@@ -45,6 +60,7 @@ export class DirectionsService {
|
|
|
45
60
|
};
|
|
46
61
|
let best = { legs: [] };
|
|
47
62
|
const wantSteps = normalized.includeSteps === true;
|
|
63
|
+
const sessionToken = await this.sessionToken(typeof origin === 'object' ? origin : undefined);
|
|
48
64
|
const tryUrl = async (url) => {
|
|
49
65
|
try {
|
|
50
66
|
const data = await this.http.get(url, {
|
|
@@ -64,6 +80,11 @@ export class DirectionsService {
|
|
|
64
80
|
mode: normalized.mode,
|
|
65
81
|
hl: this.hl,
|
|
66
82
|
gl: this.gl,
|
|
83
|
+
departureTime: normalized.departureTime,
|
|
84
|
+
arrivalTime: normalized.arrivalTime,
|
|
85
|
+
transitModes: normalized.transitModes,
|
|
86
|
+
transitRoutingPreference: normalized.transitRoutingPreference,
|
|
87
|
+
sessionToken,
|
|
67
88
|
})) {
|
|
68
89
|
const parsed = await tryUrl(url);
|
|
69
90
|
if (!parsed)
|
|
@@ -91,6 +112,17 @@ export class DirectionsService {
|
|
|
91
112
|
}
|
|
92
113
|
return best;
|
|
93
114
|
}
|
|
115
|
+
/**
|
|
116
|
+
* Fetch alternative routes for directions.
|
|
117
|
+
* Returns multiple route options sorted by travel time.
|
|
118
|
+
* Respects alternatives count limit when specified (default: all available).
|
|
119
|
+
*/
|
|
120
|
+
async getAlternatives(options) {
|
|
121
|
+
const result = await this.get(options);
|
|
122
|
+
const routes = result.routes ?? [];
|
|
123
|
+
const limit = options.alternatives ?? routes.length;
|
|
124
|
+
return routes.slice(0, Math.max(1, limit));
|
|
125
|
+
}
|
|
94
126
|
hasMetrics(result) {
|
|
95
127
|
return Boolean(result.duration ||
|
|
96
128
|
result.distance ||
|