通过css为地图区域着色外边界

时间:2015-10-07 11:13:17

标签: html css css3

是否有可能通过css在地图上以不同方式对颜色区域进行区分?我无法找到相关的帖子

我有这样的地图部分:

enter image description here

这个区域包含五个子区域,你可以看到。每个子区域边界都是红色的。我需要只做外边界(触摸海)是黑色

这里是相关代码:

对于外区

            mapdata.parentId = "c0";

            mapdata.name = a;
            mapdata.title = "Arron";
            mapdata.cName = "_21";            **<--Class Name**  
            mapdata.zoom = 0;
            mapdata.backUrl = "?v=arron&d=" + d;

            //get all arrondisments
            using (var query = new SiteAdminQuery())
            {
                DrawSingleArrondissment(a, query, paths);

                if (showCity)
                {
                    DrawAllCitiesForSelectedArrondissment(d, a, query, paths, false, true);
                }
            }

                mapdata.paths = paths.OrderByDescending(x => x.BoundaryDisplayOrder).ToArray();
            }

对于内地区:

  key = arrondissementSetUp.arrndsId.ToString(),
                    type = "a",
                    mType = string.Format("{0}: {1}", HEM.Resources.Globals.arrnds, arrondissementSetUp.name),
                    url = string.Format("?v={0}&d={1}&a={2}", "arron", arrondissementSetUp.deptId, arrondissementSetUp.arrndsId),

                   cName = "_New21",      **<--Class Name**

                    path = arrondissementSetUp.mainViewPathId.ToString(),
                    BoundaryDisplayOrder=3

这是地区的CSS:

._21 {
    fill: #ffff7d;
     stroke: #000000;
    stroke-width: 1;
}

  .New_21{
    fill: #ffff7d;
     stroke: #d10909;
    stroke-width: 1;
}

我尝试使用.class:After Property,但这不起作用。

我在这篇文章中找到了例子

CSS Outside Border

http://jsfiddle.net/A2tu9/191/

我使用

等关键字搜索谷歌

&#34; css:设置外部边界/边框颜色&#34;,&#34; css:设置内部边界/边框&#34;,并且像那样.. 但是找不到任何好的帖子。区域是使用地图坐标创建的,因此我无法发布整个代码..

如果需要任何其他资源,请告诉我。我会发布它

还请建议是否可以使用任何其他技术发生此事

1 个答案:

答案 0 :(得分:0)

所以看起来你的省份被SVG吸引了。没有一个属性可以做你需要它做的事情。您需要做的是在绘制出各个区域之后,您需要将整个岛屿作为单个SVG元素再次绘制出来(即一个整体形状,即整个岛屿的形状,忽略各个区域),以及设置fill: transparent; stroke:black;

因为您之后正在绘制它,它将位于现有岛屿的顶部,黑色边框将覆盖外部红色边缘。