2017-09-21 9 views
-3

私はAndroidで最良の道路を見つけるためのマップアプリケーションを開発しています。 問題はすべての道路名がGoogle API上にあるわけではないので、1つのJSonファイル上にある。 ただ、このように解析しようとするJSONファイルから座標を取得し、B.jsonの座標を取得し、Googleマップ(Android)で検索します

{ 
    "type": "FeatureCollection", 
    "crs": { 
     "type": "name", 
     "properties": { 
     "name": "urn:ogc:def:crs:OGC:1.3:CRS84" 
     } 
    }, 
    "features": [ 
     { 
     "type": "Feature", 
     "properties": { 
      "Name": "po", 
      "description": "", 
      "timestamp": null, 
      "begin": null, 
      "end": null, 
      "altitudeMode": null, 
      "tessellate": -1, 
      "extrude": 0, 
      "visibility": -1, 
      "drawOrder": null, 
      "icon": null, 
      "description_1": null, 
      "Number": "10", 
      "RoadNameCo": "03_10234", 
      "RoadNameAL": "MEHDI HOXHA" 
     }, 
     "geometry": { 
      "type": "Point", 
      "coordinates": [ 
       20.853835, 
       42.601668, 
       0 
      ] 
     } 
     }, 
     { 
     "type": "Feature", 
     "properties": { 
      "Name": "po", 
      "description": "", 
      "timestamp": null, 
      "begin": null, 
      "end": null, 
      "altitudeMode": null, 
      "tessellate": -1, 
      "extrude": 0, 
      "visibility": -1, 
      "drawOrder": null, 
      "icon": null, 
      "description_1": null, 
      "Number": "16", 
      "RoadNameCo": "03_10234", 
      "RoadNameAL": "MEHDI HOXHA" 
     }, 
     "geometry": { 
      "type": "Point", 
      "coordinates": [ 
       20.854006, 
       42.60127, 
       0 
      ] 
     } 
     } 

    ] 
} 
+0

どういった問題がありますか? JSONを解析できないか、マップ上でルートを作成できません。これは2つの異なる質問です。それぞれの質問はすでに数百回もここで答えられています。 –

+0

jsonをGoogleマップに解析する方法はありませんか? –

+0

JSONをGoogleマップに解析することはできません。私が言ったように、それは2つの異なる質問です。最初にJSONを座標に解析し、座標をGoogleマップに設定します。だから2 **とは全く関係のない**仕事はあなたの質問ですか? –

答えて

1

はこれを試してみてください

private List<LatLng> getLocationList(String JSON_String) 
{ 
    List<LatLng> locationList = new ArrayList<>(); 
    try { 

     JSONObject object = new JSONObject(JSON_String); 
     JSONArray mArray = object.getJSONArray("features"); 

     for(int i=0;i<mArray.length();i++){ 

      JSONObject obj=mArray.getJSONObject(i); 
      JSONObject geometryObject=obj.getJSONObject("geometry"); 
      JSONArray locationJSON_Array=geometryObject.getJSONArray("coordinates"); 

      LatLng location=new LatLng(locationJSON_Array.getDouble(0),locationJSON_Array.getDouble(1)); 
      locationList.add(location); 
     } 

    }catch (JSONException ex){ 
     ex.printStackTrace(); 
     //handle Exception 
    } 
    return locationList; 
} 

この

List<LatLng> LocationList =getLocationList(Your_JSON_String);//The String posted in question 
LatLng firstLocation=locationList.get(0); 
LatLng secondLocation=locationList.get(1); 
のようにそれを使用します

何かが間違っている場合は教えてください

1

に位置AからラインでのAndroidアプリの に見せるための最良の方法です:

JSONArray lat_long_jsonArray = jsonObject.getJSONArray("coordinates"); 
if (lat_long_jsonArray.length() != 0) 
{ 

    String Longitude(lat_long_jsonArray.get(0).toString()); 

    String Latitude(lat_long_jsonArray.get(1).toString()); 
} 
+0

コードを確認してください。コンパイルされません。 –

+0

@VladMatvienko私はあなたに、縦座標は座標JsonArrayを形成し、解析する必要があります。 – yash786

+0

それは私の質問ではありませんでしたが、あなたのコードは無効です。緯度と経度の宣言、または使用法を何度も確認してください。 –

関連する問題