Java tutorial
/* * Copyright 2013 Google Inc. * * 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. */ package com.google.maps.android.utils.demo; import java.io.InputStream; import java.util.List; import org.json.JSONException; import android.widget.Toast; import com.google.android.gms.maps.CameraUpdateFactory; import com.google.android.gms.maps.model.LatLng; import com.google.maps.android.clustering.ClusterManager; import com.google.maps.android.utils.demo.model.MyItem; public class BigClusteringDemoActivity extends BaseDemoActivity { private ClusterManager<MyItem> mClusterManager; @Override protected void startDemo() { getMap().moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(51.503186, -0.126446), 10)); mClusterManager = new ClusterManager<MyItem>(this, getMap()); getMap().setOnCameraIdleListener(mClusterManager); try { readItems(); } catch (JSONException e) { Toast.makeText(this, "Problem reading list of markers.", Toast.LENGTH_LONG).show(); } } private void readItems() throws JSONException { InputStream inputStream = getResources().openRawResource(R.raw.radar_search); List<MyItem> items = new MyItemReader().read(inputStream); for (int i = 0; i < 10; i++) { double offset = i / 60d; for (MyItem item : items) { LatLng position = item.getPosition(); double lat = position.latitude + offset; double lng = position.longitude + offset; MyItem offsetItem = new MyItem(lat, lng); mClusterManager.addItem(offsetItem); } } } }