我目前正在传单中实现一个地图,其中包含大约100个左右的多边形。我的问题是我需要使用一种算法来绘制多边形(或替换它们),该算法确定多边形中每个点的颜色;目前是一种隔离的反距离加权算法(IDW),用于在多边形内生成孤立的热图。
为了说明,请考虑绘制类似的内容:
https://cdn.dribbble.com/users/1376/screenshots/81962/shot_1290433321.png
- 在多边形内。
现在,你会怎么做?
请注意,一旦添加到传单中,一个Polygon会生成一个类似于以下内容的svg:
<g>
<path class="leaflet-interactive"
stroke="#3388ff"
stroke-opacity="1"
stroke-width="3"
stroke-linecap="round"
stroke-linejoin="round"
fill="#3388ff"
fill-opacity="0.2"
fill-rule="evenodd"
d="M515 304L515 347L160 684L160 304z">
</path>
<path class="leaflet-interactive"
stroke="#3388ff"
stroke-opacity="1"
stroke-width="3"
stroke-linecap="round"
stroke-linejoin="round"
fill="#3388ff"
fill-opacity="0.2"
fill-rule="evenodd"
d="M515 304L515 347L160 684L160 304z">
</path>
</g>
答案 0 :(得分:0)
我认为最好的解决方案是为地图创建一个svg wchar_t dir[_MAX_DIR] = {0};
wchar_t drive[_MAX_DRIVE] = {0};
wchar_t fname[_MAX_FNAME] = {0};
wchar_t ext[_MAX_EXT] = {0};
errno_t err;
std::wstring path = L"c:\\this\\is\\a\\test.exe";
err = _wsplitpath_s(path.c_str(),&drive[0],_MAX_DRIVE,&dir[0],_MAX_DIR,&fname[0],_MAX_FNAME,&ext[0],_MAX_EXT);
元素。将svg多边形元素放入组中。然后直接在这些标准的svg多边形元素上运用你的魔法。
要创建此svg <g>
,请使用:L.svg()。addTo(map);
RE:我仍然完全迷失了如何在其中一条路径中“画画”
使用多边形(或路径)点创建svg clipPath元素。然后在要剪辑的图像上包含剪辑路径属性