Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.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
Java 谷歌地图自定义标记android_Java_Android_Google Maps - Fatal编程技术网

Java 谷歌地图自定义标记android

Java 谷歌地图自定义标记android,java,android,google-maps,Java,Android,Google Maps,我正在基于Android的谷歌地图服务制作一张公共交通地图。地图应该包含很多标记(超过300个),当地图放大和缩小(比例)时,它们应该调整大小。现在这些标记彼此重叠,有没有办法创建这样的自定义标记 我自己也试过,但没有成功。使用androidmap-utils-library()标记现在看起来更好了,但它们无法调整大小,看起来也不一样 标准: -标记包含指向所需位置的点,以及点右侧或左侧的文本 -标记应使用位图调整大小。使用bitmapscale Bitmap markerBitmap = B

我正在基于Android的谷歌地图服务制作一张公共交通地图。地图应该包含很多标记(超过300个),当地图放大和缩小(比例)时,它们应该调整大小。现在这些标记彼此重叠,有没有办法创建这样的自定义标记

我自己也试过,但没有成功。使用androidmap-utils-library()标记现在看起来更好了,但它们无法调整大小,看起来也不一样

标准: -标记包含指向所需位置的点,以及点右侧或左侧的文本 -标记应使用位图调整大小。

使用bitmapscale

Bitmap markerBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.icon_marker,options);
markerBitmap = SubUtils.scaleBitmap(markerBitmap, 70, 70);
然后将其设置为您的标记选项

MarkerOptions marker = new MarkerOptions().icon(BitmapDescriptorFactory.fromBitmap(markerBitmap));
Marker mark = googleMap.addMarker(marker);
编辑 这里是scaleBitmap方法

public static Bitmap scaleBitmap(Bitmap bitmap, int newWidth, int newHeight) {
        Bitmap scaledBitmap = Bitmap.createBitmap(newWidth, newHeight, Bitmap.Config.ARGB_8888);

        float scaleX = newWidth / (float) bitmap.getWidth();
        float scaleY = newHeight / (float) bitmap.getHeight();
        float pivotX = 0;
        float pivotY = 0;

        Matrix scaleMatrix = new Matrix();
        scaleMatrix.setScale(scaleX, scaleY, pivotX, pivotY);

        Canvas canvas = new Canvas(scaledBitmap);
        canvas.setMatrix(scaleMatrix);
        canvas.drawBitmap(bitmap, 0, 0, new Paint(Paint.FILTER_BITMAP_FLAG));

        return scaledBitmap;
    }

建议:您仍然可以使用
android地图utils
,并创建自己的
IconGenerator
类。您只需将布局文件更改为布局文件。这可能有助于您解决此问题。这个答案解决了自定义标记的问题。