当前位置: 首页>>代码示例>>C++>>正文


C++ Map::getLayer方法代码示例

本文整理汇总了C++中mapnik::Map::getLayer方法的典型用法代码示例。如果您正苦于以下问题:C++ Map::getLayer方法的具体用法?C++ Map::getLayer怎么用?C++ Map::getLayer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在mapnik::Map的用法示例。


在下文中一共展示了Map::getLayer方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: parameterize_map_language

static void parameterize_map_language(mapnik::Map &m, char * parameter) { 
    int i; 
    char * data = strdup(parameter); 
    char * tok; 
    char ** ctx; 
    char name_replace[256]; 
    
    name_replace[0] = 0; 
    syslog(LOG_DEBUG, "Internationalizing map to language parameter: %s", parameter); 
    tok = strtok(data,","); 
    if (!tok) return; //No parameterization given 
    strncat(name_replace, ", coalesce(", 255); 
    while (tok) { 
        if (strcmp(tok,"_") == 0) { 
            strncat(name_replace,"name,", 255); 
        } else { 
            strncat(name_replace,"tags->'name:", 255); 
            strncat(name_replace, tok, 255); 
            strncat(name_replace,"',", 255); 
        } 
        tok = strtok(NULL, ","); 
        
    }
    free(data);
    name_replace[strlen(name_replace) - 1] = 0; 
    strncat(name_replace,") as name", 255); 
    for (i = 0; i < m.layer_count(); i++) { 
        mapnik::layer& l = m.getLayer(i); 
        
        mapnik::parameters params = l.datasource()->params(); 
        if (params.find("table") != params.end()) { 
            if (boost::get<std::string>(params["table"]).find(",name") != std::string::npos) { 
                std::string str = boost::get<std::string>(params["table"]); 
                size_t pos = str.find(",name"); 
                str.replace(pos,5,name_replace); 
                params["table"] = str; 
#if MAPNIK_VERSION >= 200200
                std::shared_ptr<mapnik::datasource> ds = mapnik::datasource_cache::instance().create(params); 
#else
                std::shared_ptr<mapnik::datasource> ds = mapnik::datasource_cache::instance()->create(params);
#endif
                l.set_datasource(ds); 
            } 
        } 
        
    } 
}
开发者ID:yiqingj,项目名称:mod_tile,代码行数:47,代码来源:parameterize_style.cpp


注:本文中的mapnik::Map::getLayer方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。