1 package geo.google.datamodel;
2
3 /***
4 * An attribute indicating how accurately we were able to geocode the given address.
5 * @see http://www.google.com/apis/maps/documentation/reference.html#GGeoAddressAccuracy
6 * @author jliang
7 *
8 */
9 public enum GeoAddressAccuracy{
10 UNKNOWN_LOCATION(0),
11 COUNTRY_LEVEL(1),
12 REGION_LEVEL(2),
13 SUB_REGION_LEVEL(3),
14 TOWN_LEVEL(4),
15 POST_CODE_LEVEL(5),
16 STREET_LEVEL(6),
17 INTERSECTION_LEVEL(7),
18 ADDRESS_LEVEL(8);
19 private int _code = -1;
20 private GeoAddressAccuracy(int code){
21 _code = code;
22 }
23 public int getCode() {
24 return _code;
25 }
26 public String getName(){
27 return this.name();
28 }
29 public static GeoAddressAccuracy getAccuracyByCode(int code){
30 switch (code) {
31 case 0:
32 return UNKNOWN_LOCATION;
33 case 1:
34 return COUNTRY_LEVEL;
35 case 2:
36 return REGION_LEVEL;
37 case 3:
38 return SUB_REGION_LEVEL;
39 case 4:
40 return TOWN_LEVEL;
41 case 5:
42 return POST_CODE_LEVEL;
43 case 6:
44 return STREET_LEVEL;
45 case 7:
46 return INTERSECTION_LEVEL;
47 case 8:
48 return ADDRESS_LEVEL;
49 default:
50 return UNKNOWN_LOCATION;
51 }
52 }
53 }