#include "map/api_mark_point.hpp" #include "base/logging.hpp" #include namespace style { std::map kStyleToColor = { {"placemark-red", "BookmarkRed"}, {"placemark-blue", "BookmarkBlue"}, {"placemark-purple", "BookmarkPurple"}, {"placemark-yellow", "BookmarkYellow"}, {"placemark-pink", "BookmarkPink"}, {"placemark-brown", "BookmarkBrown"}, {"placemark-green", "BookmarkGreen"}, {"placemark-orange", "BookmarkOrange"} }; std::string GetSupportedStyle(std::string const & style) { auto const it = kStyleToColor.find(style); if (it == kStyleToColor.cend()) return "BookmarkGreen"; return it->second; } } // style ApiMarkPoint::ApiMarkPoint(m2::PointD const & ptOrg) : UserMark(ptOrg, UserMark::Type::API) {} ApiMarkPoint::ApiMarkPoint(std::string const & name, std::string const & id, std::string const & style, m2::PointD const & ptOrg) : UserMark(ptOrg, UserMark::Type::API) , m_name(name) , m_id(id) , m_style(style) {} drape_ptr ApiMarkPoint::GetSymbolNames() const { //TODO: use its own icon. auto symbol = make_unique_dp(); symbol->insert(std::make_pair(1 /* zoomLevel */, "coloredmark-default-s")); return symbol; } df::ColorConstant ApiMarkPoint::GetColorConstant() const { return m_style; } void ApiMarkPoint::SetName(std::string const & name) { SetDirty(); m_name = name; } void ApiMarkPoint::SetApiID(std::string const & id) { SetDirty(); m_id = id; } void ApiMarkPoint::SetStyle(std::string const & style) { SetDirty(); m_style = style; }