2014-03-31 202 views
3

我正在寫一個應用程序,將地址輸入轉換成緯度/經度座標,然後顯示在地圖上爲用戶。一切工作都很好,除了我的座標出現像35429885,-9745332 ..你看到沒有時間來定義它們。我需要他們出來看起來像這樣.. 35.429885,-97.45332爲了谷歌地圖API顯示標記。有沒有辦法輸入這段時間,或者我的代碼有問題嗎?以下是我用來將地址轉換爲lag/long的代碼。提前致謝。安卓谷歌地圖緯度/經度

geocoder = new Geocoder(this); 

EditText locale = (EditText) findViewById(R.id.e_addy_text); 

String locationName = locale.getText().toString(); 

      try 
      { 
       List<Address> addressList = geocoder.getFromLocationName( 
        locationName, 5); 

       if (addressList != null && addressList.size() > 0) 
       { 
        lat = (int) (addressList.get(0).getLatitude() * 1e6); 
        lng = (int) (addressList.get(0).getLongitude() * 1e6); 

        // CONVERT TO STRING 
        e_lat = Integer.toString(lat); 
        e_lng = Integer.toString(lng); 

        // input into my database. 
       } 
       else 
       { 
        // toast saying invalid address 
       } 
      } 
      catch (Exception e) 
      { 
       e.printStackTrace(); 
      } 

回答

1

getLatitude()getLongitude()返回到存儲具有十進制表示的雙重價值。 在這裏,你正在將double轉換爲int。

就值存儲在雙變量,然後轉換爲字符串

double lat=addressList.get(0).getLatitude(); 

double lon=addressList.get(0).getLongitude(); 

轉換爲字符串

e_lat= String.valueOf(lat); 
e_lng String.valueOf(lon); 
+0

這個答案是完美的..謝謝了很多。 – Jayce

+0

我正在嘗試..說我不得不等待40秒,大聲笑 – Jayce

0

已存儲的經緯度長整型,你必須在雙