+ add load_map() and save_map() support for reading and writing of abstract, title, minzoom, maxzoom, and queryable attributes
This commit is contained in:
parent
14fa35fb18
commit
68e784dfdd
3 changed files with 59 additions and 1 deletions
|
@ -14,4 +14,4 @@ For a complete change history, see the SVN log.
|
|||
Current Version (0.5.2-dev, SVN trunk):
|
||||
---------------------------------------
|
||||
|
||||
- file.cpp: change (r#)
|
||||
- load_map.cpp and save_map.cpp: Added xml serialization for abstract, title, minzoom, maxzoom, and queryable attributes (r787)
|
|
@ -312,6 +312,7 @@ namespace mapnik
|
|||
try
|
||||
{
|
||||
name = get_attr(lay, "name", string("Unnamed"));
|
||||
|
||||
// XXX if no projection is given inherit from map? [DS]
|
||||
std::string srs = get_attr(lay, "srs", map.srs());
|
||||
|
||||
|
@ -323,6 +324,36 @@ namespace mapnik
|
|||
lyr.setActive( * status );
|
||||
}
|
||||
|
||||
optional<std::string> title = get_opt_attr<string>(lay, "title");
|
||||
if (title)
|
||||
{
|
||||
lyr.set_title( * title );
|
||||
}
|
||||
|
||||
optional<std::string> abstract = get_opt_attr<string>(lay, "abstract");
|
||||
if (abstract)
|
||||
{
|
||||
lyr.set_abstract( * abstract );
|
||||
}
|
||||
|
||||
optional<double> minZoom = get_opt_attr<double>(lay, "minzoom");
|
||||
if (minZoom)
|
||||
{
|
||||
lyr.setMinZoom( * minZoom );
|
||||
}
|
||||
|
||||
optional<double> maxZoom = get_opt_attr<double>(lay, "maxzoom");
|
||||
if (maxZoom)
|
||||
{
|
||||
lyr.setMaxZoom( * maxZoom );
|
||||
}
|
||||
|
||||
optional<boolean> queryable = get_opt_attr<boolean>(lay, "queryable");
|
||||
if (queryable)
|
||||
{
|
||||
lyr.setQueryable( * queryable );
|
||||
}
|
||||
|
||||
optional<boolean> clear_cache =
|
||||
get_opt_attr<boolean>(lay, "clear_label_cache");
|
||||
if (clear_cache)
|
||||
|
|
|
@ -370,13 +370,40 @@ namespace mapnik
|
|||
{
|
||||
set_attr( layer_node, "name", layer.name() );
|
||||
}
|
||||
|
||||
if ( layer.abstract() != "" )
|
||||
{
|
||||
set_attr( layer_node, "abstract", layer.abstract() );
|
||||
}
|
||||
|
||||
if ( layer.title() != "" )
|
||||
{
|
||||
set_attr( layer_node, "title", layer.title() );
|
||||
}
|
||||
|
||||
if ( layer.srs() != "" )
|
||||
{
|
||||
set_attr( layer_node, "srs", layer.srs() );
|
||||
}
|
||||
|
||||
set_attr/*<bool>*/( layer_node, "status", layer.isActive() );
|
||||
set_attr/*<bool>*/( layer_node, "clear_label_cache", layer.clear_label_cache() );
|
||||
|
||||
if ( layer.getMinZoom() )
|
||||
{
|
||||
set_attr( layer_node, "minzoom", layer.getMinZoom() );
|
||||
}
|
||||
|
||||
if ( layer.getMaxZoom() )
|
||||
{
|
||||
set_attr( layer_node, "maxzoom", layer.getMaxZoom() );
|
||||
}
|
||||
|
||||
if ( layer.isQueryable() )
|
||||
{
|
||||
set_attr( layer_node, "queryable", layer.isQueryable() );
|
||||
}
|
||||
|
||||
std::vector<std::string> const& style_names = layer.styles();
|
||||
for (unsigned i = 0; i < style_names.size(); ++i)
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue