2017-02-25 4 views
0

アンドロイドのGoogleマップに関するヘルプが必要です。私が解決したい問題は、drawableフォルダからマーカーアイコンを選択し、ajax呼び出しで受け取ったパラメータに基づいてGoogleマップに描画する方法です。ここで私は、私は正確にあなたの質問を理解している場合、私は知りませんが、あなたがして、アイコンのIDを取得するには、Androidの資源からandroid google maps文字列パラメータに基づくマーカー

getIdentifier

を使用することができます

String img_name = jsonObj.getString("icon_name")+"_"+jsonObj.getString("icon_state") == "0" ? "on" : "off"; 
    // img_name will get a value thing like 'cat_on', I have the icon in drawable folder 

    // how do I use this img_name in the .icon line below 


    mMap.addMarker(new MarkerOptions() 
     .title(jsonObj.getString("header")) 
     .snippet(jsonObj.getString("title").concat(jsonObj.getString("description"))) 
     .position(new LatLng(
      Double.parseDouble(jsonObj.getString("lat")), 
      Double.parseDouble(jsonObj.getString("lng")) 
     )) 
     .icon(BitmapDescriptorFactory.fromResource(R.id.resourceId)) 
    ); 

答えて

1

を試してきたものです名。このような

何か:

getResources().getIdentifier("icon_name", "drawable", getPackageName()); 

あなたは、例えばアクティビティからそれを呼び出す場合。

getResources() documentation

更新:

はこれを試したことがありますか?

String img_name = jsonObj.getString("icon_name")+"_"+jsonObj.getString("icon_state") == "0" ? "on" : "off"; 
    // img_name will get a value thing like 'cat_on', I have the icon in drawable folder 

    // how do I use this img_name in the .icon line below 
int resourceId = getResources().getIdentifier(img_name, "drawable", getPackageName()); 

    mMap.addMarker(new MarkerOptions() 
     .title(jsonObj.getString("header")) 
     .snippet(jsonObj.getString("title").concat(jsonObj.getString("description"))) 
     .position(new LatLng(
      Double.parseDouble(jsonObj.getString("lat")), 
      Double.parseDouble(jsonObj.getString("lng")) 
     )) 
     .icon(BitmapDescriptorFactory.fromResource(resourceId)) 
    ); 
+0

新しいスレッドがマーカーを描画する機能を呼び出している、私はint型drawableResourceId = this.getResources()getIdentifier(img_name、 "描画可能"、this.getPackageName())これを試してみました。 .icon(BitmapDescriptorFactory.fromResource(R.id.drawableResourceId))が動作しません。.icon行は、drawableResourceIdを知らないと言います。これはmMap.addMarker行のすぐ上に定義されています。とにかくありがとう – burgur

+0

私は私の答えを更新しました – krlos77

+0

ありがとう、私は今それを試しています。 – burgur

関連する問題