[mapguide-users] layerdefinitionfactory with .NET

m.karam m21384k at yahoo.com
Tue Mar 6 04:04:55 EST 2007


Hi,

Many thanks for you Jackie
it works good

Regards

Karam


Jackie Ng wrote:
> 
> Hi there,
> 
> There is no .NET equivalent to LayerDefintionFactory. You'll have to port
> it over to .net.
> 
> layerdefinitionfactory.php simply takes a bunch of xml templates in the
> "viewerfiles" directory of your web extensions install folder and fills in
> the blanks with the parameters you provide.
> 
> example of CreateAreaRule() in .net:
> 
> class LayerDefinitionFactory
> {
>     ...
> 
>     public static string CreateAreaRule(string legendLabel, string
> filterText, string foreGroudColor)
>     {
>         StreamReader reader = new StreamReader("path/to/arearule.templ");
>         string areaRuleXml = reader.ReadToEnd();
>         string [] values = new string[] { legendLabel, filterText,
> foreGroundColor };
>         areaRuleXml = Substitute(areaRuleXml, values);
>         return areaRuleXml;
>     }
>     
>     ...
>     
>     static String Substitute(String templ, String[] vals)
>     {
>         StringBuilder res = new StringBuilder();
>         int index = 0, val = 0;
>         bool found;
>         do
>         {
>             found = false;
>             int i = templ.IndexOf('%', index);
>             if(i != -1)
>             {
>                 found = true;
>                 res.Append(templ.Substring(index, i - index));
>                 if(i < templ.Length - 1)
>                 {
>                     if(templ[i+1] == '%')
>                         res.Append('%');
>                     else if(templ[i+1] == 's')
>                         res.Append(vals[val ++]);
>                     else
>                         res.Append('@');    //add a character illegal in
> jscript so we know the template was incorrect
>                     index = i + 2;
>                 }
>             }
>         } while(found);
>         res.Append(templ.Substring(index));
>         return res.ToString();
>     }
> }
> 
> 
> Other CreateXXX functions are variations on the above example.
> 
> Regards,
> 
> - Jackie
> 
> 
> m.karam wrote:
>> 
>> Hi everybody
>> 
>> How can I use the (layerdefinitionfactory.php) API functions witn .NET ?
>> 
>> thanks
>> 
>> Karam
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/layerdefinitionfactory-with-.NET-tf3347652s16610.html#a9328358
Sent from the MapGuide Users mailing list archive at Nabble.com.



More information about the mapguide-users mailing list