blob: 10cb52b1c4d959b27bb01a41bef940f24974c1f9 (
plain) (
blame)
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
package com.macaroon.piztor;
import java.util.HashMap;
import java.util.Vector;
import com.baidu.platform.comapi.basestruct.GeoPoint;
import android.annotation.SuppressLint;
import android.graphics.drawable.Drawable;
import android.location.Location;
public class MapInfo {
HashMap<Integer, UserInfo> mp;
Vector<UserInfo> allUsers;
MarkerInfo markerInfo;
UserInfo myInfo;
MapInfo copy() {
MapInfo res = new MapInfo();
res.mp = (HashMap<Integer, UserInfo>)mp.clone();
res.allUsers = (Vector<UserInfo>) allUsers.clone();
res.myInfo = myInfo.copy();
return res;
}
@SuppressLint("UseSparseArrays")
MapInfo() {
mp = new HashMap<Integer, UserInfo>();
allUsers = new Vector<UserInfo>();
}
void clear() {
mp.clear();
allUsers.clear();
}
void addUserInfo(UserInfo userInfo) {
allUsers.add(userInfo);
mp.put(userInfo.uid, userInfo);
}
UserInfo getUserInfo(int uid) {
if (mp.containsKey(uid))
return mp.get(uid);
else
return null;
}
public Vector<UserInfo> getVector() {
return allUsers;
}
public UserInfo getMyInfo() {
return myInfo;
}
}
class MarkerInfo {
GeoPoint markerPoint;
long markerTimestamp;
int level;
MarkerInfo copy() {
MarkerInfo res = new MarkerInfo();
res.level = level;
res.markerPoint = new GeoPoint(markerPoint.getLatitudeE6(), markerPoint.getLongitudeE6());
res.markerTimestamp = markerTimestamp;
return res;
}
}
class UserInfo {
int uid, sex;
int company; //group id
int section;
int level;
GeoPoint location;
String nickname;
UserInfo copy() {
UserInfo res = new UserInfo(uid);
res.location = location;
res.nickname = nickname;
res.section = section;
res.company = company;
res.level = level;
return res;
}
UserInfo(int uid) {
this.uid = uid;
}
void setLocation(double lat, double lot) {
location = new GeoPoint((int)(lat * 1e6), (int)(lot * 1e6));
}
void setInfo(int company, int section, int sex, String nickName) {
this.company = company;
this.section = section;
this.sex = sex;
this.nickname = nickName;
}
public GeoPoint getLocation(){
return location;
}
public double getLatitude() {
return location.getLatitudeE6() / 1e6;
}
public double getLongitude() {
return location.getLongitudeE6() / 1e6;
}
}
interface Style {
Drawable getDrawable(UserInfo user);
}
|