##' Plot REmap in knitr
##'
##' @description
##' Function for plotting REmap in knitr
##'
##'
##'
##' @param objct  an REmap object for plotting
##' @param height  height for the DOM of REmap
##' @param width   width for the DOM of REmap
##'
##' @details
##' After using the remap.init function, you can use this function
##' for plotting REmap in knitr in any chuck
##'
##' @examples
##' library(REmap)
##' out = remap(demoC)
##' knitrREmap(out)
knitrREmap = function(object,
                      height = "300px",
                      width = "100%",
                      local = F){
  if(.Platform$OS.type == "windows"){
    locate = Sys.getlocale("LC_CTYPE")
    Sys.setlocale("LC_CTYPE",
                  "chs")
 #   local = T
  }
    if(local){
    # if(!dir.exists("js")){
      dir.create("js")
    # }
  }
  if(object@maptype == "Bmap"){
    foot = sub("optionNameData",
               paste0("option", object@id), html.knitr.list$Bmap.foot)
    ##write Bmap content
    content = paste0(html.knitr.list$Bmap.head,
                     object@option,
                     foot)
    content = sub("#main",
                  paste0("#",object@id)
                   ,content)
  }else if(object@maptype == "SVG"){
    head = sub("optionNameData",
               paste0("option", object@id), html.knitr.list$SVG.head)
    foot = sub("optionNameData",
               paste0("option", object@id), html.knitr.list$SVG.foot)
    ## write SVG content
    content = paste0(head,
                     object@option,
                     foot)
    content = sub("main",
                   object@id
                   ,content)
  }else if(object@maptype == "SVGH"){
    foot = sub("optionNameData",
               paste0("option", object@id), html.knitr.list$SVGH.foot)
      ## write SVG content
      content = paste0(html.knitr.list$SVGH.head,
                       object@option,
                       foot)
      content = sub("main",
                    object@id
                    ,content)
  }
  if(local){
    file_name = paste0(object@id,".js")
    writeLines(content,
               paste0("js/",file_name),
               useBytes = T)
  }
  if(.Platform$OS.type == "windows"){
    Sys.setlocale("LC_CTYPE",locate)
  }
  if(local){
  htmltools::tagList(
    ### initial for echarts svg
    htmltools::tag("div",list(
      id = object@id,
      style = sprintf("height:%s; width:%s",height,width))),
    htmltools::tag("script",list(
      src = sprintf("js/%s.js",object@id))))
  }else{
    htmltools::tagList(
      ### initial for echarts svg
      htmltools::tag("div",list(
        id = object@id,
        style = sprintf("height:%s; width:%s",height,width))),
      htmltools::tag("script",list(
        content)))
  }
}
html.knitr.list = list(Bmap.head = "",
                       Bmap.foot = "
var myChart = BMapExt.initECharts(container);
                       window.onresize = myChart.onresize;
                       BMapExt.setOption(optionNameData);
                       }
);
                       })();",
                       SVG.head = "  var myChart = echarts.init(document.getElementById(\"main\"));
                       var optionNameData = ",
                       SVG.foot = ";
  myChart.setOption(optionNameData);	",
                       SVGH.head =
    "  var myChart = echarts.init(document.getElementById(\"main\"));",
                       SVGH.foot = ";
  myChart.setOption(optionNameData);	"
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.