This is a .NET client library for Google Maps Platform web services. It provides a strongly-typed, async-first wrapper around 15+ Google Maps APIs, including Geocoding, Directions, Distance Matrix, Places (New), Routes, Address Validation, Elevation, Time Zone, Roads, Solar, Aerial View, Air Quality, Pollen, and Static Maps. The library is published as a NuGet package (over 2M downloads) and targets multiple .NET frameworks (netstandard2.0, net8.0, net10.0). It follows a consistent request/response pattern with generic constraints for compile-time safety, and includes a built-in engine that handles HTTP serialization, API key injection, error handling, and OpenTelemetry diagnostics (tracing and metrics). An optional dependency injection extension package registers `IGoogleMapsClient` with `IHttpClientFactory`. The repository also contains a comprehensive test suite with a VCR (record/replay) system, benchmarks, mutation testing, and sample applications (Blazor, Console, Minimal API, Generic Host) demonstrating usage.
This repository is a monorepo containing the `@react-google-maps/api` library, which provides React components and hooks for the Google Maps JavaScript API (v3.x). It includes sub-packages for InfoBox and MarkerClusterer overlays. The library is the primary product, offering declarative React wrappers for map features like markers, info windows, polygons, directions, street view, and more. The codebase also includes a full-stack web application (`web-app`) built with React Router v7, Hono, and Cloudflare Workers, serving as the library's documentation site, license sales platform, and user dashboard. The web-app features authentication, Stripe payment integration, multi-language support (9 locales), and a comprehensive interactive documentation page with code examples. The library itself follows a consistent functional component pattern with hooks for lifecycle management, but suffers from some code duplication and verbose event listener handling. The commercial license change in v3.0.0 may impact community adoption. Overall, the repository is actively maintained and functional, but not exceptionally polished.