我想用自定义标记制作地图.在API v2中,我可以为标记设置图标,标题等.但我想在第一次出现时用标记显示标题.现在只有在我点击标记时才会显示标题.在v1中是覆盖,但在v2中我没有发现任何类似的东西.
编辑:
也许我不够清楚.Marker.showInfoWindow()API中的某些内容仅适用于一个标记.我无法同时显示所有标记的信息窗口.无论如何,我需要为我的所有标记显示标题,而无需等待用户点击它.
我正在尝试将我的应用移植到全新的Google Maps API v2,但无法找到如何更改标记的大小(我的某些标记小于默认值).
在v1中,我使用了Drawable我setBounds()在将其添加到地图之前缩放的内容.
但现在,在v2中,我无法使用Drawable.我要使用MarkerOptions().icon(),只需要一个BitmapDescriptor(用a生成BitmapDescriptorFactory).
查看参考资料,似乎没有任何支持设置或更改BitmapDescriptor大小.
那么,我错过了什么,或者在这个API版本中设置自定义标记的大小根本不可能?
当我在Google的Google地图Android应用程序中找到最近的餐馆时,餐厅名称默认显示在标记图标附近.(请参阅Google图片).
但在我的应用程序中,当我搜索最近的餐馆时,我需要这样做,我只能显示标记图标.(参考我的应用图片).
谷歌图片:
我的申请图片:
部分解决方案: 在这里我找到了部分解决方案,我们通过使用画布绘制文本来实现.我使用下面的代码在这里和这里引用这些链接但画布绘制切割我的文本.参考附图图像TextDrawn图像
Marker myLocMarker = map.addMarker(new MarkerOptions()
.position(myLocation)
.icon(BitmapDescriptorFactory.fromBitmap(writeTextOnDrawable(R.drawable.bluebox, "your text goes here"))));
private Bitmap writeTextOnDrawable(int drawableId, String text) {
Bitmap bm = BitmapFactory.decodeResource(context.getResources(), drawableId)
.copy(Bitmap.Config.ARGB_8888, true);
Paint paint = new Paint();
paint.setStyle(Paint.Style.FILL);
paint.setColor(Color.BLACK);
paint.setTextAlign(Paint.Align.CENTER);
paint.setLinearText(true);
paint.setAntiAlias(true);
paint.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));
paint.setTextSize(35);
Rect textRect = new Rect();
paint.getTextBounds(text, 0, text.length(), textRect);
Canvas canvas = new Canvas(bm);
//Calculate the positions
// int xPos = (canvas.getWidth() / 2) - 2; //-2 is for regulating the x …Run Code Online (Sandbox Code Playgroud) android google-maps android-canvas google-maps-android-api-2 google-nearby