我在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>
答案 0 :(得分:2)
可以将其视为控件上的遮罩。
使用倒置多边形进行遮罩
该技术包括从当前边界框中创建多边形,并排除特定区域。
当然,这种方法有其局限性,在这种情况下很难管理多个高级形状。
我们的Alastair在这篇博客文章中对此进行了解释,并且很容易进行调整,因此在使用高级形状模块时,所有内容都只在客户端运行,只有全局多边形和“洞”:
http://alastaira.wordpress.com/2012/11/28/masking-out-particular-areas-of-interest-on-bing-maps/
自重叠多边形 另一种解决方案是在当前边界框上创建一个多边形,以在所有可见区域的顶部绘制一个全局多边形,然后添加位置,使多边形仅在您拥有自己的区域时循环。
默认情况下,融合模式会导致隐藏两个多边形的排除,您可以查看SVG中的有用属性,但它也可以根据浏览器进行限制。
答案 1 :(得分:0)
我假设您要删除边框。如果是这种情况,请将strokeThickness设置为0,并且不要设置strokeColor