将getLatLng置于工作状态,但无法从响应

时间:2018-04-26 15:34:16

标签: java android google-maps google-places-api

我和地方一起工作,我需要获得我所在位置的纬度和经度。我成功地得到了这个

mLatLang  = placeLikelihood.getPlace().getLatLng();

其中mLatLang是LatLng mLatLang;

现在,这一行的输出是

(-31.54254542,62.56524)

但由于我使用网址按纬度和经度查询结果,因此无法使用括号()将数据放入查询中。

到目前为止,我已经搜索了各种正则表达式的Stack Overflow来删除它,但似乎我无法做到这一点。我试过这个没有成功:

types = placeLikelihood.getPlace().getPlaceTypes();
mLatLang  = placeLikelihood.getPlace().getLatLng();
String latlongshrink = mLatLang.toString();
latlongshrink.replaceAll("[\\\\[\\\\](){}]","");

我还尝试了更多replaceAll Regex,但我无法删除它们。

我的输出应该是这样的:

-31.54254542,62.56524

3 个答案:

答案 0 :(得分:2)

您在逻辑中缺少的是replaceAll返回结果字符串。但是你没有存储结果,这就是它无法正常工作的原因。请尝试以下方法:

latlongshrink = latlongshrink.replaceAll("[\\\\[\\\\](){}]","");

现在尝试打印结果。它会给出预期的结果。有关replaceAll()功能的详细信息,请参阅this

答案 1 :(得分:1)

如果你有像"(abc)"并且你想得到括号的内容,也许你可以使用子字符串来删除第一个和最后一个字符。

在您的情况下可能有用的东西(并且您不必处理正则表达式):

String withParenthesis = "(abc)";
String content = withParenthesis.substring(1, withParenthesis.length()-1);
System.out.println(content); // print abc

答案 2 :(得分:0)

我刚用Matcher解决了它

Private Sub SubmitCommandButtom_Click()

'Changed Len(TextBox1) = "" to Len(TextBox1.Value) = 0 as per explanation above.
'Added .Value to length checks
If Len(TextBox1.Value) = 0 And (Len(TextBox2.Value) > 0 Or Len(TextBox3.Value) > 0) Then
    MsgBox "Unit Number must be entered to continue!"
Else
    Sheets("Uneven Split Job Aid").Range("A2") = TextBox1.Value
    Sheets("Uneven Split Job Aid").Range("B2") = TextBox2.Value
    Sheets("Uneven Split Job Aid").Range("C2") = TextBox3.Value
    'And any other code ....
End If