summaryrefslogtreecommitdiff
path: root/client/Piztor/src/com/macaroon/piztor/MapInfo.java
blob: f5840c7985d0d449044430640ee1f5b54b874d93 (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
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;
	UserInfo myInfo;
	Style layout;

	@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);
	}

	void setStyle(Style layout) {
		this.layout = layout;
	}

	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 UserInfo {
	int uid, gid, sex;
	GeoPoint location;

	UserInfo(int uid) {
		this.uid = uid;
	}

	void setLocation(double lat, double lot) {
		location = new GeoPoint((int)(lat * 1e6), (int)(lot * 1e6));
	}

	void setInfo(int gid, int sex) {
		this.gid = gid;
		this.sex = sex;
	}
	
	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);
}