diff --git a/include/mapnik/markers_placement.hpp b/include/mapnik/markers_placement.hpp index 6db046a33..88e20b55e 100644 --- a/include/mapnik/markers_placement.hpp +++ b/include/mapnik/markers_placement.hpp @@ -30,8 +30,6 @@ #include #include #include -#include -#include namespace mapnik { @@ -86,18 +84,21 @@ private: Detector &detector, markers_placement_params const& params) { - static const std::map> factories = - { - { MARKER_POINT_PLACEMENT, boost::value_factory>() }, - { MARKER_INTERIOR_PLACEMENT, boost::value_factory>() }, - { MARKER_LINE_PLACEMENT, boost::value_factory>() }, - { MARKER_VERTEX_FIRST_PLACEMENT, boost::value_factory>() }, - { MARKER_VERTEX_LAST_PLACEMENT, boost::value_factory>() } - }; - return factories.at(placement_type)(locator, detector, params); + switch (placement_type) + { + case MARKER_POINT_PLACEMENT: + return markers_point_placement(locator,detector,params); + case MARKER_INTERIOR_PLACEMENT: + return markers_interior_placement(locator,detector,params); + case MARKER_LINE_PLACEMENT: + return markers_line_placement(locator,detector,params); + case MARKER_VERTEX_FIRST_PLACEMENT: + return markers_vertex_first_placement(locator,detector,params); + case MARKER_VERTEX_LAST_PLACEMENT: + return markers_vertex_last_placement(locator,detector,params); + default: // point + return markers_point_placement(locator,detector,params); + } } markers_placement placement_;