diff --git a/bindings/python/mapnik_symbolizer.cpp b/bindings/python/mapnik_symbolizer.cpp index 34a7fca79..aeb2d8ea1 100644 --- a/bindings/python/mapnik_symbolizer.cpp +++ b/bindings/python/mapnik_symbolizer.cpp @@ -75,6 +75,7 @@ using namespace boost::python; void __setitem__(mapnik::symbolizer_base & sym, std::string const& name, mapnik::symbolizer_base::value_type const& val) { + //std::cerr << "__setitem__ " << typeid(val).name() << std::endl; put(sym, mapnik::get_key(name), val); } @@ -116,10 +117,11 @@ struct symbolizer_to_json : public boost::static_visitor bool first = true; for (auto const& prop : sym.properties) { + auto const& meta = mapnik::get_meta(prop.first); if (first) first = false; else ss << ","; - ss << "\"" << std::get<0>(get_meta(prop.first)) << "\":"; - ss << "\"\""; //prop.second ; FIXME + ss << "\"" << std::get<0>(meta) << "\":"; + ss << boost::apply_visitor(mapnik::symbolizer_property_value_string(meta),prop.second); } ss << "}}"; return ss.str(); @@ -206,6 +208,7 @@ void export_symbolizer() { using namespace boost::python; + implicitly_convertible(); implicitly_convertible(); implicitly_convertible(); implicitly_convertible();