Android将坐标的字符串变量转换为点

Android将坐标的字符串变量转换为点,android,map,Android,Map,如果我正在检索这样的字符串变量(34872.129741551.7292),那么它将是“(34872.129741551.7292)”,如何将该字符串变量转换为点(地理位置) 例如,这将设置点值,但我希望检索这些值 Point point = new Point(34872.1297,41551.7292); 你要找的是,这里有一些很好的例子供你阅读 在您的情况下,这将起作用: String yourString = "(34872.1297,41551.7292)"; // Strip o

如果我正在检索这样的字符串变量(34872.129741551.7292),那么它将是“(34872.129741551.7292)”,如何将该字符串变量转换为点(地理位置)

例如,这将设置点值,但我希望检索这些值

Point point = new Point(34872.1297,41551.7292);

你要找的是,这里有一些很好的例子供你阅读

在您的情况下,这将起作用:

String yourString = "(34872.1297,41551.7292)";

// Strip out parentheses and split the string on ","
String[] items = yourString.replaceAll("[()]", "").split("\\s*,\\s*"));

// Now you have a String[] (items) with the values "34872.1297" and "41551.7292"
// Get the x and y values as Floats
Float x = Float.parseFloat(items[0]);
Float y = Float.parseFloat(items[1]);

// Do with them what you like (I think you mean LatLng instead of Point)
LatLng latLng = new LatLng(x, y);

添加空值检查和分析异常等。

将地理坐标存储为点对象的问题是点实际上要求两个值为整数类型。所以你会丢失信息

因此,您可以提取坐标并键入强制转换为整数(但会丢失信息):

或者,您可以将它们提取为浮点数,并将它们存储在您选择的其他数据类型中

String geo =  "(34872.1297,41551.7292)";

// REMOVE BRACKETS, AND WHITE SPACES
geo = geo.replace(")", "");      
geo = geo.replace("(", "");
geo = geo.replace(" ", "");

// SEPARATE THE LONGITUDE AND LATITUDE 
String[] split = geo.split(",");

// ASSIGN LONGITUDE AND LATITUDE TO POINT AS INTEGERS
Float long = (float) split[0]; 
Float lat = (float) split[1];

编辑:将代码()中的geo.split(“:”)更改为geo.split(“,”)(感谢Jitesh)

什么样的点?地理定位?屏幕点?更具体地说,请尝试通过parseFloat方法将其转换为浮点值,其中是:(签名:)在地理字符串中的位置,其基础应是分隔的???正如您所写的字符串[]split=geo.split(“:”);
String geo =  "(34872.1297,41551.7292)";

// REMOVE BRACKETS, AND WHITE SPACES
geo = geo.replace(")", "");      
geo = geo.replace("(", "");
geo = geo.replace(" ", "");

// SEPARATE THE LONGITUDE AND LATITUDE 
String[] split = geo.split(",");

// ASSIGN LONGITUDE AND LATITUDE TO POINT AS INTEGERS
Float long = (float) split[0]; 
Float lat = (float) split[1];