Android将坐标的字符串变量转换为点
如果我正在检索这样的字符串变量(34872.129741551.7292),那么它将是“(34872.129741551.7292)”,如何将该字符串变量转换为点(地理位置) 例如,这将设置点值,但我希望检索这些值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
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];