首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Openlayers图标定位

Openlayers图标定位
EN

Stack Overflow用户
提问于 2018-07-10 14:48:41
回答 1查看 1.2K关注 0票数 1

我试图定位一个图标在一个现有的多边形在开放层。

我用多边形的范围找到它的中心:

代码语言:javascript
复制
extent.getCenter(feature.getGeometry().getExtent());

然后将地图上的标记位置设置为。

如果多边形的形状相对简单,它就能工作。然而,对于一些更高级的多边形,图标似乎被放置在多边形之外。

在这张图中:

我已经标记了大“三角形”的图标和标签一个黑暗的圆圈。

标签似乎知道如何坐在多边形内,但图标却不知道,可能是因为标签的位置是在Openlayers内部计算的。

标签是通过将标签上的样式定义为文本对象来设置的。也可以在样式中定义图像,但不幸的是,它也被放置在多边形之外。

是否有任何方法使图标定位在标签所在的位置,或者只是让它始终位于绘制的多边形内?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-10 21:34:59

您应该使用来自getInteriorPointol.geom.Polygon方法。有关详细信息,请参见API Polygon-Polygon.html#getInteriorPoint

您还可以看到演示使用“月亮”形状的多边形来演示“它工作”。通常,质心应该在这种形状之外,而对于函数,返回的点在内部。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51268268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档