Robert - here is all my code for the page -- I've changed it a bit so that the layerlist is being added to the title pane as content -- this gets the layerlist inside the titlepane, but unfortunately the list renders as 'undefined'. I think the list is ok, because it appears normally if I dont try to put it inside the title pane
Thanks
Pete
define([
"esri/Map",
"esri/views/MapView",
"esri/layers/FeatureLayer",
"esri/layers/MapImageLayer",
"esri/layers/support/Sublayer",
"esri/widgets/LayerList",
"esri/widgets/Legend",
"esri/widgets/Home",
"esri/widgets/BasemapToggle",
"esri/widgets/Search",
"dojo/_base/declare",
"dojo/_base/lang",
"dojo/dom",
"dojo/on",
"dijit/TitlePane",
"dijit/layout/ContentPane",
"dijit/_WidgetBase",
"dijit/_TemplatedMixin",
"dijit/_WidgetsInTemplateMixin",
"dojo/text!Templates/BenUseMap.htm",
"dijit/form/Button"
], function (Map, MapView, FeatureLayer, MapImageLayer, SubLayer, LayerList, Legend, Home, BasemapToggle, Search,
declare, lang, dom, on, TitlePane, ContentPane, _WidgetBase, _TemplatedMixin,
_WidgetsInTemplateMixin, BenUseMapTpl) {
return declare([_WidgetBase, _TemplatedMixin, _WidgetsInTemplateMixin], {
templateString: BenUseMapTpl,
map: "", //map
postCreate: function () {
map = new Map({
basemap: "topo",
});
var view = new MapView({
container: "mapDiv",
map: map,
zoom: 9,
center: [-117.3, 33.9]
});
var flRivers = new FeatureLayer({
url: "x"
});
var flLakes = new FeatureLayer({
url: "y"
});
var flBays = new FeatureLayer({
url: "z"
});
var flWetlands = new FeatureLayer({
url: "a"
});
var flGWMZ = new FeatureLayer({
url: "b"
});
view.then(function () {
map.add(flGWMZ);
map.add(flBays);
map.add(flWetlands);
map.add(flLakes);
map.add(flRivers);
var ll = new LayerList({
view: view
});
//create the title pane to hold the layer list
var tp = new TitlePane({
title: "Layers",
id: "tp",
content: ll
});
dom.byId("mapDiv").appendChild(tp.domNode);
tp.startup();
//add the titlepane to the lower left
view.ui.add(tp, "bottom-left");
// Add widget to the lower left corner of the view
//view.ui.add(ll, "bottom-left");
//Home button
var homeBtn = new Home({
view: view
});
// Add the home button to the top left corner of the view
view.ui.add(homeBtn, "top-left");
//Basemap toggle
var toggle = new BasemapToggle({
view: view,
nextBasemap: "satellite"
});
// Add widget to the top right corner of the view
view.ui.add(toggle, "bottom-right");
var searchWidget = new Search({
view: view
});
// Adds the search widget below other elements in
// the top left corner of the view
view.ui.add(searchWidget, {
position: "top-left",
index: 0
});
});
},
});
});