Actually this isn't working for me. I placed the line of code in the body onload handler and in the map onload handler, and it appeared that the tolerance didn't change, even when clicking a graphic in the browser. Below is some code, maybe I'm missing something?
<head>
<script type="text/javascript">
djConfig = {
parseOnLoad: true,
baseUrl: "./",
modulePaths: {
"mapscript": "./mapscript"
}
};
</script>
<script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=2.5compact">
</script>
<style type="text/css">
html, body
{
height: 100%;
margin: 0px;
padding: 0px;
width: 100%;
}
</style>
<link rel="stylesheet" type="text/css" href="mapscript/infoWindow.css" />
<script type="text/javascript">
dojo.require("esri.layers.FeatureLayer");
dojo.require("esri.dijit.InfoWindow");
dojo.require("mapscript.InfoWindow");
function init() {
var infoWindow = new mapscript.InfoWindow({
domNode: dojo.create("div", null, dojo.byId("map"))
});
//create map and add layer
map = new esri.Map("map", {
logo: false,
infoWindow: infoWindow
});
var template = new esri.InfoTemplate("<b>${DESCRIPTION}</b>", "${Type}");
var featureLayer = new esri.layers.FeatureLayer("http://server/ArcGIS/rest/MyMapService/MapServer/0", {
mode: esri.layers.FeatureLayer.MODE_ONDEMAND,
infoTemplate: template,
outFields: ["DESCRIPTION","Type"],
opacity: 0
});
featureLayer.setDefinitionExpression("Type IN('Food','Shop','ATM') OR Type LIKE '%Restroom%'");
map.infoWindow.resize(180, 75);
var tiledMapServiceLayer = new esri.layers.ArcGISTiledMapServiceLayer("http://server/ArcGIS/rest/MyMapService/MapServer");
map.addLayer(tiledMapServiceLayer);
map.addLayer(featureLayer);
//esri.layers._GraphicsContainer.prototype._tolerance = 40;
dojo.connect(map, "onLoad", function (evt) {
//hide zoom slider
map.hideZoomSlider();
esri.layers._GraphicsContainer.prototype._tolerance = 40;
});
}
dojo.addOnLoad(init);
</script>
</head>
<body>
<div id="map" style="width:100%; height:100%;"></div>
<body>