2017-04-21 2 views
-2

これはjson形式です。私は画像を表示する必要があるアプリケーションを構築していますが、この形式では画像参照のみを表示して、画像参照から画像を表示することができます。私はアンドロイドで新しいです、私に詳細に答えてください。イメージの参照を表示するにはどうしたらいいですか?

{ 
    "html_attributions": [], 
    "results": [{ 
    "geometry": {}, 
    "icon": "https://maps.gstatic.com/mapfiles/place_api/icons/restaurant-71.png", 
    "id": "b55aeae1579aa5d2313acbda97bbde5d403bfcbe", 
    "name": "Emoji Centre Pakistan", 
    "photos": [{}], 
    "place_id": "ChIJ06t7z3_A3zgRSjlPdn0hrTA", 
    "rating": 5, 
    "reference": "CmRRAAAAAhNMBwgr1K1YA3B-44ztZPHcaSLMyWH3vhd92jgZmN4WPiIKl7MMVxwa_UlP5-DJKISSKEleVZ9qFMRb0DpLA0w2h2dgn9xkYTMDpG3nxL9VI3MjaMtTa07FFHaE0xXwEhDcNE5uFDpjVvT3Y_g0Fm7TGhTyIcmuumTybtEmTBNMNdySqdwWXA", 
    "scope": "GOOGLE", 
    "types": [], 
    "vicinity": "Ataturk Avenue, Islamabad" 
    }], 
    "status": "OK" 
} 
+0

このリファレンスとは何ですか?あなたはGoogle APIを呼び出していますか?はいの場合はどちらですか?この参照値のAPIドキュメントを確認することをお勧めします。 私にこの参照値はBASE64エンコードされた画像のようです – Deb

+0

はい私はGoogleのAPIを呼び出しています....近所のAPI –

+0

画像urlを解析し、グライドライブラリを使用して画像ビューに表示するための私の答えを参照してください – FAT

答えて

0

画像を表示するためには、あなたがこのLIB http://square.github.io/picasso/を使用し、ピカソ

GRADLE 
compile 'com.squareup.picasso:picasso:2.5.2' 

Javaコード

Picasso.with(context) 
    .load(url) 
    .resize(50, 50) 
    .centerCrop() 
    .into(imageView) 
0

Iのアドバイスを使用することができます。 は、依存関係のコードで後

compile 'com.squareup.picasso:picasso:2.5.2' 

であなたのapp.gradleの最後に追加し、この操作を追加

Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").into(imageView); 

はまたAndroidManifest.xmlを

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
をインターネット許可を追加するのを忘れないでください
+0

これはだと思います単一の画像を表示するために使用されます。多くの画像について何か –

0
Glide.with(mContext).load("Your_Url") 
        .thumbnail(0.5f) 
        .crossFade() 
        .diskCacheStrategy(DiskCacheStrategy.ALL) 
        .into(Your_ImageView); 

build.gradleに忘れずに追加してください:

compile 'com.github.bumptech.glide:glide:3.7.0' 
0

画像のreferenceを表示するにはどうすればよいですか? Google Place APIdocumentationから

#リファレンス: - 将来的に詳細サービスを照会するために使用することができtokenが含まれています。このtokenは、詳細サービスへの要求で使用された参照と異なる場合があります。プレースのための保存された参照は定期的に更新することを推奨します。

このtokenは場所を一意に識別しますが、逆は真ではありません。 placeには、有効なreference tokensが有効な場合があります。

注:referenceは今deprecatedplace_idの賛成です。 deprecation noticeを参照してください。

#あなたがiconを取得したい場合は、手順の下に試してみてください。

1.JSON応答文字列からアイコンURLを解析します。

// Icon url 
String iconUrl; 

try { 

    JSONArray results = response.getJSONArray("results"); 

    JSONObject obj = results.getJSONObject(0); // 0 used for first icon image 
    iconUrl = obj.getString("icon"); // "https://maps.gstatic.com/mapfiles/place_api/icons/restaurant-71.png"   

} catch (JSONException e) { 
    Log.e("JSON", "unexpected JSON exception", e); 
} 

2.Glideライブラリを使用し、ImageViewURLからiconを表示します。グライドの

用途:

// For example 
String iconUrl = "https://maps.gstatic.com/mapfiles/place_api/icons/restaurant-71.png"; 

ImageView imageView = (ImageView) findViewById(R.id.your_image_view); 

Glide.with(this).load(imageUrl).into(imageView); 

3.Glideを使用するには、あなたのapp/build.gradledependencies以下を追加しています

アプリ/ build.gradle

dependencies { 
    compile 'com.github.bumptech.glide:glide:3.7.0' 
    compile 'com.android.support:support-v4:19.1.0' 
} 

Glide documentationを参照してください。

UPDATE:

あなたの場所photosを取得したい場合、あなたは、配列photos[]を使用する必要があります。

写真[]:からarrayphotoのオブジェクト、imageからreferenceをそれぞれ含みます。場所の詳細のリクエストは、tenの写真を返すことがあります。場所の写真の詳細とimagesの使用方法については、Place Photos documentationをご覧ください。これは〜

+0

私の画像はPNGではありません。私はそれが文字列形式であると思います –

+0

json形式を作成すると、画像URL "icon": "https://maps.gstatic.com /mapfiles/place_api/icons/restaurant-71.png "あなたはjson構文解析技術を使ってこのURLを取得しています。画像URLを取得するための私の更新答えを参照してください。 – FAT

+0

ウェルアイコンは単なるアイコンです。イメージではありません。 –

0

レスポンスはJSON配列photosを持っているのに役立ちます

photo_reference — a string used to identify the photo when you perform a Photo request. 
height — the maximum height of the image. 
width — the maximum width of the image. 
html_attributions[] — contains any required attributions. This field will always be present, but may be empty. 

希望:

photoオブジェクトは、次のように記述されています。この配列には、その場所にアップロードされた写真のリストが含まれているはずです。しかし、あなたの場合は空です。つまり、その場所のgoogleで利用可能な写真がありません。

詳細はhereです。これは参照がどのようなもので、どのように参照を使用して詳細を取得できるかを定義しています。

関連する問題