当前位置: 首页 > 知识库问答 >
问题:

带有自定义标记的android Maps API v2

昌乐
2023-03-14

我想用自定义标记制作地图。在APIV2中,我可以为标记设置图标、标题等。但我想在一开始就显示带有标记的标题。现在标题显示只有当我磁带标记。在v1中是覆盖,但在v2中我没有发现任何类似的东西。

编辑:也许我说得不够清楚。API中类似marker.showInfowIndow()的东西只对一个标记起作用。我无法同时显示所有标记的信息窗口。无论如何,我需要显示我的所有标记的标题,而不等待用户将点击它。

共有1个答案

赫连晋
2023-03-14

我也偶然发现了这个问题。V2 API是向前迈出的一步,后退了两步。Google,请在Marker或GoogleMap类上添加一个可覆盖的'draw'方法,这样我们就可以自定义绘图了。

一个可能的解决方案是动态生成位图并将其附加到标记。即创建画布,插入标记位图,在标记旁边绘制文本。这涉及到一些痛苦的计算(标记位图和文本相邻的适当画布大小)。不幸的是,Marker中没有setIcon方法,所以每次文本更改时,都必须创建一个新的Marker。如果你只是在地图上有一个标记可能没问题,但是有几十个标记,这可能就行不通了。此外,动态创建这些位图可能存在内存问题。示例代码(只有文本):

Bitmap.Config conf = Bitmap.Config.ARGB_8888; 
Bitmap bmp = Bitmap.createBitmap(200, 50, conf); 
Canvas canvas = new Canvas(bmp);

canvas.drawText("TEXT", 0, 50, paint); // paint defines the text color, stroke width, size
mMap.addMarker(new MarkerOptions()
                                .position(clickedPosition)
                                //.icon(BitmapDescriptorFactory.fromResource(R.drawable.marker2))
                                .icon(BitmapDescriptorFactory.fromBitmap(bmp))
                                .anchor(0.5f, 1)
                                    );

希望谷歌会添加适当的方法,这样我们就可以很容易地做到这一点。该死,我真的很喜欢V2 API中新的地图旋转特性。

 类似资料:
  • 我是thymeleaf的新手,我正试图创建一个web组件。我想要的是这样的东西: 向路易斯问好

  • 我在android跟踪应用程序。 我需要在MapView上显示已连接的朋友。每个朋友标记包含图像(人图像)和两个按钮(打电话和消息)。 注意:两个按钮应显示后,图像按下。 我尝试了以下示例http://www.nasc.fr/android/android-using-layout-as-custom-marker-on-google-map-api/。它只显示TextView。 有什么方法可以添

  • 我试图获得一个带有自定义图标的JFrame,但没有任何效果。下面是我现在看到的Java 11:

  • 我使用这段代码来最大化和恢复我的自定义表单。但是当窗体最大化时,它仍然可以拖动,我使用计时器来拖动窗体。

  • 我是MPAndroidChart的新手,我想在LineChart的XAxis上实时显示时间。我只想显示传入数据的最后10秒,如下图所示。我的采样频率为25Hz,因此我需要显示250个值才能记录10秒。 但是,我真的不知道该怎么做。我想我必须使用IAxisValueFormatter。 目前,我的传入值被添加到数据集,如下所示: 但也许我需要这样做: 然后创建一个格式化程序,将X值转换为类似“xxx

  • 我正在使用React视图上的Highcharts。出于可访问性和搜索引擎优化的原因,我想定制标记,但我在文档中找不出如何实现。Highcharts会自动插入一个标记,如下所示: <代码> 有没有办法改变这一点,或者这是硬编码的?