Clusterkraf alternatives and similar packages
Based on the "SDK" category.
Alternatively, view Clusterkraf alternatives based on common mentions on social networks and blogs.
-
Android-ReactiveLocation
Small library that wraps Google Play Service API in brilliant RxJava Observables reducing boilerplate to minimum. -
LandscapeVideoCamera
Powerful custom Android Camera with granular control over the video quality and filesize, restricting recordings to landscape only. -
Applozic-Android-Chat-Messaging-SDK
DISCONTINUED. Official Android SDK for Applozic Real-time Chat & Messaging. Powerful client, offline support, and UI component libraries for awesome in-app chat features. -
WeatherLib
Android Weather Library: android weather lib to develop weather based app fast and easily -
android-donations-lib
Donations library for Android. Supports Google Play Store, Flattr, PayPal, and Bitcoin -
Office-365-SDK-for-Android
DISCONTINUED. Microsoft Services SDKs for Android produced by MS Open Tech. -
LinkedIn-SDK-Android
A lightweight android library to implement Login with LinkedIn in your Android app.
CodeRabbit: AI Code Reviews for Developers
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Clusterkraf or a related project?
README
DEPRECATED
Don't use this. The Maps v3 SDK handles markers. That with a few other cool utilities make this library obsolete!
Clusterkraf
A clustering library for the Google Maps Android API v2.
If you're using the Polaris v2 library, check out our pleiades branch.
Features
- Clustering based on pixel proximity, not grid membership
- Animated cluster transitions
- Supports Android v2.2 (Froyo) and higher
Setup
Gradle
If you are using Gradle just add the following to your build.gradle file:
dependencies {
compile 'com.twotoasters.clusterkraf:library:1.0.+'
}
Maven
If you are using maven add the following to your pom file:
<dependency>
<groupId>com.twotoasters.clusterkraf</groupId>
<artifactId>library</artifactId>
<version>1.0.2</version>
</dependency>
Eclipse
It's easy to add Clusterkraf to your app. Add the Clusterkraf library folder as an Android project to your Eclipse/ADT workspace, and reference it from your app as a library project. Also, we assume you have a data object that holds latitude and longitude coordinates of each point you want plotted on the map similar to this:
public class YourMapPointModel {
public LatLng latLng;
public YourMapPointModel(LatLng latLng) {
this.latLng = latLng;
}
// encapsulation omitted for brevity
}
Clusterkraf provides an InputPoint
class which holds a LatLng
position and an Object
tag. You just need to construct an ArrayList<InputPoint>
object based on your model objects similar to this example. In this example, we provide the model as the Object
tag for the InputPoint
so that we can later pass them back to you in callbacks as the ClusterPoint
object's pointsInCluster list; see MarkerOptionsChooser
, OnInfoWindowClickDownstreamListener
, and OnMarkerClickDownstreamListener
.
public class YourActivity extends FragmentActivity {
YourMapPointModel[] yourMapPointModels = new YourMapPointModel[] { new YourMapPointModel(new LatLng(0d, 1d) /* etc */ ) };
ArrayList<InputPoint> inputPoints;
private void buildInputPoints() {
this.inputPoints = new ArrayList<InputPoint>(yourMapPointModels.length);
for (YourMapPointModel model : this.yourMapPointModels) {
this.inputPoints.add(new InputPoint(model.latLng, model));
}
}
}
When your GoogleMap
is initialized and your ArrayList<InputPoint>
is built, you can then initialize Clusterkraf.
// YourActivity
Clusterkraf clusterkraf;
private void initClusterkraf() {
if (this.map != null && this.inputPoints != null && this.inputPoints.size() > 0) {
com.twotoasters.clusterkraf.Options options = new com.twotoasters.clusterkraf.Options();
// customize the options before you construct a Clusterkraf instance
this.clusterkraf = new Clusterkraf(this.map, this.options, this.inputPoints);
}
}
You've added a really sweet clustered map to your Android app.
For a more detailed example, take a look at the included sample app's source code.
Sample App
The sample app demonstrates Activity lifecycle, custom marker icons, click handling, and Clusterkraf's options. You can build it from source, or install it from https://play.google.com/store/apps/details?id=com.twotoasters.clusterkraf.sample.
Building the Sample App
- In your local checkout of the Clusterkraf git repo, do
git submodule init
andgit submodule update
. - Add sample/ as a new Android project from existing source.
- Add sample/libs/ViewPagerIndicator as a new Android project from existing source.
- Authorize com.twotoasters.clusterkraf.sample built with your key of choice to your Google Maps for Android v2 API account.
- Create a new Values file
private_strings.xml
in sample/res/values/ and create a string namedmaps_api_key
with your Google Maps for Android v2 API key.
License
Copyright 2013 Two Toasters
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*Note that all licence references and agreements mentioned in the Clusterkraf README section above
are relevant to that project's source code only.