在Here-Map Android sdk中的标记旁边显示文本。

问题描述:

我使用我的Android应用程序的HereMap。我可以在地图上绘制标记,但无法在标记旁边显示文本。已经尝试过使用setTitle和MapLabeledMarker,但这些似乎没有工作。 如何在HereMap Android sdk的地图上绘制标记旁边显示一些文本?在Here-Map Android sdk中的标记旁边显示文本。

实现此目的的最佳方式是使用常规的android视图布局,通过Canvas API将其膨胀并绘制到位图。根据需要使用位图作为标记的图像。

这提供了最佳性能,因为图形引擎会缓存您提供的位图并使用硬件加速来渲染它。

+0

我以这种方式实现它,它工作。但这种方法的问题是标记变得太大。假设我正在使用针图像来针对特定的位置,在做完这些之后,标记本身变得太大而无法针对某个位置。任何处理这个问题的解决方案都非常感谢? –

+0

我不明白这个问题。你的意思是太大?图像宽度和高度可以使用位图方法修改。 – Teriblus

+0

在标记旁边添加文本之前,标记指向特定的位置,使用的图像与此[链接]类似(https://lh4.ggpht.com/Tr5sntMif9qOPrKV_UVl7K8A_V3xQDgA7Sw_qweLUFlg76d_vGFA7q1xIKZ6IcmeGqg=w300)。添加文本后,整个标记图像的宽度变为100dp左右,无法正确定位位置。图像的针点随着我们放大或缩小地图而移动,因为它位于现在指向位置的位图(图像加文本)的中间位置。我期望的是,只有图像应该指向我的位置,而不管文本有多长。我希望它能澄清我的问题。 –

MapLabeledMarker是工作,但在渲染不能提供足够的控制,有时文本隐藏某种原因(在另一标志,道路元素等)

我加入adressing这个问题两个标记,一个用于图像,另一个用于文本。我使用android.graphics.Paint在位图中绘制文本。

这可能比David Leong解决方案的性能更差,但它提供了一种使用MapObject.setVisibleMask方法隐藏较低缩放级别文本的方法。

+0

我会尽力这样做。也许我用戴维给出的其他解决方案解决的问题可以用这种方法解决。 –