require(["esri/map", "esri/layers/FeatureLayer", "esri/renderers/SimpleRenderer", "esri/renderers/ClassBreaksRenderer", "esri/renderers/jsonUtils", "dojo/domReady!"], function(Map, FeatureLayer, SimpleRenderer, ClassBreaksRenderer, jsonUtils) {
var map = new Map("esri-map", {
center: [-118, 34.5],
zoom: 7,
basemap: "gray",
smartNavigation: false
});
map.on('load', function() {
map.disableScrollWheelZoom();
});
var layer = new FeatureLayer('http://services.arcgis.com/V6ZHFr6zdgNZuVG0/arcgis/rest/services/2012_CA_NHTSA/FeatureServer/0', {
mode: FeatureLayer.MODE_ONDEMAND,
outFields: ['*']
});
map.addLayer(layer);
layer.on('load', function() {
//console.log('layer', layer);
var json = {
type: 'simple',
symbol: layer.renderer.toJson().defaultSymbol
}
var rend = new SimpleRenderer(json);
layer.setRenderer(rend);
layer.redraw();
$.getJSON('http://opendataqa.arcgis.com/datasets/059972b3752b490c97d20c1b99c88702_0.json', function(res) {
var fields = res.data.fields;
malette = new Malette('esri-map', {
style: json,
formatIn: 'esri-json',
formatOut: 'esri-json',
fields: fields,
type: 'point'
});
malette.on('style-change', function( style ){
var rend = jsonUtils.fromJson(style);
layer.setRenderer(rend);
layer.redraw();
});
});
});
});