所以我使用a ClusterManager来聚集我的Markers,以便用户可以获得更好的体验.
我实际上已经实现了Google的代码,我在这里找到了它.想象一下,我的Marker图标是一个球.我希望图标的背景是透明的,而不是白色.
在谷歌的原教程,他们设置ImageView的IconGenerator,就像这样:
public class MyClusterManagerRenderer extends DefaultClusterRenderer<ClusteredMarker> {
private final IconGenerator mIconGenerator;
private final ImageView mImageView;
public MyClusterManagerRenderer(Context context, GoogleMap googleMap,
ClusterManager<ClusteredMarker> clusterManager){
super(context, googleMap, clusterManager);
mIconGenerator = new IconGenerator(context);
mImageView = new ImageView(context);
mIconGenerator.setContentView(mImageView);
}
@Override
protected void onBeforeClusterItemRendered(ClusteredMarker item, MarkerOptions markerOptions) {
mImageView.setImageResource(item.iconPicture);
Bitmap icon = mIconGenerator.makeIcon();
markerOptions.icon(BitmapDescriptorFactory.fromBitmap(icon)).title(item.user);
}
...
}
Run Code Online (Sandbox Code Playgroud)
我尝试了几种方法使我的图标透明,如调用:
mImageView.setBackgroundColor(Color.TRANSPARENT);
但没有成功.我设法找到解决方案的唯一方法是直接将我的透明图像附加到IconGenerator,如下所示:
mIconGenerator.setBackground(aContext.getResources()getDrawable(R.drawable.ball));
这种方法的缺点是,ImageView有一些有趣的方法,我想称之为setPadding,虽然IconGenerator …
我一直在寻找如何实现Android版Google Cloud Messaging的几天,但我对它有一些严重的疑虑.
我的意思是,显然谷歌在网上提供了一些好的信息,比如这里和这里,但我对所有的逻辑感到困惑.一页讨论客户端,另一页讨论服务器端.太好了,但是如何将所有这些绑定在一起?如何实现HTTP和/或XMPP协议与GCM连接服务器通信?
我想为GCM 实现一个基本的HelloWorld,它可以使用以下步骤:
1. App send a message (say "HelloWorld") to GCM;
2. Receive that message from GCM and add it to a TextView.
Run Code Online (Sandbox Code Playgroud)
实现此基本应用程序需要哪些步骤?
谢谢,