when using google maps api, admin area gives long name , short name eg.
{ "long_name": "victoria", "short_name": "vic", "types": [ "administrative_area_level_1", "political" ] }
however when using android's native geocoder, getting long name (in case "victoria"). there way short name of admin area in android, short of integrating google maps geocoding api?
i'm gonna keep short , simple, have done location implementation little different. since took me couple of hours this.
first made map list find state name convert 2 letter code so:
map<string, string> states = new hashmap<>(); states.put("alabama","al"); states.put("alaska","ak"); states.put("alberta","ab"); states.put("american samoa","as"); states.put("arizona","az"); states.put("arkansas","ar"); states.put("armed forces (ae)","ae"); states.put("armed forces americas","aa"); states.put("armed forces pacific","ap"); states.put("british columbia","bc"); states.put("california","ca"); states.put("colorado","co"); states.put("connecticut","ct"); states.put("delaware","de"); states.put("district of columbia","dc"); states.put("florida","fl"); states.put("georgia","ga"); states.put("guam","gu"); states.put("hawaii","hi"); states.put("idaho","id"); states.put("illinois","il"); states.put("indiana","in"); states.put("iowa","ia"); states.put("kansas","ks"); states.put("kentucky","ky"); states.put("louisiana","la"); states.put("maine","me"); states.put("manitoba","mb"); states.put("maryland","md"); states.put("massachusetts","ma"); states.put("michigan","mi"); states.put("minnesota","mn"); states.put("mississippi","ms"); states.put("missouri","mo"); states.put("montana","mt"); states.put("nebraska","ne"); states.put("nevada","nv"); states.put("new brunswick","nb"); states.put("new hampshire","nh"); states.put("new jersey","nj"); states.put("new mexico","nm"); states.put("new york","ny"); states.put("newfoundland","nf"); states.put("north carolina","nc"); states.put("north dakota","nd"); states.put("northwest territories","nt"); states.put("nova scotia","ns"); states.put("nunavut","nu"); states.put("ohio","oh"); states.put("oklahoma","ok"); states.put("ontario","on"); states.put("oregon","or"); states.put("pennsylvania","pa"); states.put("prince edward island","pe"); states.put("puerto rico","pr"); states.put("quebec","pq"); states.put("rhode island","ri"); states.put("saskatchewan","sk"); states.put("south carolina","sc"); states.put("south dakota","sd"); states.put("tennessee","tn"); states.put("texas","tx"); states.put("utah","ut"); states.put("vermont","vt"); states.put("virgin islands","vi"); states.put("virginia","va"); states.put("washington","wa"); states.put("west virginia","wv"); states.put("wisconsin","wi"); states.put("wyoming","wy"); states.put("yukon territory","yt");
then appended location string result after doing hocus pocus address
address address = addresslist.get(0); string state = states.get(address.getadminarea()); result = address.getlocality() + ", " + state;
i hope got before did, decided put else needs it. happened on page when fixed it.
note: map(not location map) list has canada "states" , other places use abbreviations.