Behrouz,the issue is that in your require the BorderContainer and ContentPane screw up the order in your function, use the following code:<!DOCTYPE html>
<html>
<head>
<title>Create a Map</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no">
<link rel="stylesheet" href="http://js.arcgis.com/3.8/js/dojo/dijit/themes/claro/claro.css">
<link rel="stylesheet" href="http://js.arcgis.com/3.8/js/esri/css/esri.css">
<style>
html, body, #mapDiv{
padding: 0;
margin: 0;
height: 100%;
}
#HomeButton {
position: absolute;
top: 98px;
left: 21px;
z-index: 50;
}
</style>
<script src="http://js.arcgis.com/3.8/"></script>
<script>
require([
"esri/map",
"esri/dijit/OverviewMap", "dojo/parser",
"esri/dijit/HomeButton", "esri/layers/FeatureLayer", "dojo/dom-construct","dijit/layout/BorderContainer", "dijit/layout/ContentPane", "dojo/domReady!"
], function(
Map, OverviewMap,
parser, HomeButton, FeatureLayer
) {
parser.parse();
var map = new Map("mapDiv", {
basemap: "topo",
center: [-126.416, 55.781],
zoom: 6
});
//===================================================== Overview
var overviewMapDijit = new OverviewMap({
map: map,
visible: true
});
overviewMapDijit.startup();
//===================================================== Shapefile
//add a layer to the map
var featureLayer = new FeatureLayer("http://somewhere/1", {
mode: FeatureLayer.MODE_ONDEMAND,
});
map.addLayer(featureLayer);
//===================================================== Home Button
var home = new HomeButton({
map: map
}, "HomeButton");
home.startup();
});
</script>
</head>
<body class="claro">
<div id="mapDiv">
<div id="HomeButton"></div>
</div>
</body>
</html>
Hope this helps!Tim