Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 谷歌地图问题上的自定义标记_Android_Google Maps_Android Canvas_Android Bitmap - Fatal编程技术网

Android 谷歌地图问题上的自定义标记

Android 谷歌地图问题上的自定义标记,android,google-maps,android-canvas,android-bitmap,Android,Google Maps,Android Canvas,Android Bitmap,我在我的谷歌地图应用程序中有一个使用过的自定义标记,有位图和画布的帮助。当我在安卓5.1版或除4.4之外的任何其他版本的设备上运行它时,标记器上的图像很好 我相信这不是版本问题。但我很困惑,无法找出我在哪里犯了错误。请帮我找到它 自定义标记(位图)代码: Bitmap.Config conf = Bitmap.Config.ARGB_8888; Bitmap bmp = Bitmap.createBitmap(128, 128, conf); Ca

我在我的谷歌地图应用程序中有一个使用过的自定义标记,有位图和画布的帮助。当我在安卓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));
在设备上正常工作的标记图像:

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

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));

试试这段代码

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)
                                );

不,这个代码的问题也一样。不适合我。试试这个链接解决方案()我在代码中也做了同样的事情,这就是为什么它在相同的设备上工作得很好。但在某些设备中,标记由于某种原因被切断。您将所有尺寸的图像都放在可绘制的位置。是的,我做了。我使用了点击和试用的方法,几乎每一个大小的图像,但问题仍然是一样的。我的自定义标记被切断了。