Hi, I am working on utility network and allowing user to draw utility network in a web browser, the utility network is waterline, sewerline, valve, junction, bulkflow meter etc.,
For choosing the utility netwok I have a drop down, as user chooses the preferable network, I have to control, for which he has to snap
var waterlineFeatureLayer = new FeatureLayer("http://MapServer/15",
{ mode: FeatureLayer.MODE_ONDEMAND,outFields: ["*"]});
var ValveMapServiceLayer = new FeatureLayer("http://MapServer/16",
{ mode: FeatureLayer.MODE_ONDEMAND,outFields: ["*"]});
var BulkfmMapServiceLayer = new FeatureLayer("http://MapServer/17",
{ mode: FeatureLayer.MODE_ONDEMAND,outFields: ["*"]});
snapManager = map.enableSnapping({
alwaysSnap: true,
});
if (selectedValue == 'valve' || selectedValue == 'bfm' || selectedValue == 'junction') {
// this is hapening perfectly
var layerInfos = [{
layer: waterlineFeatureLayer
}];
snapManager.setLayerInfos(layerInfos);
} else if (selectedValue == 'waterline') {
// i have to allow user to snap to both valve and bulkflow meter
// not any other feature layer for example junction, manhole etc.,
var layerInfos2 = [{
layer: ValveMapServiceLayer,
}];
snapManager.setLayerInfos(layerInfos2);
var layerInfos3 = [{
layer: BulkfmMapServiceLaye
}];
snapManager.setLayerInfos(layerInfos3);
} else {
return;
}
I have tried with creating one more snapping manager but not worked
snapManager2 = map.enableSnapping({
alwaysSnap: true,});
var layerInfos3 = [{
layer: BulkfmMapServiceLayer
}];
snapManager2.setLayerInfos(layerInfos3);
I tried to pass the data like this, but did not worked
var layerInfos2 = [{
layer: {ValveMapServiceLayer, BulkfmMapServiceLayer}
}];
snapManager.setLayerInfos(layerInfos2);
I tried to pass the data like this also but did not worked
snapManager.setLayerInfos(layerInfos3, layerInfos2);
There is no code for this kind in blog or stackoverflow.. please help
it has to be passed like this... it is a array of layerInfo objects
if (selectedValue == '2') {
var layerInfos2 = [
{
layer: ValveMapServiceLayer
},
{
layer: BulkfmMapServiceLayer
}
];
snapManager.setLayerInfos(layerInfos2);