javascript - 仅在 bing map 中显示多边形区域

标签 javascript html bing-maps

我在 bing map 中有多边形矩形形状。如何修改代码以便仅显示多边形内部的区域...

这是代码:

        <script type="text/javascript" src="http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0"></script>

        <script type="text/javascript">

            function GetMap()
            {
                // Initialize the map
                var map = new Microsoft.Maps.Map(document.getElementById("mapDiv"),{credentials:"At7RkDItXU6kncQzZa8M9lFfMbzPgmulJYLkhYn5JMMZfHL86lNyFZvGWWngxaAP",
                                                 });

                // Create a polygon
                var vertices = new Array(new Microsoft.Maps.Location(20,-20), new Microsoft.Maps.Location(20,20), new Microsoft.Maps.Location(-20,20), new Microsoft.Maps.Location(-20,-20), new Microsoft.Maps.Location(20,-20));
                var polygoncolor = new Microsoft.Maps.Color(100,100,0,100);
                var polygon = new Microsoft.Maps.Polygon(vertices,{fillColor: polygoncolor, strokeColor: polygoncolor});

                // Add the polygon to the map
                map.entities.push(polygon);
            }

            </script>
        </head>
<body onload="GetMap();">
    <div id='mapDiv' style="position:relative; width:400px; height:400px;"></div>       
</body>

最佳答案

可以将其视为控件上的 mask 。

使用倒多边形 mask

该技术包括在当前边界框之外创建一个多边形,并将排除特定区域。

当然,这种方法有其局限性,其中之一是在这种情况下很难管理多个高级形状。

我们的阿拉斯泰尔同事在这篇博客文章中对此进行了解释,并且很容易进行调整,因此在使用高级形状模块时,所有内容都可以在客户端上仅使用全局多边形和“孔”运行:

http://alastaira.wordpress.com/2012/11/28/masking-out-particular-areas-of-interest-on-bing-maps/

Bing Maps masking polygon by Alastair

自重叠多边形 另一种解决方案是在当前边界框上创建一个多边形,以在所有可见区域的顶部绘制一个全局多边形,然后添加位置,以便多边形仅在您拥有自己的区域的地方循环。

默认情况下,融合模式会导致排除,从而隐藏两个多边形,您可以查看 SVG 中的一个有用属性,但它也可能有其限制,具体取决于浏览器。

关于javascript - 仅在 bing map 中显示多边形区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22228444/

相关文章:

javascript - 删除 Google Chrome 中的麦克风指示器

javascript - 如何将图像的值放入对象/数组中

php - 检测 Firefox 插件吗?

html - Label 标签语义

javascript - 如何使用纯 JavaScript 清除 Microsoft VirtualEarth 6.3 中的整个形状层?

silverlight - 如何绑定(bind)来自多个模型的 Bing 图钉?

javascript - 无法获取未定义或空引用的 GetElementsbyTagName 属性

jquery - 当 Flash 未随 jquery.swfobject 安装时显示替代内容

javascript - 从 javascript 添加的 Li 元素无法隐藏

c# - 将 XML 提要读入 XElement