我正在开发一个 Android 地图应用程序,并且我已经设法将 Google 的 ItemizedOverlay 教程应用到我的代码中。我在地图上很好地绘制了我的小圆圈。
但是,我想一直用它的标题来标记我的小符号。我将在我的地图上放置一些不同的符号,并且能够显示它们的标签将是一个很大的帮助。我得到了 onTap 方法,但是当您点击屏幕时,它会接管整个显示 - 这不是很有帮助。
我还没有设法在互联网上找到有关此的内容,所以我并不乐观,但如果有人有任何建议,将不胜感激。
我正在开发一个 Android 地图应用程序,并且我已经设法将 Google 的 ItemizedOverlay 教程应用到我的代码中。我在地图上很好地绘制了我的小圆圈。
但是,我想一直用它的标题来标记我的小符号。我将在我的地图上放置一些不同的符号,并且能够显示它们的标签将是一个很大的帮助。我得到了 onTap 方法,但是当您点击屏幕时,它会接管整个显示 - 这不是很有帮助。
我还没有设法在互联网上找到有关此的内容,所以我并不乐观,但如果有人有任何建议,将不胜感激。
不确定onTap
与此有什么关系,或者您所说的“它接管了整个显示器”是什么意思,但我认为要显示标签,您必须自己绘制它们。你可以通过几种方式做到这一点。一种是直接覆盖该ItemizedOverlay.draw
方法,并遍历您的每一个GeoPoints
并将标题直接绘制到Canvas
该位置的某个小偏移处。另一种可能的方法是返回自定义标记;除了返回符号之外,您还可以Picture
通过绘制圆圈然后在其旁边绘制一些文本来创建 a,然后您可以将其包装在 a 中PictureDrawable
并将其用作叠加项目的标记。
我的 onTap 方法如下所示:
受保护的布尔 onTap(整数索引) { OverlayItem item = mOverlays.get (index); AlertDialog.Builder 对话框 = new AlertDialog.Builder (mContext); dialog.setTitle (item.getTitle()); dialog.setMessage (item.getSnippet()); 对话框.show(); 返回真; }
调用应用程序在实例化 Itemized Overlay 时传入其上下文 (this)。我仍然不确定这意味着什么,但我将传入的上下文保存在 mContext 中,并在 onTap() 中使用它。当然,我不能真正为此归功于它,因为其他人在互联网上发帖。它确实在屏幕上显示了叠加层的信息,但(对我来说不幸的是)不是以我满意的方式。
我正在努力覆盖 draw 方法,但这已经被打断了很多,并且仍处于早期阶段。如果有兴趣,我会在这里发布。
R。