0

次のような XML タグに膨大なリストがあります。

<coor>     -123.3858,41.34119,0
     -123.3856,41.34109,0
     -123.3852,41.34121,0
     -123.3848,41.34139,0</coor>

次のように必要です:

           new LatLng(-123.3858,41.34119),
           new LatLng(-123.3856,41.34109),
           new LatLng(-123.3852,41.34121),
           new LatLng(-123.3848,41.34139),

google maps v2 android で動作します。

座標で文字列の置換を行ったところ、次のような正しい結果が得られました。

String ll = "),new LatLng(";
coor = coor.replaceAll(",0", ll);

,0 を新しい LatLng(... に置き換えます。大きな文字列の latlng テキストを latlng の場所に変更して、ポリゴンに配置する方法がわかりません。

PolygonOptions perimeteres = new PolygonOptions().add(coor);

これを行う方法はありますか?それとも、それぞれを分離して個別の緯度にする必要がありますか?

編集::::

String[] splitData = coor.split(",0");
                    for (String eachSplit : splitData) {
                        if (!eachSplit.endsWith(",0")) {
                            //Log.e("EACH",eachSplit);
                            Log.v("e","new LatLon("+eachSplit+");");
                        }
                    }

これでだいぶ近づいてきた…

4

1 に答える 1

0

あなたは完全に間違った方向に進んでいます、これは

String ll = "),new LatLng(";
coor = coor.replaceAll(",0", ll);

と同じではありません

new LatLng(-123.3858,41.34119)

1 つ目は何もしない文字列を提供し、2 つ目は必要なオブジェクトです。

編集

0座標からを削除する必要があり、次に で文字列を分割して,、緯度と経度の配列を取得します。

次にList<LatLng>、ポイントのポリゴンを作成するために必要なものを作成します

ポイントをループします

for(int j=0;j<locationAry.length;j++){
    if(j%2 == 0){
        lon = Float.parseFloat(locationAry[j+1]);
        lat = Float.parseFloat(locationAry[j]);

    }
}
于 2013-09-17T20:53:16.780 に答える