[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eGeoPoint\u003c/code\u003e struct in the Firestore API represents an immutable geographic location, with latitude and longitude.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eGeoPoint\u003c/code\u003e offers constructors to create new instances, taking latitude (between -90 and 90) and longitude (between -180 and 180) as parameters.\u003c/p\u003e\n"],["\u003cp\u003eIt includes methods to convert to and from a Protobuf \u003ccode\u003eLatLng\u003c/code\u003e representation, and methods to override and get hash code and string value.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eGeoPoint\u003c/code\u003e struct includes properties \u003ccode\u003eLatitude\u003c/code\u003e and \u003ccode\u003eLongitude\u003c/code\u003e, for getting the respective values.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eGeoPoint\u003c/code\u003e supports equality and inequality operators (\u003ccode\u003e==\u003c/code\u003e and \u003ccode\u003e!=\u003c/code\u003e) for comparing two \u003ccode\u003eGeoPoint\u003c/code\u003e instances.\u003c/p\u003e\n"]]],[],null,["# Firestore API - Struct GeoPoint (3.10.0)\n\nVersion latestkeyboard_arrow_down\n\n- [3.10.0 (latest)](/dotnet/docs/reference/Google.Cloud.Firestore/latest/Google.Cloud.Firestore.GeoPoint)\n- [3.9.0](/dotnet/docs/reference/Google.Cloud.Firestore/3.9.0/Google.Cloud.Firestore.GeoPoint)\n- [3.8.0](/dotnet/docs/reference/Google.Cloud.Firestore/3.8.0/Google.Cloud.Firestore.GeoPoint)\n- [3.7.0](/dotnet/docs/reference/Google.Cloud.Firestore/3.7.0/Google.Cloud.Firestore.GeoPoint)\n- [3.6.0](/dotnet/docs/reference/Google.Cloud.Firestore/3.6.0/Google.Cloud.Firestore.GeoPoint)\n- [3.5.1](/dotnet/docs/reference/Google.Cloud.Firestore/3.5.1/Google.Cloud.Firestore.GeoPoint)\n- [3.4.0](/dotnet/docs/reference/Google.Cloud.Firestore/3.4.0/Google.Cloud.Firestore.GeoPoint)\n- [3.3.0](/dotnet/docs/reference/Google.Cloud.Firestore/3.3.0/Google.Cloud.Firestore.GeoPoint)\n- [3.2.0](/dotnet/docs/reference/Google.Cloud.Firestore/3.2.0/Google.Cloud.Firestore.GeoPoint)\n- [3.1.0](/dotnet/docs/reference/Google.Cloud.Firestore/3.1.0/Google.Cloud.Firestore.GeoPoint)\n- [3.0.0](/dotnet/docs/reference/Google.Cloud.Firestore/3.0.0/Google.Cloud.Firestore.GeoPoint)\n- [2.5.0](/dotnet/docs/reference/Google.Cloud.Firestore/2.5.0/Google.Cloud.Firestore.GeoPoint)\n- [2.4.0](/dotnet/docs/reference/Google.Cloud.Firestore/2.4.0/Google.Cloud.Firestore.GeoPoint)\n- [2.3.1](/dotnet/docs/reference/Google.Cloud.Firestore/2.3.1/Google.Cloud.Firestore.GeoPoint) \n\n public struct GeoPoint : IEquatable\u003cGeoPoint\u003e\n\nReference documentation and code samples for the Firestore API struct GeoPoint.\n\nImmutable struct representing a geographic location in Firestore. \n\nImplements\n----------\n\n[IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[GeoPoint](/dotnet/docs/reference/Google.Cloud.Firestore/latest/Google.Cloud.Firestore.GeoPoint) \n\nInherited Members\n-----------------\n\n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype)\n\nNamespace\n---------\n\n[Google.Cloud.Firestore](/dotnet/docs/reference/Google.Cloud.Firestore/latest/Google.Cloud.Firestore)\n\nAssembly\n--------\n\nGoogle.Cloud.Firestore.dll\n\nConstructors\n------------\n\n### GeoPoint(double, double)\n\n public GeoPoint(double latitude, double longitude)\n\nCreates a new value using the provided latitude and longitude values.\n\nProperties\n----------\n\n### Latitude\n\n public double Latitude { get; }\n\nThe latitude, in degrees, in the range -90 to 90 inclusive.\n\n### Longitude\n\n public double Longitude { get; }\n\nThe longitude, in degrees, in the range -180 to 180 inclusive.\n\nMethods\n-------\n\n### FromProto(LatLng)\n\n public static GeoPoint FromProto(LatLng proto)\n\nCreates an instance from a Protobuf [LatLng](https://cloud.google.com/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Type.LatLng.html) representation.\nLater modifications to the Protobuf representation will not affect the returned object.\n\n### GetHashCode()\n\n public override int GetHashCode()\n\n**Overrides** \n[ValueType.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.valuetype.gethashcode)\n\n### ToProto()\n\n public LatLng ToProto()\n\nCreates a Protobuf [LatLng](https://cloud.google.com/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Type.LatLng.html) representation of this\npoint. Modifications to the returned message will not be reflected in this object.\n\n### ToString()\n\n public override string ToString()\n\n**Overrides** \n[ValueType.ToString()](https://learn.microsoft.com/dotnet/api/system.valuetype.tostring)\n\nOperators\n---------\n\n### operator ==(GeoPoint, GeoPoint)\n\n public static bool operator ==(GeoPoint lhs, GeoPoint rhs)\n\nOperator overload to compare two GeoPoint values for equality.\n\n### operator !=(GeoPoint, GeoPoint)\n\n public static bool operator !=(GeoPoint lhs, GeoPoint rhs)\n\nOperator overload to compare two GeoPoint values for inequality."]]