I have a map at
http://tearitory.com/land-rush/#stake I'm using leaflet vector layers and leaflet providers plugins.
I'm trying to add vector layers from an AGS server like this:
map1 = new L.Map("leafMap", {
center: new L.LatLng(39.8, -89.4),
zoom: 7,
maxZoom: 16
});
defaultLayer = L.tileLayer.provider('Esri.WorldTopoMap').addTo(map1);
baseLayers = {
'OpenStreetMap Mapnik': L.tileLayer.provider('OpenStreetMap.Mapnik'),
'OpenStreetMap German Style': L.tileLayer.provider('OpenStreetMap.DE'),
'OpenStreetMap Black and White': L.tileLayer.provider('OpenStreetMap.BlackAndWhite'),
'Thunderforest OpenCycleMap': L.tileLayer.provider('Thunderforest.OpenCycleMap'),
'Thunderforest Transport': L.tileLayer.provider('Thunderforest.Transport'),
'Thunderforest Landscape': L.tileLayer.provider('Thunderforest.Landscape'),
'MapQuest OSM': L.tileLayer.provider('MapQuestOpen.OSM'),
'MapQuest Aerial': L.tileLayer.provider('MapQuestOpen.Aerial'),
'Stamen Toner': L.tileLayer.provider('Stamen.Toner'),
'Stamen Terrain': L.tileLayer.provider('Stamen.Terrain'),
'Stamen Watercolor': L.tileLayer.provider('Stamen.Watercolor'),
'Esri WorldStreetMap': L.tileLayer.provider('Esri.WorldStreetMap'),
'Esri DeLorme': L.tileLayer.provider('Esri.DeLorme'),
'Esri WorldTopoMap': defaultLayer,
'Esri WorldImagery': L.tileLayer.provider('Esri.WorldImagery'),
'Esri WorldPhysical': L.tileLayer.provider('Esri.WorldPhysical'),
'Esri OceanBasemap': L.tileLayer.provider('Esri.OceanBasemap'),
'Esri NatGeoWorldMap': L.tileLayer.provider('Esri.NatGeoWorldMap'),
'Esri WorldGrayCanvas': L.tileLayer.provider('Esri.WorldGrayCanvas'),
'Nokia Normal Day': L.tileLayer.provider('Nokia.normalDay'),
'Nokia Normal Day Grey': L.tileLayer.provider('Nokia.normalGreyDay'),
'Nokia Satellite': L.tileLayer.provider('Nokia.satelliteNoLabelsDay'),
'Nokia Satellite (Labeled)': L.tileLayer.provider('Nokia.satelliteYesLabelsDay'),
'Nokia Terrain': L.tileLayer.provider('Nokia.terrainDay'),
//'Acetate': L.tileLayer.provider('Acetate')
};
ags_oil = new lvector.AGS({
url: "http://maps.isgs.illinois.edu/arcgis/rest/services/ILOIL/Oil_and_Gas_Fields/MapServer/2",
fields: "*",
uniqueField: "OBJECTID",
scaleRange: [7,16],
symbology: {
type: "single",
vectorOptions: {
weight: 1,
opacity: 0.8,
color: "#F86100",
fillOpacity: 0.5
}
}
});
overlayLayers = {
'Oil & Gas Fields': ags_oil
};
layerControl = L.control.layers(baseLayers, overlayLayers, {collapsed: true, nowrap: true}).addTo(map1);If I add the ags_oil layer directly, like
ags_oil.setMap(map1); it displays properly.
If I try to add the layer to the layer controller, using overlayLayers above, clicking the checkbox in the layer control causes this error at leaflet.js, line 6:
TypeError: t.onAdd is not a function
What am I screwing up?