【问题标题】:android google maps lat/long安卓谷歌地图纬度/经度
【发布时间】:2014-03-31 05:46:37
【问题描述】:

我正在编写一个应用程序,它将地址输入转换为纬度/经度坐标,然后将它们显示在地图上供用户使用。一切都很好,除了我的坐标像 .. 35429885,-9745332 .. 你看没有时间来定义它们。我需要它们看起来像这样.. 35.429885,-97.45332 以便 google maps api 显示标记。有没有办法输入句点,还是我的代码有问题?下面是我用来将地址转换为滞后/长的代码。提前致谢。

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

【问题讨论】:

    标签: php android google-maps-api-2


    【解决方案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);
    

    【讨论】:

    • 这个答案很完美。非常感谢。
    【解决方案2】:

    您已将 lat long 存储为整数,您必须将其存储为 double

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多