2017-01-20 16 views
-5

私はkmlLayerをいくつか用意しています。私はこれらの場所マーカーを繰り返して、自分の位置からそれらの点までの距離を見つけて、特定の距離のマーカーだけを見えるように座標を取得したいと思います。 私は次のコード経度と緯度の点を持つ文字列を分割する

for (KmlPlacemark placemark: layer.getPlacemarks()) { 
      String s = ("placemarks",placemark.getGeometry()..getGeometryObject().toString()); 

を持っている文字列の形式は次のとおりです。 は、緯度/経度:(55.94569390835889、-3.190410055779333) 私はそれからコーディネート2を抽出したいです。これどうやってするの?

答えて

1

私たちは、それは緯度+長いALWAYSとして定義されているので、その後、正規表現を使用することが最も簡単な方法になり、解析する文字列は、常に正規の方法で定義されることを保証することができる場合:

例:

String latLong = "lat/lng: (55.94569390835889,-3.190410055779333)"; 
Pattern patte = Pattern.compile("-?[0-9]+(?:.[0-9]+)?"); 
Matcher matcher = patte.matcher(latLong); 
while (matcher.find()) { 
     System.out.println(Double.parseDouble(matcher.group())); 
} 
1

したがって、Regexを使いたくない場合は、手作業で行ってください。 "("と "後")の前にまず何かを削除してください。

s = s.substring(s.indexOf("(")+1,s.indexOf(")")); //this will get you "55...,-3.19..." 

その後、 "、"で分割します。

String[] strngs = s.split(","); 
double lat = Double.parseDouble(strings[0]); 
double lon = Double.parseDouble(string[1]); 
関連する問題