1

似乎 an 中的标记ItemizedOverlay不会显示在地图中,除非您调用boundCenter()boundCenterBottom()在默认标记上。

这是正确的,如果是,为什么?是不是默认情况下根本没有设置(0,0)点,因此Android不知道如何放置标记?

更新:

我看到你也有 Drawable.setBounds(),所以我假设boundCenter()并且boundCenterBottom()正在调用这个方法。如何决定将 Drawable 的哪一部分用作地图上的定位点?

4

2 回答 2

3

请参阅此示例以了解如何使用boundCenter()

我相信要让 boundCenter() 调用起作用,你的 Drawable 应该有一些内在的宽度和高度。我猜它的工作原理是这样的:

public static Drawable boundCenter(Drawable d)
{
     d.setBounds(d.getIntrinsicWidth() /- 2, d.getIntrinsicHeight() / -2,
                 d.getIntrinsicWidth / 2, d.getIntrinsicHeight() / 2);
     return d;
}

这会将边界从顶部/左侧偏移到底部/中心。

于 2011-04-07T17:14:16.660 回答
0

如果您希望它们出现,您必须以某种方式设置 BOUNDS。不管你使用哪种方法,但如果你的drawable没有边界,它的边界是0,0,0,0或类似的东西,你什么也看不到。

于 2012-04-11T17:30:58.843 回答