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
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import { extractAdminRegions, extractPassiveAssistChips } from '../parsers/viewport.js';
|
|
2
|
+
import { buildPassiveAssistUrl } from '../rpc/feature-pb.js';
|
|
3
|
+
import { GMapsError } from '../types/common.js';
|
|
4
|
+
import { GeocodeService } from './geocode.js';
|
|
5
|
+
import { extractRevealPlace } from '../parsers/reveal.js';
|
|
6
|
+
import { buildRevealUrl, normalizeRevealFtid } from '../rpc/feature-pb.js';
|
|
7
|
+
/**
|
|
8
|
+
* Viewport-surface services: passive-assist chips, neighbourhood context, click reveal.
|
|
9
|
+
*/
|
|
10
|
+
export class PassiveAssistService {
|
|
11
|
+
http;
|
|
12
|
+
hl;
|
|
13
|
+
gl;
|
|
14
|
+
constructor(http, config) {
|
|
15
|
+
this.http = http;
|
|
16
|
+
this.hl = config.hl ?? 'en';
|
|
17
|
+
this.gl = config.gl ?? 'us';
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Viewport POI chips for the map camera (weather, events, neighbourhood labels).
|
|
21
|
+
*
|
|
22
|
+
* Needs an in-page viewport psi: bootstrap kEI / fetchSessionPsi tokens return
|
|
23
|
+
* the ~212 B cache-metadata stub, and only a token from a live viewport
|
|
24
|
+
* passiveassist request yields chips. Such a token is portable — it replays over
|
|
25
|
+
* plain Node fetch and stays valid for at least a few minutes — but minting one
|
|
26
|
+
* requires a browser, so pass `psi` yourself or supply a `psiProvider`. This
|
|
27
|
+
* service will not start a browser on your behalf.
|
|
28
|
+
*/
|
|
29
|
+
async getViewportChips(options) {
|
|
30
|
+
const hl = options.hl ?? this.hl;
|
|
31
|
+
const gl = options.gl ?? this.gl;
|
|
32
|
+
let psi = options.psi;
|
|
33
|
+
let url;
|
|
34
|
+
if (!psi && options.psiProvider) {
|
|
35
|
+
const minted = await options.psiProvider({
|
|
36
|
+
lat: options.lat,
|
|
37
|
+
lng: options.lng,
|
|
38
|
+
zoom: options.zoom,
|
|
39
|
+
hl,
|
|
40
|
+
gl,
|
|
41
|
+
});
|
|
42
|
+
if (typeof minted === 'string') {
|
|
43
|
+
psi = minted;
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
psi = minted.psi;
|
|
47
|
+
url = minted.passiveAssistUrl;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
if (!psi) {
|
|
51
|
+
throw new GMapsError('passiveassist needs an in-page viewport psi: pass `psi`, or a `psiProvider` ' +
|
|
52
|
+
'(see mintViewportPsi in scripts/lib/mint-viewport-psi.ts, which uses a headless browser). ' +
|
|
53
|
+
'Bootstrap tokens only return the cache-metadata stub.');
|
|
54
|
+
}
|
|
55
|
+
if (!url) {
|
|
56
|
+
url = buildPassiveAssistUrl({
|
|
57
|
+
lat: options.lat,
|
|
58
|
+
lng: options.lng,
|
|
59
|
+
zoom: options.zoom,
|
|
60
|
+
psi,
|
|
61
|
+
width: options.width,
|
|
62
|
+
height: options.height,
|
|
63
|
+
chipLimit: options.chipLimit,
|
|
64
|
+
hl,
|
|
65
|
+
gl,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
const data = await this.http.get(url, {
|
|
69
|
+
referer: 'https://www.google.com/maps/',
|
|
70
|
+
includeOrigin: true,
|
|
71
|
+
allowShortBody: true,
|
|
72
|
+
});
|
|
73
|
+
return extractPassiveAssistChips(data);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Request regions to probe from. The first is used alone unless it comes back
|
|
78
|
+
* without a country, which happens when the point lies in that same country.
|
|
79
|
+
*/
|
|
80
|
+
const REGION_PROBE_ORDER = ['us', 'jp'];
|
|
81
|
+
/**
|
|
82
|
+
* Administrative context for a coordinate.
|
|
83
|
+
*
|
|
84
|
+
* Backed by reverse geocode — the only anonymous Maps surface that names the
|
|
85
|
+
* region hierarchy containing a point.
|
|
86
|
+
*/
|
|
87
|
+
export class LocationContextService {
|
|
88
|
+
geocode;
|
|
89
|
+
constructor(http, config) {
|
|
90
|
+
this.geocode = new GeocodeService(http, config);
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Not available.
|
|
94
|
+
*
|
|
95
|
+
* Maps renders neighbourhood and district polygons from vector tiles rather
|
|
96
|
+
* than any queryable surface, and place search returns businesses instead of
|
|
97
|
+
* areas. Use {@link getRegions} for the administrative hierarchy.
|
|
98
|
+
*
|
|
99
|
+
* @throws {GMapsError} always
|
|
100
|
+
*/
|
|
101
|
+
async getNearby(_options) {
|
|
102
|
+
throw new GMapsError('Nearby area lookup is not exposed by any public Maps surface — ' +
|
|
103
|
+
'getRegions() returns the administrative hierarchy for a point.');
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Not available — alias of {@link getNearby}.
|
|
107
|
+
*
|
|
108
|
+
* @throws {GMapsError} always
|
|
109
|
+
*/
|
|
110
|
+
async getAreas(coordinates) {
|
|
111
|
+
return this.getNearby({ location: coordinates });
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Administrative regions containing a point, most specific first
|
|
115
|
+
* (e.g. `Bengaluru` → `Karnataka` → `India`).
|
|
116
|
+
*
|
|
117
|
+
* Reverse geocode names the hierarchy but reports no polygons, so
|
|
118
|
+
* {@link AdminRegion.bounds} is absent.
|
|
119
|
+
*/
|
|
120
|
+
async getRegions(coordinates) {
|
|
121
|
+
// Google omits the country when the request region matches the place's own,
|
|
122
|
+
// so probe from a second region and keep whichever answer is more complete.
|
|
123
|
+
let best = [];
|
|
124
|
+
for (const gl of REGION_PROBE_ORDER) {
|
|
125
|
+
const regions = await this.regionsFor(coordinates, gl);
|
|
126
|
+
if (regions.length > best.length)
|
|
127
|
+
best = regions;
|
|
128
|
+
// A full city → state → country chain is as much as this surface gives.
|
|
129
|
+
if (best.length >= 3)
|
|
130
|
+
break;
|
|
131
|
+
}
|
|
132
|
+
return best;
|
|
133
|
+
}
|
|
134
|
+
async regionsFor(coordinates, gl) {
|
|
135
|
+
const response = await this.geocode.reverseGeocode(coordinates.lat, coordinates.lng, { gl });
|
|
136
|
+
const result = response.result ?? response.alternatives[0];
|
|
137
|
+
if (!result)
|
|
138
|
+
return [];
|
|
139
|
+
return extractAdminRegions(result.plusCodeAddress ?? result.formattedAddress);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
export class RevealService {
|
|
143
|
+
http;
|
|
144
|
+
hl;
|
|
145
|
+
gl;
|
|
146
|
+
constructor(http, config) {
|
|
147
|
+
this.http = http;
|
|
148
|
+
this.hl = config.hl ?? 'en';
|
|
149
|
+
this.gl = config.gl ?? 'us';
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Reveal a hidden POI at a map click location.
|
|
153
|
+
* Requires a feature id (`ftid`) from search/suggest or place preview.
|
|
154
|
+
*/
|
|
155
|
+
async revealAtClick(options) {
|
|
156
|
+
if (!options.ftid) {
|
|
157
|
+
return {};
|
|
158
|
+
}
|
|
159
|
+
const url = buildRevealUrl({
|
|
160
|
+
camLat: options.camLat,
|
|
161
|
+
camLng: options.camLng,
|
|
162
|
+
camZoom: options.camZoom,
|
|
163
|
+
hitLat: options.hitLat,
|
|
164
|
+
hitLng: options.hitLng,
|
|
165
|
+
ftid: normalizeRevealFtid(options.ftid),
|
|
166
|
+
width: options.width,
|
|
167
|
+
height: options.height,
|
|
168
|
+
tileX: options.tileX,
|
|
169
|
+
tileY: options.tileY,
|
|
170
|
+
hl: this.hl,
|
|
171
|
+
gl: this.gl,
|
|
172
|
+
});
|
|
173
|
+
const data = await this.http.get(url, {
|
|
174
|
+
referer: 'https://www.google.com/maps/',
|
|
175
|
+
includeOrigin: true,
|
|
176
|
+
});
|
|
177
|
+
return extractRevealPlace(data);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
//# sourceMappingURL=viewport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viewport.js","sourceRoot":"","sources":["../../src/services/viewport.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAoB,MAAM,oBAAoB,CAAC;AAGlE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3E;;GAEG;AAEH,MAAM,OAAO,oBAAoB;IACvB,IAAI,CAAa;IACjB,EAAE,CAAS;IACX,EAAE,CAAS;IAEnB,YAAY,IAAgB,EAAE,MAAmB;QAC/C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC;QAC5B,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC;IAC9B,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAA6B;QAClD,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;QACjC,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;QACjC,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACtB,IAAI,GAAuB,CAAC;QAE5B,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC;gBACvC,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,EAAE;gBACF,EAAE;aACH,CAAC,CAAC;YACH,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,GAAG,GAAG,MAAM,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;gBACjB,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC;YAChC,CAAC;QACH,CAAC;QAED,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,UAAU,CAClB,8EAA8E;gBAC5E,4FAA4F;gBAC5F,uDAAuD,CAC1D,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,GAAG,GAAG,qBAAqB,CAAC;gBAC1B,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,GAAG;gBACH,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,EAAE;gBACF,EAAE;aACH,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAS,GAAG,EAAE;YAC5C,OAAO,EAAE,8BAA8B;YACvC,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;QAEH,OAAO,yBAAyB,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAExC;;;;;GAKG;AACH,MAAM,OAAO,sBAAsB;IACzB,OAAO,CAAiB;IAEhC,YAAY,IAAgB,EAAE,MAAmB;QAC/C,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,SAAS,CAAC,QAA4B;QAC1C,MAAM,IAAI,UAAU,CAClB,iEAAiE;YAC/D,gEAAgE,CACnE,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ,CAAC,WAAyC;QACtD,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,UAAU,CAAC,WAAyC;QACxD,4EAA4E;QAC5E,4EAA4E;QAC5E,IAAI,IAAI,GAAkB,EAAE,CAAC;QAC7B,KAAK,MAAM,EAAE,IAAI,kBAAkB,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACvD,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM;gBAAE,IAAI,GAAG,OAAO,CAAC;YACjD,wEAAwE;YACxE,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;gBAAE,MAAM;QAC9B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,UAAU,CACtB,WAAyC,EACzC,EAAU;QAEV,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7F,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QACvB,OAAO,mBAAmB,CAAC,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAChF,CAAC;CACF;AAED,MAAM,OAAO,aAAa;IAChB,IAAI,CAAa;IACjB,EAAE,CAAS;IACX,EAAE,CAAS;IAEnB,YAAY,IAAgB,EAAE,MAAmB;QAC/C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC;QAC5B,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,OAA2B;QAC7C,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAClB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,GAAG,GAAG,cAAc,CAAC;YACzB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,IAAI,EAAE,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC;YACvC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,EAAE,EAAE,IAAI,CAAC,EAAE;SACZ,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE;YACpC,OAAO,EAAE,8BAA8B;YACvC,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC;QAEH,OAAO,kBAAkB,CAAC,IAA6C,CAAC,CAAC;IAC3E,CAAC;CACF"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Waypoint order optimization.
|
|
3
|
+
*
|
|
4
|
+
* Consumer Maps has no `optimize:true` equivalent, so this composes the
|
|
5
|
+
* anonymous directions-fan-out distance matrix with a travelling-salesman
|
|
6
|
+
* heuristic: nearest-neighbour construction followed by 2-opt improvement.
|
|
7
|
+
* Fixed origin/destination are respected; open tours (no fixed ends) try
|
|
8
|
+
* every stop as a starting point and keep the best tour after 2-opt.
|
|
9
|
+
*/
|
|
10
|
+
import { GeocodeService } from './geocode.js';
|
|
11
|
+
import { DirectionsService } from './directions.js';
|
|
12
|
+
import { DistanceMatrixService } from './distance-matrix.js';
|
|
13
|
+
import type { OptimizeWaypointsOptions, OptimizeWaypointsResult } from '../types/route-optimization.js';
|
|
14
|
+
export declare class WaypointOptimizerService {
|
|
15
|
+
private matrix;
|
|
16
|
+
private directions;
|
|
17
|
+
private geocode;
|
|
18
|
+
constructor(matrix: DistanceMatrixService, directions: DirectionsService, geocode: GeocodeService);
|
|
19
|
+
/**
|
|
20
|
+
* Reorder `stops` into an efficient visiting order.
|
|
21
|
+
*
|
|
22
|
+
* Costs come from real driving durations/distances via the directions
|
|
23
|
+
* fan-out matrix. With ~N stops the matrix costs N² unique pairs, so this
|
|
24
|
+
* suits up to roughly a dozen stops; larger lists still work but take
|
|
25
|
+
* proportionally longer.
|
|
26
|
+
*/
|
|
27
|
+
optimize(options: OptimizeWaypointsOptions): Promise<OptimizeWaypointsResult>;
|
|
28
|
+
/** Coordinates for any node, geocoding address strings once. */
|
|
29
|
+
private resolve;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=waypoint-optimizer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"waypoint-optimizer.d.ts","sourceRoot":"","sources":["../../src/services/waypoint-optimizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAI7D,OAAO,KAAK,EAEV,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,gCAAgC,CAAC;AAKxC,qBAAa,wBAAwB;IACnC,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,OAAO,CAAiB;gBAG9B,MAAM,EAAE,qBAAqB,EAC7B,UAAU,EAAE,iBAAiB,EAC7B,OAAO,EAAE,cAAc;IAOzB;;;;;;;OAOG;IACG,QAAQ,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAgJnF,gEAAgE;YAClD,OAAO;CAStB"}
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Waypoint order optimization.
|
|
3
|
+
*
|
|
4
|
+
* Consumer Maps has no `optimize:true` equivalent, so this composes the
|
|
5
|
+
* anonymous directions-fan-out distance matrix with a travelling-salesman
|
|
6
|
+
* heuristic: nearest-neighbour construction followed by 2-opt improvement.
|
|
7
|
+
* Fixed origin/destination are respected; open tours (no fixed ends) try
|
|
8
|
+
* every stop as a starting point and keep the best tour after 2-opt.
|
|
9
|
+
*/
|
|
10
|
+
import { GMapsError } from '../types/common.js';
|
|
11
|
+
/** Upper bound on 2-opt improving passes to keep worst cases bounded. */
|
|
12
|
+
const MAX_TWO_OPT_PASSES = 64;
|
|
13
|
+
export class WaypointOptimizerService {
|
|
14
|
+
matrix;
|
|
15
|
+
directions;
|
|
16
|
+
geocode;
|
|
17
|
+
constructor(matrix, directions, geocode) {
|
|
18
|
+
this.matrix = matrix;
|
|
19
|
+
this.directions = directions;
|
|
20
|
+
this.geocode = geocode;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Reorder `stops` into an efficient visiting order.
|
|
24
|
+
*
|
|
25
|
+
* Costs come from real driving durations/distances via the directions
|
|
26
|
+
* fan-out matrix. With ~N stops the matrix costs N² unique pairs, so this
|
|
27
|
+
* suits up to roughly a dozen stops; larger lists still work but take
|
|
28
|
+
* proportionally longer.
|
|
29
|
+
*/
|
|
30
|
+
async optimize(options) {
|
|
31
|
+
const start = performance.now();
|
|
32
|
+
if (!Array.isArray(options.stops) || options.stops.length === 0) {
|
|
33
|
+
throw new GMapsError('optimizeWaypoints requires at least one stop');
|
|
34
|
+
}
|
|
35
|
+
if (options.roundTrip && !options.origin) {
|
|
36
|
+
throw new GMapsError('roundTrip requires a fixed origin to return to');
|
|
37
|
+
}
|
|
38
|
+
const mode = options.mode ?? 'driving';
|
|
39
|
+
const useDistance = options.metric === 'distance';
|
|
40
|
+
const [origin, destination, stops] = await Promise.all([
|
|
41
|
+
options.origin ? this.resolve(options.origin) : Promise.resolve(undefined),
|
|
42
|
+
options.destination
|
|
43
|
+
? this.resolve(options.destination)
|
|
44
|
+
: options.roundTrip && options.origin
|
|
45
|
+
? this.resolve(options.origin)
|
|
46
|
+
: Promise.resolve(undefined),
|
|
47
|
+
Promise.all(options.stops.map((s) => this.resolve(s))),
|
|
48
|
+
]);
|
|
49
|
+
const nodes = [];
|
|
50
|
+
const originIndex = origin ? nodes.push(origin) - 1 : -1;
|
|
51
|
+
const firstStopIndex = nodes.length;
|
|
52
|
+
for (const s of stops)
|
|
53
|
+
nodes.push(s);
|
|
54
|
+
const destinationIndex = destination ? nodes.push(destination) - 1 : -1;
|
|
55
|
+
const matrixResult = await this.matrix.getMatrix({
|
|
56
|
+
origins: nodes,
|
|
57
|
+
destinations: nodes,
|
|
58
|
+
mode,
|
|
59
|
+
concurrency: options.concurrency,
|
|
60
|
+
hl: options.hl,
|
|
61
|
+
gl: options.gl,
|
|
62
|
+
});
|
|
63
|
+
const cellAt = (from, to) => matrixResult.rows[from]?.[to];
|
|
64
|
+
const costOf = (from, to) => {
|
|
65
|
+
const cell = cellAt(from, to);
|
|
66
|
+
if (!cell)
|
|
67
|
+
return Number.POSITIVE_INFINITY;
|
|
68
|
+
const value = useDistance ? cell.distanceMeters : cell.durationSeconds;
|
|
69
|
+
return value ?? Number.POSITIVE_INFINITY;
|
|
70
|
+
};
|
|
71
|
+
const tourCost = (order) => {
|
|
72
|
+
const full = buildFullSequence(order, originIndex, destinationIndex);
|
|
73
|
+
let cost = 0;
|
|
74
|
+
for (let i = 0; i < full.length - 1; i++) {
|
|
75
|
+
cost += costOf(full[i], full[i + 1]);
|
|
76
|
+
}
|
|
77
|
+
return cost;
|
|
78
|
+
};
|
|
79
|
+
const inputOrder = stops.map((_, i) => firstStopIndex + i);
|
|
80
|
+
const startCandidates = originIndex >= 0 ? [originIndex] : [...inputOrder];
|
|
81
|
+
let bestOrder = null;
|
|
82
|
+
let bestCost = Number.POSITIVE_INFINITY;
|
|
83
|
+
for (const startNode of startCandidates) {
|
|
84
|
+
const remaining = new Set(inputOrder);
|
|
85
|
+
const order = [];
|
|
86
|
+
let current = startNode;
|
|
87
|
+
if (remaining.has(current)) {
|
|
88
|
+
order.push(current);
|
|
89
|
+
remaining.delete(current);
|
|
90
|
+
}
|
|
91
|
+
while (remaining.size > 0) {
|
|
92
|
+
let next;
|
|
93
|
+
let nextCost = Number.POSITIVE_INFINITY;
|
|
94
|
+
for (const candidate of remaining) {
|
|
95
|
+
const c = costOf(current, candidate);
|
|
96
|
+
if (c < nextCost) {
|
|
97
|
+
nextCost = c;
|
|
98
|
+
next = candidate;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
if (next === undefined)
|
|
102
|
+
break;
|
|
103
|
+
order.push(next);
|
|
104
|
+
remaining.delete(next);
|
|
105
|
+
current = next;
|
|
106
|
+
}
|
|
107
|
+
twoOptImprove(order, costOf, originIndex, destinationIndex);
|
|
108
|
+
const improvedCost = tourCost(order);
|
|
109
|
+
if (improvedCost < bestCost) {
|
|
110
|
+
bestCost = improvedCost;
|
|
111
|
+
bestOrder = [...order];
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
const order = (bestOrder ?? inputOrder).map((n) => n - firstStopIndex);
|
|
115
|
+
const result = {
|
|
116
|
+
order,
|
|
117
|
+
stops: order.map((i) => stops[i]),
|
|
118
|
+
matrixRequests: matrixResult.requestCount,
|
|
119
|
+
legRequests: 0,
|
|
120
|
+
timingMs: performance.now() - start,
|
|
121
|
+
};
|
|
122
|
+
const totalFull = buildFullSequence(order.map((i) => firstStopIndex + i), originIndex, destinationIndex);
|
|
123
|
+
const totals = sumPath(totalFull, cellAt);
|
|
124
|
+
if (totals.durationKnown)
|
|
125
|
+
result.totalDurationSeconds = totals.duration;
|
|
126
|
+
if (totals.distanceKnown)
|
|
127
|
+
result.totalDistanceMeters = totals.distance;
|
|
128
|
+
const baselineFull = buildFullSequence(inputOrder, originIndex, destinationIndex);
|
|
129
|
+
const baselineTotals = sumPath(baselineFull, cellAt);
|
|
130
|
+
if (baselineTotals.durationKnown)
|
|
131
|
+
result.baselineDurationSeconds = baselineTotals.duration;
|
|
132
|
+
if (baselineTotals.distanceKnown)
|
|
133
|
+
result.baselineDistanceMeters = baselineTotals.distance;
|
|
134
|
+
const base = useDistance ? result.totalDistanceMeters : result.totalDurationSeconds;
|
|
135
|
+
const baseline = useDistance ? result.baselineDistanceMeters : result.baselineDurationSeconds;
|
|
136
|
+
if (base !== undefined && baseline !== undefined && baseline > 0) {
|
|
137
|
+
result.improvementPercent = Math.round(((baseline - base) / baseline) * 1000) / 10;
|
|
138
|
+
}
|
|
139
|
+
if (options.includeLegs) {
|
|
140
|
+
const legs = [];
|
|
141
|
+
for (let i = 0; i < totalFull.length - 1; i++) {
|
|
142
|
+
const from = nodes[totalFull[i]];
|
|
143
|
+
const to = nodes[totalFull[i + 1]];
|
|
144
|
+
const leg = await this.directions.get({ origin: from, destination: to, mode });
|
|
145
|
+
result.legRequests += 1;
|
|
146
|
+
legs.push({
|
|
147
|
+
from,
|
|
148
|
+
to,
|
|
149
|
+
durationSeconds: leg.durationSeconds,
|
|
150
|
+
distanceMeters: leg.distanceMeters,
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
result.legs = legs;
|
|
154
|
+
}
|
|
155
|
+
return result;
|
|
156
|
+
}
|
|
157
|
+
/** Coordinates for any node, geocoding address strings once. */
|
|
158
|
+
async resolve(value) {
|
|
159
|
+
if (typeof value !== 'string')
|
|
160
|
+
return value;
|
|
161
|
+
const response = await this.geocode.geocode(value);
|
|
162
|
+
const hit = response.result ?? response.alternatives[0];
|
|
163
|
+
if (!hit) {
|
|
164
|
+
throw new GMapsError(`Could not resolve waypoint: ${value}`);
|
|
165
|
+
}
|
|
166
|
+
return { lat: hit.lat, lng: hit.lng };
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
function buildFullSequence(stopNodes, originIndex, destinationIndex) {
|
|
170
|
+
const full = [];
|
|
171
|
+
if (originIndex >= 0)
|
|
172
|
+
full.push(originIndex);
|
|
173
|
+
full.push(...stopNodes);
|
|
174
|
+
if (destinationIndex >= 0)
|
|
175
|
+
full.push(destinationIndex);
|
|
176
|
+
return full;
|
|
177
|
+
}
|
|
178
|
+
function sumPath(sequence, cellAt) {
|
|
179
|
+
let duration = 0;
|
|
180
|
+
let distance = 0;
|
|
181
|
+
let durationKnown = true;
|
|
182
|
+
let distanceKnown = true;
|
|
183
|
+
for (let i = 0; i < sequence.length - 1; i++) {
|
|
184
|
+
const cell = cellAt(sequence[i], sequence[i + 1]);
|
|
185
|
+
if (!cell || cell.durationSeconds === undefined)
|
|
186
|
+
durationKnown = false;
|
|
187
|
+
else
|
|
188
|
+
duration += cell.durationSeconds;
|
|
189
|
+
if (!cell || cell.distanceMeters === undefined)
|
|
190
|
+
distanceKnown = false;
|
|
191
|
+
else
|
|
192
|
+
distance += cell.distanceMeters;
|
|
193
|
+
}
|
|
194
|
+
return { duration, distance, durationKnown, distanceKnown };
|
|
195
|
+
}
|
|
196
|
+
/** In-place 2-opt on the stop-node subsequence; segment reversal keeps fixed endpoints. */
|
|
197
|
+
function twoOptImprove(order, costOf, originIndex, destinationIndex) {
|
|
198
|
+
const full = buildFullSequence(order, originIndex, destinationIndex);
|
|
199
|
+
// Only the origin is prepended; the destination trails behind the stops.
|
|
200
|
+
const offset = originIndex >= 0 ? 1 : 0;
|
|
201
|
+
for (let pass = 0; pass < MAX_TWO_OPT_PASSES; pass++) {
|
|
202
|
+
let improved = false;
|
|
203
|
+
for (let i = 0; i < order.length - 1; i++) {
|
|
204
|
+
for (let k = i + 1; k < order.length; k++) {
|
|
205
|
+
const beforeA = offset + i - 1 >= 0 ? full[offset + i - 1] ?? null : null;
|
|
206
|
+
const afterB = offset + k + 1 < full.length ? full[offset + k + 1] ?? null : null;
|
|
207
|
+
const edgeAFrom = beforeA !== null ? full[offset + i] : undefined;
|
|
208
|
+
const edgeBTo = afterB !== null ? full[offset + k] : undefined;
|
|
209
|
+
const removedEdgeA = beforeA !== null && edgeAFrom !== undefined ? costOf(beforeA, edgeAFrom) : 0;
|
|
210
|
+
const removedEdgeB = afterB !== null && edgeBTo !== undefined ? costOf(edgeBTo, afterB) : 0;
|
|
211
|
+
const addedEdgeA = beforeA !== null && edgeBTo !== undefined ? costOf(beforeA, edgeBTo) : 0;
|
|
212
|
+
const addedEdgeB = afterB !== null && edgeAFrom !== undefined ? costOf(edgeAFrom, afterB) : 0;
|
|
213
|
+
if (addedEdgeA + addedEdgeB < removedEdgeA + removedEdgeB) {
|
|
214
|
+
reverseSegment(full, offset + i, offset + k);
|
|
215
|
+
improved = true;
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
if (!improved)
|
|
220
|
+
break;
|
|
221
|
+
}
|
|
222
|
+
for (let i = 0; i < order.length; i++) {
|
|
223
|
+
order[i] = full[offset + i];
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
function reverseSegment(arr, from, to) {
|
|
227
|
+
while (from < to) {
|
|
228
|
+
const tmp = arr[from];
|
|
229
|
+
arr[from] = arr[to];
|
|
230
|
+
arr[to] = tmp;
|
|
231
|
+
from++;
|
|
232
|
+
to--;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
//# sourceMappingURL=waypoint-optimizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"waypoint-optimizer.js","sourceRoot":"","sources":["../../src/services/waypoint-optimizer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/** Processing state returned by the Aerial View API. */
|
|
2
|
+
export type AerialViewState = 'ACTIVE' | 'PROCESSING';
|
|
3
|
+
/** Supported video container formats in lookupVideo responses. */
|
|
4
|
+
export type AerialViewFormat = 'IMAGE' | 'MP4_LOW' | 'MP4_MEDIUM' | 'MP4_HIGH' | 'HLS' | 'DASH';
|
|
5
|
+
export interface AerialViewOrientationUris {
|
|
6
|
+
landscapeUri?: string;
|
|
7
|
+
portraitUri?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface AerialViewCaptureDate {
|
|
10
|
+
year?: number;
|
|
11
|
+
month?: number;
|
|
12
|
+
day?: number;
|
|
13
|
+
}
|
|
14
|
+
export interface AerialViewMetadata {
|
|
15
|
+
videoId?: string;
|
|
16
|
+
captureDate?: AerialViewCaptureDate;
|
|
17
|
+
duration?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface AerialViewLookupResult {
|
|
20
|
+
state: AerialViewState;
|
|
21
|
+
uris?: Partial<Record<AerialViewFormat, AerialViewOrientationUris>>;
|
|
22
|
+
metadata?: AerialViewMetadata;
|
|
23
|
+
/** Present when the video is not found or 3D imagery is unavailable. */
|
|
24
|
+
error?: string;
|
|
25
|
+
statusCode?: number;
|
|
26
|
+
}
|
|
27
|
+
export interface AerialViewLookupOptions {
|
|
28
|
+
/** US postal address — mutually exclusive with videoId when both omitted. */
|
|
29
|
+
address?: string;
|
|
30
|
+
/** Stored video id from a prior lookup or renderVideo call. */
|
|
31
|
+
videoId?: string;
|
|
32
|
+
/** Google Cloud API key — required; no keyless consumer endpoint exists. */
|
|
33
|
+
apiKey?: string;
|
|
34
|
+
}
|
|
35
|
+
export interface AerialViewRenderOptions {
|
|
36
|
+
address: string;
|
|
37
|
+
apiKey?: string;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=aerial-view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aerial-view.d.ts","sourceRoot":"","sources":["../../src/types/aerial-view.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,YAAY,CAAC;AAEtD,kEAAkE;AAClE,MAAM,MAAM,gBAAgB,GACxB,OAAO,GACP,SAAS,GACT,YAAY,GACZ,UAAU,GACV,KAAK,GACL,MAAM,CAAC;AAEX,MAAM,WAAW,yBAAyB;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,eAAe,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,yBAAyB,CAAC,CAAC,CAAC;IACpE,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aerial-view.js","sourceRoot":"","sources":["../../src/types/aerial-view.ts"],"names":[],"mappings":""}
|
|
@@ -1,9 +1,40 @@
|
|
|
1
1
|
/** Decoded Maps URL from DecodeUrl batchexecute RPC. */
|
|
2
2
|
export interface DecodedMapsUrl {
|
|
3
|
+
/**
|
|
4
|
+
* Place name extracted from the decoded URL (e.g. "Kake Di Hatti").
|
|
5
|
+
* Present only when the URL pointed to a place page.
|
|
6
|
+
*/
|
|
3
7
|
name?: string;
|
|
8
|
+
/** Viewport / place latitude from the decoded URL coordinates block. */
|
|
4
9
|
lat?: number;
|
|
10
|
+
/** Viewport / place longitude. */
|
|
5
11
|
lng?: number;
|
|
12
|
+
/** Map zoom level from the decoded URL. */
|
|
6
13
|
zoom?: number;
|
|
14
|
+
/**
|
|
15
|
+
* Hex feature id (`0x…:0x…`) when present in the decoded URL payload.
|
|
16
|
+
* Currently not extracted by the parser — reserved for future extraction.
|
|
17
|
+
*/
|
|
18
|
+
hexId?: string;
|
|
19
|
+
/**
|
|
20
|
+
* ChIJ place id when present in the decoded URL payload.
|
|
21
|
+
* Currently not extracted by the parser — reserved for future extraction.
|
|
22
|
+
*/
|
|
23
|
+
placeId?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Formatted address string when the decoded URL carries one.
|
|
26
|
+
* Currently not extracted by the parser — reserved for future extraction.
|
|
27
|
+
*/
|
|
28
|
+
address?: string;
|
|
29
|
+
/**
|
|
30
|
+
* URL type derived from the type code in the DecodeUrl response (`coordsBlock[1][0]`).
|
|
31
|
+
* - `'place'` — place page URL (type code 2, confirmed from fixture)
|
|
32
|
+
* - `'search'` — search results URL (type code 1, inferred)
|
|
33
|
+
* - `'directions'` — directions URL (type code 3, inferred)
|
|
34
|
+
* - `'viewport'` — bare viewport URL (type code 4, inferred)
|
|
35
|
+
* `undefined` when the type code is absent or unrecognized.
|
|
36
|
+
*/
|
|
37
|
+
type?: 'place' | 'search' | 'directions' | 'viewport';
|
|
7
38
|
raw?: unknown;
|
|
8
39
|
}
|
|
9
40
|
export interface DecodeUrlOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-url.d.ts","sourceRoot":"","sources":["../../src/types/batch-url.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,uFAAuF;IACvF,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf"}
|
|
1
|
+
{"version":3,"file":"batch-url.d.ts","sourceRoot":"","sources":["../../src/types/batch-url.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,YAAY,GAAG,UAAU,CAAC;IACtD,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,uFAAuF;IACvF,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf"}
|
|
@@ -1,20 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Result wrapper for `categories.getHierarchy()`.
|
|
3
|
+
* The `nodes` array contains the top-level category roots; each node may have nested `children`.
|
|
4
|
+
*/
|
|
5
|
+
export interface CategoryHierarchyResult {
|
|
6
|
+
/** Top-level category nodes (each may have `.children` for sub-categories). */
|
|
7
|
+
nodes: CategoryNode[];
|
|
8
|
+
raw?: unknown;
|
|
9
|
+
}
|
|
1
10
|
/** Google Maps category taxonomy node from LocalRapService.GetCategoryHierarchy. */
|
|
2
11
|
export interface CategoryNode {
|
|
3
12
|
name: string;
|
|
4
13
|
gcid?: string;
|
|
5
14
|
id?: number;
|
|
6
15
|
children?: CategoryNode[];
|
|
16
|
+
raw?: unknown;
|
|
7
17
|
}
|
|
8
18
|
export interface CategorySuggestion {
|
|
9
19
|
gcid: string;
|
|
10
20
|
label: string;
|
|
21
|
+
raw?: unknown;
|
|
22
|
+
}
|
|
23
|
+
export interface PlaceInfoEntry {
|
|
24
|
+
hexId?: string;
|
|
25
|
+
label?: string;
|
|
26
|
+
raw?: unknown;
|
|
11
27
|
}
|
|
12
28
|
export interface PlaceInfoResult {
|
|
13
29
|
hexId?: string;
|
|
14
|
-
entries:
|
|
15
|
-
|
|
16
|
-
label?: string;
|
|
17
|
-
}>;
|
|
30
|
+
entries: PlaceInfoEntry[];
|
|
31
|
+
raw?: unknown;
|
|
18
32
|
}
|
|
19
33
|
export interface PotentialDuplicate {
|
|
20
34
|
hexId: string;
|
|
@@ -23,10 +37,12 @@ export interface PotentialDuplicate {
|
|
|
23
37
|
address?: string;
|
|
24
38
|
rating?: number;
|
|
25
39
|
reviewCount?: number;
|
|
40
|
+
raw?: unknown;
|
|
26
41
|
}
|
|
27
42
|
export interface SignedPlaceUrl {
|
|
28
43
|
hexId: string;
|
|
29
44
|
signedPath: string;
|
|
45
|
+
raw?: unknown;
|
|
30
46
|
}
|
|
31
47
|
export interface GetCategorySuggestionsOptions {
|
|
32
48
|
query: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"categories.d.ts","sourceRoot":"","sources":["../../src/types/categories.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"categories.d.ts","sourceRoot":"","sources":["../../src/types/categories.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,+EAA+E;IAC/E,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,oFAAoF;AACpF,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,6BAA6B;IAC5C,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,6BAA6B;IAC5C,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;CACf"}
|