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
47 Q_ENUM(CoordinateFormat)
50 QGeoCoordinate(
double latitude,
double longitude);
51 QGeoCoordinate(
double latitude,
double longitude,
double altitude);
52 QGeoCoordinate(
const QGeoCoordinate &other);
53 QGeoCoordinate(QGeoCoordinate &&other)
noexcept =
default;
56 QGeoCoordinate &operator=(
const QGeoCoordinate &other);
57 QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_PURE_SWAP(QGeoCoordinate)
59 void swap(QGeoCoordinate &other)
noexcept { d.swap(other.d); }
61 friend bool operator==(
const QGeoCoordinate &lhs,
const QGeoCoordinate &rhs)
63 return equals(lhs, rhs);
65 friend bool operator!=(
const QGeoCoordinate &lhs,
const QGeoCoordinate &rhs)
67 return !equals(lhs, rhs);
71 CoordinateType type()
const;
73 void setLatitude(
double latitude);
74 double latitude()
const;
76 void setLongitude(
double longitude);
77 double longitude()
const;
79 void setAltitude(
double altitude);
80 double altitude()
const;
82 Q_INVOKABLE qreal distanceTo(
const QGeoCoordinate &other)
const;
83 Q_INVOKABLE qreal azimuthTo(
const QGeoCoordinate &other)
const;
85 Q_INVOKABLE QGeoCoordinate atDistanceAndAzimuth(qreal distance, qreal azimuth, qreal distanceUp = 0.0)
const;
87 Q_INVOKABLE QString toString(CoordinateFormat format = DegreesMinutesSecondsWithHemisphere)
const;
90 static bool equals(
const QGeoCoordinate &lhs,
const QGeoCoordinate &rhs);
91 QGeoCoordinate(QGeoCoordinatePrivate &dd);
92 QSharedDataPointer<QGeoCoordinatePrivate> d;
93 friend class QGeoCoordinatePrivate;
94 friend class QQuickGeoCoordinateAnimation;
95#ifndef QT_NO_DEBUG_STREAM
96 friend QDebug operator<<(QDebug dbg,
const QGeoCoordinate &coord)
98 return debugStreaming(dbg, coord);
100 static QDebug debugStreaming(QDebug dbg,
const QGeoCoordinate &coord);
102#ifndef QT_NO_DATASTREAM
103 friend QDataStream &operator<<(QDataStream &stream,
const QGeoCoordinate &coordinate)
105 return dataStreamOut(stream, coordinate);
107 friend QDataStream &operator>>(QDataStream &stream, QGeoCoordinate &coordinate)
109 return dataStreamIn(stream, coordinate);
111 static QDataStream &dataStreamOut(QDataStream &stream,
const QGeoCoordinate &coordinate);
112 static QDataStream &dataStreamIn(QDataStream &stream, QGeoCoordinate &coordinate);
119Q_POSITIONING_EXPORT size_t qHash(
const QGeoCoordinate &coordinate, size_t seed = 0);