-
Notifications
You must be signed in to change notification settings - Fork 27
Expand file tree
/
Copy pathAddress.java
More file actions
60 lines (46 loc) · 1.6 KB
/
Address.java
File metadata and controls
60 lines (46 loc) · 1.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
public class Address {
private double latitude; // عرض جغرافیایی
private double longitude; // طول جغرافیایی
private String writtenAddress; // آدرس نوشتاری
public Address(double latitude, double longitude, String writtenAddress) {
this.latitude = latitude;
this.longitude = longitude;
this.writtenAddress = writtenAddress;
}
public double getLatitude() {
return latitude;
}
public double getLongitude() {
return longitude;
}
public String getWrittenAddress() {
return writtenAddress;
}
public void setLatitude(double latitude) {
this.latitude = latitude;
}
public void setLongitude(double longitude) {
this.longitude = longitude;
}
public void setWrittenAddress(String writtenAddress) {
this.writtenAddress = writtenAddress;
}
public double distanceFrom(Address otherAddress) {
double x1 = this.getLatitude();
double y1 = this.getLongitude();
double x2 = otherAddress.getLatitude();
double y2 = otherAddress.getLongitude();
double distanceX = Math.abs(x2 - x1);
double distanceY = Math.abs(y2 - y1);
double distance = Math.sqrt(distanceX * distanceX + distanceY * distanceY);
return Math.round(distance * 100000) / 100000.0;
}
@Override
public String toString() {
return "Address{" +
"latitude=" + latitude +
", longitude=" + longitude +
", writtenAddress='" + writtenAddress + "'" +
'}';
}
}