24 Q_ENUMS(CoordinateFormat)
26 Q_PROPERTY(
double latitude READ latitude WRITE setLatitude)
27 Q_PROPERTY(
double longitude READ longitude WRITE setLongitude)
28 Q_PROPERTY(
double altitude READ altitude WRITE setAltitude)
29 Q_PROPERTY(
bool isValid READ isValid)
39 enum CoordinateFormat {
41 DegreesWithHemisphere,
43 DegreesMinutesWithHemisphere,
44 DegreesMinutesSeconds,
45 DegreesMinutesSecondsWithHemisphere
49 QGeoCoordinate(
double latitude,
double longitude);
50 QGeoCoordinate(
double latitude,
double longitude,
double altitude);
51 QGeoCoordinate(
const QGeoCoordinate &other);
52 QGeoCoordinate(QGeoCoordinate &&other)
noexcept =
default;
55 QGeoCoordinate &operator=(
const QGeoCoordinate &other);
56 QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_PURE_SWAP(QGeoCoordinate)
58 void swap(QGeoCoordinate &other)
noexcept { d.swap(other.d); }
60 friend bool operator==(
const QGeoCoordinate &lhs,
const QGeoCoordinate &rhs)
62 return equals(lhs, rhs);
64 friend bool operator!=(
const QGeoCoordinate &lhs,
const QGeoCoordinate &rhs)
66 return !equals(lhs, rhs);
70 CoordinateType type()
const;
72 void setLatitude(
double latitude);
73 double latitude()
const;
75 void setLongitude(
double longitude);
76 double longitude()
const;
78 void setAltitude(
double altitude);
79 double altitude()
const;
81 Q_INVOKABLE qreal distanceTo(
const QGeoCoordinate &other)
const;
82 Q_INVOKABLE qreal azimuthTo(
const QGeoCoordinate &other)
const;
84 Q_INVOKABLE QGeoCoordinate atDistanceAndAzimuth(qreal distance, qreal azimuth, qreal distanceUp = 0.0)
const;
86 Q_INVOKABLE QString toString(CoordinateFormat format = DegreesMinutesSecondsWithHemisphere)
const;
89 static bool equals(
const QGeoCoordinate &lhs,
const QGeoCoordinate &rhs);
90 QGeoCoordinate(QGeoCoordinatePrivate &dd);
91 QSharedDataPointer<QGeoCoordinatePrivate> d;
92 friend class QGeoCoordinatePrivate;
93 friend class QQuickGeoCoordinateAnimation;
94#ifndef QT_NO_DEBUG_STREAM
95 friend QDebug operator<<(QDebug dbg,
const QGeoCoordinate &coord)
97 return debugStreaming(dbg, coord);
99 static QDebug debugStreaming(QDebug dbg,
const QGeoCoordinate &coord);
101#ifndef QT_NO_DATASTREAM
102 friend QDataStream &operator<<(QDataStream &stream,
const QGeoCoordinate &coordinate)
104 return dataStreamOut(stream, coordinate);
106 friend QDataStream &operator>>(QDataStream &stream, QGeoCoordinate &coordinate)
108 return dataStreamIn(stream, coordinate);
110 static QDataStream &dataStreamOut(QDataStream &stream,
const QGeoCoordinate &coordinate);
111 static QDataStream &dataStreamIn(QDataStream &stream, QGeoCoordinate &coordinate);
118Q_POSITIONING_EXPORT size_t qHash(
const QGeoCoordinate &coordinate, size_t seed = 0);