首页 文章

如何在R.raw.myVar中使用变量

提问于
浏览
-1

我想使用API GoogleMaps为国家/地区着色 . 此代码有效,但我使用的是搜索栏,用户可以在其中编写不同的国家/地区名称 .

private void colorCountry(String searchString){
    String myVar = searchString + "_geojson";
    Toast.makeText(this, searchString , Toast.LENGTH_SHORT).show();
    try {
        GeoJsonLayer layer = new GeoJsonLayer(nMap, R.raw.france_geojson, getApplicationContext());
        GeoJsonPolygonStyle style = layer.getDefaultPolygonStyle();
        style.setFillColor(Color.BLUE);
        style.setStrokeColor(Color.BLUE);
        style.setStrokeWidth(1F);
        layer.addLayerToMap();
    } catch (IOException ex) {
        Log.e("IOException", ex.getLocalizedMessage());
    } catch (JSONException ex) {
        Log.e("JSONException", ex.getLocalizedMessage());
    }
}

如何用GeoJsonLayer中的变量“myVar”替换“france_geojson”?

GeoJsonLayer layer = new GeoJsonLayer(nMap, R.raw.france_geojson, getApplicationContext());

1 回答

  • 0

    用这个:

    int rawId = getApplicationContext()
                .getResources()
                .getIdentifier(myVar, "raw", getApplicationContext().getPackageName());
    

    获取 myVar 的id,然后:

    GeoJsonLayer layer = new GeoJsonLayer(nMap, rawId, getApplicationContext());
    

相关问题