package com.wistron.WiGallery.GEO;
import Utilities.CSStaticData;
/**
*
* @author WH1107028
* @detail 用于封装经纬度信息
*/
public class CoordinateMap {
private static String UNKNOWN_LOCATION = "Unknown"; //默认未知地理位置字符串
private double mLatitude = Double.NaN;
private double mLongitude = Double.NaN;
private String mAddress = null;
private String[] mLocality = null;
public CoordinateMap(double latitude, double longitude){
this.mLatitude = latitude;
this.mLongitude = longitude;
}
public double getLatitude() {
return mLatitude;
}
public void setLatitude(double latitude) {
this.mLatitude = latitude;
}
public double getLongitude() {
return mLongitude;
}
public void setLongitude(double longitude) {
this.mLongitude = longitude;
}
public String getAddress() {
if(mAddress == null || mAddress.equals("")){
mAddress = translateLocalityFormat(mLocality, CSStaticData.LIST_TYPE.LIST_LOCATION_4);
}
return mAddress;
}
public void setAddress(String address) {
this.mAddress = address;
}
public String[] getLocality() {
return mLocality;
}
public void setLocality(String[] locality) {
this.mLocality = locality;
}
private String translateLocalityFormat(String[] locality, CSStaticData.LIST_TYPE type){
String result = UNKNOWN_LOCATION;
int loop = 0;
if(type == CSStaticData.LIST_TYPE.LIST_LOCATION_1){
loop = 1;
}
if(type == CSStaticData.LIST_TYPE.LIST_LOCATION_2){
loop = 2;
}
if(type == CSStaticData.LIST_TYPE.LIST_LOCATION_3){
loop = 3;
}
if(type == CSStaticData.LIST_TYPE.LIST_LOCATION_4){
loop = 4;
}
if(locality.length < loop){
loop = locality.length;
}
for(int i = 0; i < loop; i++){
if(locality[i] != null && !locality[i].equals("")){
result = locality[i] + ", ";
}
}
try{
if(result == null || result.equals("")){
result = UNKNOWN_LOCATION;
}else{
result = result.substring(0, result.length() - 2);
}
}catch (IndexOutOfBoundsException e) {
e.printStackTrace();
result = UNKNOWN_LOCATION;
}
return result;
}
}