在我的Android应用程序中,我需要加载Google地图并根据提供的纬度和经度值显示位置。
我提到了以下教程,它完全可以。干得好

Link to the tutorial I followed

问题是纬度和经度值存储在DMS Fromat中的SQLite数据库中。如果这些值是Decimal Degrees格式,则没问题,就像我在该教程中所做的那样。

我需要通过添加叠加项来显示确切的位置(我已经通过DMS格式给出了经度和纬度值)。

[示例值:36°7'59''N,5°25'59''W]

谢谢...

最佳答案

很抱歉误解了这个问题。 `doit(“ 36°7'59''N”);

公共无效doit(String lat){

        String str = lat;
        String [] temp = null;
        String dtemp = null;
        String [] pass = new String[4];
        //temp = str.split("[\"]|\"[\']");
        temp = str.split("[\"]|[\']" );
        System.out.println("temptemptemptemp  "+temp);
        dtemp = str.replace("\"", "°");
        System.out.println("dtempdtempdtemp  "+dtemp);
        System.out.println("Formated DCM---------- : "+dtemp);

        String [] temp1 = temp[0].split("°");
        System.out.println("\ndegree temp: "+temp1[0]);
        System.out.println("\nminutes temp: "+temp1[1]);
        pass[0] =  temp1[0];
        pass[1] =  temp1[1];
        pass[2] =  temp[1];

        dump(pass);


    }

 public void dump(String []s) {
        for (int i = 0 ; i < s.length ; i++) {
            System.out.println("\ndegree : "+s[0]);
            System.out.println("\nminutes : "+s[1]);
            System.out.println("\nsecond : "+s[2]);

            String deg = s[0] ;
            int ndeg = Integer.parseInt(deg);
            String min = s[1] ;
            double nmin = Double.parseDouble(min);
            String sec = s[2] ;
            double nsec = Double.parseDouble(sec);
            double decimaldms = (ndeg+(nmin/60)+(nsec/3600));
            System.out.println("\nfinaldecimal : "+decimaldms);
        }
    }

 `


我认为这对您有帮助。

10-04 17:11