【问题标题】:Custom Marker on Google Map Issue谷歌地图问题上的自定义标记
【发布时间】:2016-01-13 18:02:59
【问题描述】:

在 Bitmap 和 canvas 的帮助下,我的 Google Map App 中有一个使用过的自定义标记。当我在 android 版本 5.1 或除 4.4 以外的任何其他设备上运行标记时,标记上的图像会很好。

我确定这不是版本问题。但我很困惑,无法弄清楚我在哪里做错了。请帮我找到它。

自定义标记(位图)代码:

Bitmap.Config conf = Bitmap.Config.ARGB_8888;
            Bitmap bmp = Bitmap.createBitmap(128, 128, conf);
            Canvas canvas1 = new Canvas(bmp);


    canvas1.drawBitmap(BitmapFactory.decodeResource(getResources(),
                        R.drawable.map_markers_green), 0, 0, color);

                canvas1.drawText(String.valueOf(a).toUpperCase(), 56, 53, color);
                googleMap.addMarker(new MarkerOptions()
                        .icon(BitmapDescriptorFactory.fromBitmap(bmp))
                                // Specifies the anchor to be at a particular point in the marker image.
                        .anchor(0.5f, 1));

在设备上工作正常的标记图像:

在不同设备上剪切的相同标记图像:

【问题讨论】:

    标签: android google-maps android-canvas android-bitmap


    【解决方案1】:

    试试这个代码

    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 textcolor, stroke width, size
     mMap.addMarker(new MarkerOptions()
                                .position(clickedPosition)
                                //.icon(BitmapDescriptorFactory.fromResource(R.drawable.marker2))
                                .icon(BitmapDescriptorFactory.fromBitmap(bmp))
                                .anchor(0.5f, 1)
                                    );
    

    【讨论】:

    • 不,此代码的问题仍然相同。不适合我。
    • 试试这个链接解决方案 (stackoverflow.com/questions/14811579/…)
    • 我在我的代码中做了同样的事情,这就是为什么它在相同的设备上工作正常。但在某些设备中,标记会因某种原因被切断。
    • 你把所有尺寸的图片都放在drawable里了?
    • 是的,我做到了。我对几乎所有尺寸的图像都使用了命中和试用方法,但问题仍然相同。我的自定义标记被切断了。
    猜你喜欢
    • 2018-11-15
    • 2013-08-21
    • 1970-01-01
    • 2013-08-11
    • 1970-01-01
    • 2019-12-01
    相关资源
    最近更新 更多