Android:Google地图自定义标记在地图加载后重置

时间:2014-12-11 07:07:50

标签: android google-maps google-maps-markers

我正在向Google地图添加自定义标记迭代一个arrayList我能够看到我的自定义标记图标一次,但它立即重置为另一个所有标记chaneg到相同的图标

这里是代码snipplet

 for (int j = 0; j < mUsersList.size(); j++) {
            int index = j + 1;
            Bitmap bmp;
            if (newIds.contains(mUsersList.get(j).Whistleid)) {
                bmp = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
            } else {
                bmp = BitmapFactory.decodeResource(getResources(), R.drawable.marker);
            }

            Bitmap mutableBitmap = bmp.copy(Bitmap.Config.ARGB_8888, true);
            Canvas canvas = new Canvas(mutableBitmap);
            Paint paint = new Paint();
            paint.setColor(Color.BLACK);
            paint.setTextSize(15);
            paint.setStrokeWidth(20);
            canvas.drawText("" + index, mutableBitmap.getWidth() / 3, mutableBitmap.getHeight() / 2, paint);
            Marker marker = gMap.addMarker(new MarkerOptions()
                    .position(
                            new LatLng(mUsersList.get(j).coordinates.getDouble(1), mUsersList.get(j).coordinates
                                    .getDouble(0))).icon(BitmapDescriptorFactory.fromBitmap(mutableBitmap))
                    .anchor(0.5f, 1).title(mUsersList.get(j).category + " : " + mUsersList.get(j).provider));

        }

可能提供线索的一些要点

1)所有标记位于几乎相同的位置,平均距离可能小于5米

2)所有标记都采用图标,如其他部分bmp值中给出的值请参阅上面的代码snipplet

1 个答案:

答案 0 :(得分:0)

看起来标记实际上非常接近于地图配置为缩放的内容。您可以增加sizeScale属性并将地图居中到大多数标记所在的位置......(如果这不影响地图显示数据)。因为如果在如此小的区域中放置标记并且在网页上移位的区域具有巨大差异,则看起来所有标记都将重置为仅一个点。