Thanks for reply. I am able to create my own Query to filte data using Location on map option in C#.net. But The below last refresh option is not working.
I could see the applied query in Create query form. but it is not refreshed on map.
Any one please help me.
stringgeometryName = parcelsLayer1.GetFeatureGeometryName();
MgByteReadergeometryData = featureReader.GetGeometry(geometryName);
MgAgfReaderWriter agfReaderWriter = newMgAgfReaderWriter();
MgGeometrygeometry = agfReaderWriter.Read(geometryData);
MgPolygon mgPoly = geometry asMgPolygon;
MgWktReaderWriter wktReaderWriter = newMgWktReaderWriter();
stringwkt = wktReaderWriter.Write(mgPoly);
wkt = wkt.Replace(
"POLYGON", "POLYGON XYZ ");
wkt = wkt.Replace(
",", " 0,");
wkt = wkt.Replace(
"))", " 0))");
string filter = "GEOM INSIDE GeomFromText('" + wkt + "')";
AcMapLayer layer1 = mgLayColl.GetItem("EL_CONDUCTOR") asAcMapLayer;
MgResourceIdentifierlayerDefId = layer1.GetLayerDefinition();
MgResourceService rs = AcMapServiceFactory.GetService(MgServiceType.ResourceService) asMgResourceService;
MgByteReaderlayerReader = rs.GetResourceContent(layerDefId);
XmlDocument objXML = newXmlDocument();
XmlSerializer objSerializer = newXmlSerializer(typeof(LayerDefinition));
LayerDefinition objLayerDef = objSerializer.Deserialize(newStringReader(layerReader.ToString())) asLayerDefinition;
VectorLayerDefinitionType objVectorLayerDef = objLayerDef.Item asVectorLayerDefinitionType;
objVectorLayerDef.Filter = filter;
StringWriter objWriter = newStringWriter();
XmlSerializer objXs = newXmlSerializer(typeof(LayerDefinition));
objXs.Serialize(objWriter, objLayerDef);
byte[] unicodeBytes = Encoding.Unicode.GetBytes(objWriter.ToString());
byte[] utf8Bytes = Encoding.Convert(Encoding.Unicode, Encoding.UTF8, unicodeBytes);
MgByteSource objSource = newMgByteSource(utf8Bytes, utf8Bytes.Length);
rs.SetResource(layer1.LayerDefinition, objSource.GetReader(),
null);
layer1.NeedsRefresh();
layer1.ForceRefresh();