diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index d1d72f892..0e84e1fb3 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -117,12 +117,11 @@ jobs:
- name: Build and check
run: |
- ./gradlew :snippets:app:assembleDebug
+ ./gradlew :snippets:java-app:assembleDebug
./gradlew :snippets:app-ktx:assembleDebug
./gradlew :snippets:app-utils-ktx:assembleDebug
./gradlew :snippets:app-compose:assembleDebug
./gradlew :snippets:app-places-ktx:assembleDebug
- ./gradlew :snippets:app-utils:assembleDebug
build-tutorials:
runs-on: ubuntu-latest
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
index aff2645fa..3202e7f25 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -55,8 +55,7 @@ jobs:
./gradlew :ApiDemos:kotlin-app:lintDebug
./gradlew :ApiDemos:java-app:lintDebug
./gradlew :ApiDemos:common-ui:lintDebug
- ./gradlew :snippets:app:lintGmsDebug
- ./gradlew :snippets:app-utils:lintDebug
+ ./gradlew :snippets:java-app:lintDebug
./gradlew :snippets:app-utils-ktx:lintDebug
./gradlew :snippets:app-places-ktx:lintDebug
./gradlew :snippets:app-ktx:lintDebug
@@ -82,17 +81,11 @@ jobs:
sarif_file: ApiDemos/project/common-ui/build/reports/lint-results-debug.sarif
category: ApiDemos-common-ui
- - name: Upload SARIF for snippets:app
+ - name: Upload SARIF for snippets:java-app
uses: github/codeql-action/upload-sarif@b96794f015dfd88f77b49b1c93e0fa7110f94c63 # v4.38.0
with:
- sarif_file: snippets/app/build/reports/lint-results-debug.sarif
- category: snippets-app
-
- - name: Upload SARIF for snippets:app-utils
- uses: github/codeql-action/upload-sarif@b96794f015dfd88f77b49b1c93e0fa7110f94c63 # v4.38.0
- with:
- sarif_file: snippets/app-utils/build/reports/lint-results-debug.sarif
- category: snippets-app-utils
+ sarif_file: snippets/java-app/build/reports/lint-results-debug.sarif
+ category: snippets-java-app
- name: Upload SARIF for snippets:app-utils-ktx
uses: github/codeql-action/upload-sarif@b96794f015dfd88f77b49b1c93e0fa7110f94c63 # v4.38.0
diff --git a/settings.gradle.kts b/settings.gradle.kts
index 998de4948..4abc19e0c 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -55,8 +55,8 @@ project(":WearOS:Wearable").projectDir = file("WearOS/Wearable")
// Snippets
include(":snippets:common")
project(":snippets:common").projectDir = file("snippets/common")
-include(":snippets:app")
-project(":snippets:app").projectDir = file("snippets/app")
+include(":snippets:java-app")
+project(":snippets:java-app").projectDir = file("snippets/java-app")
include(":snippets:app-ktx")
project(":snippets:app-ktx").projectDir = file("snippets/app-ktx")
include(":snippets:app-utils-ktx")
@@ -65,8 +65,6 @@ include(":snippets:app-compose")
project(":snippets:app-compose").projectDir = file("snippets/app-compose")
include(":snippets:app-places-ktx")
project(":snippets:app-places-ktx").projectDir = file("snippets/app-places-ktx")
-include(":snippets:app-utils")
-project(":snippets:app-utils").projectDir = file("snippets/app-utils")
// Tutorials
include(":tutorials:kotlin:Polygons")
diff --git a/snippets/app-utils/.gitignore b/snippets/app-utils/.gitignore
deleted file mode 100644
index 42afabfd2..000000000
--- a/snippets/app-utils/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/build
\ No newline at end of file
diff --git a/snippets/app-utils/build.gradle.kts b/snippets/app-utils/build.gradle.kts
deleted file mode 100644
index 4f2da83c9..000000000
--- a/snippets/app-utils/build.gradle.kts
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Copyright 2024 Google LLC
- *
- * 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.
- */
-
-plugins {
- alias(libs.plugins.android.application)
- alias(libs.plugins.secrets.gradle.plugin)
-}
-
-android {
- namespace = "com.google.maps.example.utils"
- compileSdk = libs.versions.compileSdk.get().toInt()
- defaultConfig {
- applicationId = "com.google.maps.example.utils"
- minSdk = libs.versions.minSdk.get().toInt()
- targetSdk = libs.versions.targetSdk.get().toInt()
- versionCode = 1
- versionName = libs.versions.versionName.get()
-
- testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
- }
-
- buildFeatures {
- buildConfig = true
- }
-
- buildTypes {
- release {
- isMinifyEnabled = true
- proguardFiles(
- getDefaultProguardFile("proguard-android-optimize.txt"),
- "proguard-rules.pro"
- )
- }
- }
- compileOptions {
- sourceCompatibility = JavaVersion.VERSION_21
- targetCompatibility = JavaVersion.VERSION_21
- }
-
- lint {
- disable += setOf("MissingInflatedId")
- sarifOutput = layout.buildDirectory.file("reports/lint-results-debug.sarif").get().asFile
- }
- kotlin {
- compilerOptions {
- jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_21)
- }
- }
-
- java {
- toolchain {
- languageVersion.set(JavaLanguageVersion.of(21))
- }
- }
-}
-
-// [START maps_android_utils_install_snippet]
-dependencies {
-
- // [START_EXCLUDE silent]
- implementation(libs.core.ktx)
- implementation(libs.appcompat)
- implementation(libs.material)
- testImplementation(libs.junit)
- androidTestImplementation(libs.ext.junit)
- androidTestImplementation(libs.espresso.core)
- // [END_EXCLUDE]
-
- // Modern Android projects use version catalogs to manage dependencies. To include the Maps Utility library,
- // first add the following to your gradle/libs.versions.toml file:
- //
- // [versions]
- // mapsUtils = "5.1.1"
- //
- // [libraries]
- // maps-utils = { module = "com.google.maps.android:android-maps-utils", version.ref = "mapsUtils" }
- //
- // Utility Library for Maps SDK for Android
- // You do not need to add a separate dependency for the Maps SDK for Android
- // since this library builds in the compatible version of the Maps SDK.
- implementation(libs.maps.utils)
-
- // If your project does not use a version catalog, you can use the following dependency instead:
- //
- // implementation("com.google.maps.android:android-maps-utils:5.1.1")
-}
-// [END maps_android_utils_install_snippet]
-
-secrets {
- // To add your Maps API key to this project:
- // 1. If the secrets.properties file does not exist, create it in the root directory (the same folder as the root local.properties file).
- // 2. Add this line, where YOUR_API_KEY is your API key:
- // MAPS_API_KEY=YOUR_API_KEY
- propertiesFileName = "secrets.properties"
-
- // A properties file containing default secret values. This file can be
- // checked in version control.
- defaultPropertiesFileName = "local.defaults.properties"
-}
\ No newline at end of file
diff --git a/snippets/app-utils/proguard-rules.pro b/snippets/app-utils/proguard-rules.pro
deleted file mode 100644
index 481bb4348..000000000
--- a/snippets/app-utils/proguard-rules.pro
+++ /dev/null
@@ -1,21 +0,0 @@
-# Add project specific ProGuard rules here.
-# You can control the set of applied configuration files using the
-# proguardFiles setting in build.gradle.
-#
-# For more details, see
-# http://developer.android.com/guide/developing/tools/proguard.html
-
-# If your project uses WebView with JS, uncomment the following
-# and specify the fully qualified class name to the JavaScript interface
-# class:
-#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
-# public *;
-#}
-
-# Uncomment this to preserve the line number information for
-# debugging stack traces.
-#-keepattributes SourceFile,LineNumberTable
-
-# If you keep the line number information, uncomment this to
-# hide the original source file name.
-#-renamesourcefileattribute SourceFile
\ No newline at end of file
diff --git a/snippets/app-utils/src/main/AndroidManifest.xml b/snippets/app-utils/src/main/AndroidManifest.xml
deleted file mode 100644
index 76ce320b1..000000000
--- a/snippets/app-utils/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/snippets/app-utils/src/main/java/com/example/app_utils/Clustering.java b/snippets/app-utils/src/main/java/com/example/app_utils/Clustering.java
deleted file mode 100644
index 7c1745d74..000000000
--- a/snippets/app-utils/src/main/java/com/example/app_utils/Clustering.java
+++ /dev/null
@@ -1,128 +0,0 @@
-// Copyright 2020 Google LLC
-//
-// 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.example.app_utils;
-
-import android.content.Context;
-
-import androidx.annotation.Nullable;
-
-import com.google.android.gms.maps.CameraUpdateFactory;
-import com.google.android.gms.maps.GoogleMap;
-import com.google.android.gms.maps.model.LatLng;
-import com.google.maps.android.clustering.ClusterItem;
-import com.google.maps.android.clustering.ClusterManager;
-
-class Clustering {
-
- private GoogleMap map;
- private Context context;
-
- // [START maps_android_utils_clustering_cluster_item]
- public class MyItem implements ClusterItem {
- private final LatLng position;
- private final String title;
- private final String snippet;
-
- public MyItem(double lat, double lng, String title, String snippet) {
- position = new LatLng(lat, lng);
- this.title = title;
- this.snippet = snippet;
- }
-
- @Override
- public LatLng getPosition() {
- return position;
- }
-
- @Override
- public String getTitle() {
- return title;
- }
-
- @Override
- public String getSnippet() {
- return snippet;
- }
-
- @Nullable
- @Override
- public Float getZIndex() {
- return 0f;
- }
- }
- // [END maps_android_utils_clustering_cluster_item]
-
- // [START maps_android_utils_clustering_cluster_manager]
- // Declare a variable for the cluster manager.
- private ClusterManager clusterManager;
-
- private void setUpClusterer() {
- // Position the map.
- map.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(51.503186, -0.126446), 10));
-
- // Initialize the manager with the context and the map.
- // (Activity extends context, so we can pass 'this' in the constructor.)
- clusterManager = new ClusterManager(context, map);
-
- // Point the map's listeners at the listeners implemented by the cluster
- // manager.
- map.setOnCameraIdleListener(clusterManager);
- map.setOnMarkerClickListener(clusterManager);
-
- // Add cluster items (markers) to the cluster manager.
- addItems();
- }
-
- private void addItems() {
-
- // Set some lat/lng coordinates to start with.
- double lat = 51.5145160;
- double lng = -0.1270060;
-
- // Add ten cluster items in close proximity, for purposes of this example.
- for (int i = 0; i < 10; i++) {
- double offset = i / 60d;
- lat = lat + offset;
- lng = lng + offset;
- MyItem offsetItem = new MyItem(lat, lng, "Title " + i, "Snippet " + i);
- clusterManager.addItem(offsetItem);
- }
- }
- // [END maps_android_utils_clustering_cluster_manager]
-
- private void clusterAnimation() {
- // [START maps_android_utils_clustering_animation_off]
- clusterManager.setAnimation(false);
- // [END maps_android_utils_clustering_animation_off]
- }
-
- private void infoWindow() {
- // [START maps_android_utils_clustering_info_window]
- // Set the lat/long coordinates for the marker.
- double lat = 51.5009;
- double lng = -0.122;
-
- // Set the title and snippet strings.
- String title = "This is the title";
- String snippet = "and this is the snippet.";
-
- // Create a cluster item for the marker and set the title and snippet using the constructor.
- MyItem infoWindowItem = new MyItem(lat, lng, title, snippet);
-
- // Add the cluster item (marker) to the cluster manager.
- clusterManager.addItem(infoWindowItem);
- // [END maps_android_utils_clustering_info_window]
- }
-}
diff --git a/snippets/app-utils/src/main/java/com/example/app_utils/GeoJSON.java b/snippets/app-utils/src/main/java/com/example/app_utils/GeoJSON.java
deleted file mode 100644
index 7c9117f3c..000000000
--- a/snippets/app-utils/src/main/java/com/example/app_utils/GeoJSON.java
+++ /dev/null
@@ -1,130 +0,0 @@
-// Copyright 2020 Google LLC
-//
-// 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.example.app_utils;
-
-import android.content.Context;
-import android.graphics.Color;
-import android.util.Log;
-
-import com.google.android.gms.maps.GoogleMap;
-import com.google.android.gms.maps.model.LatLng;
-import com.google.maps.android.data.Feature;
-import com.google.maps.android.data.Layer;
-import com.google.maps.android.data.geojson.GeoJsonFeature;
-import com.google.maps.android.data.geojson.GeoJsonLayer;
-import com.google.maps.android.data.geojson.GeoJsonLineString;
-import com.google.maps.android.data.geojson.GeoJsonLineStringStyle;
-import com.google.maps.android.data.geojson.GeoJsonPoint;
-import com.google.maps.android.data.geojson.GeoJsonPointStyle;
-import com.google.maps.example.utils.R;
-
-import org.json.JSONException;
-import org.json.JSONObject;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-
-class GeoJSON {
- private GoogleMap map;
-
- private void addGeoJsonLayerJsonObject() throws JSONException {
- // [START maps_android_util_geojson_add_jsonobject]
- JSONObject geoJsonData = // JSONObject containing the GeoJSON data
- // [START_EXCLUDE silent]
- null;
- // [END_EXCLUDE]
- GeoJsonLayer layer = new GeoJsonLayer(map, geoJsonData);
- // [END maps_android_util_geojson_add_jsonobject]
- }
-
- private void addGeoJsonLayerFile(Context context) throws IOException, JSONException {
- // [START maps_android_util_geojson_add_file]
- GeoJsonLayer layer = new GeoJsonLayer(map, R.raw.geojson_file, context);
- // [END maps_android_util_geojson_add_file]
-
- // [START maps_android_util_geojson_add_layer_to_map]
- layer.addLayerToMap();
- // [END maps_android_util_geojson_add_layer_to_map]
-
- // [START maps_android_util_geojson_remove_layer]
- layer.removeLayerFromMap();
- // [END maps_android_util_geojson_remove_layer]
- }
-
- private void geoJsonFeature(GeoJsonLayer layer) {
- // [START maps_android_util_geojson_point_feature]
- GeoJsonPoint point = new GeoJsonPoint(new LatLng(0, 0));
- HashMap properties = new HashMap<>();
- properties.put("Ocean", "South Atlantic");
- GeoJsonFeature pointFeature = new GeoJsonFeature(point, "Origin", properties, null);
- // [END maps_android_util_geojson_point_feature]
-
- // [START maps_android_util_geojson_point_feature_add]
- layer.addFeature(pointFeature);
- // [END maps_android_util_geojson_point_feature_add]
-
- // [START maps_android_util_geojson_point_feature_remove]
- layer.removeFeature(pointFeature);
- // [END maps_android_util_geojson_point_feature_remove]
-
- // [START maps_android_util_geojson_point_feature_access]
- for (GeoJsonFeature feature : layer.getFeatures()) {
- // Do something to the feature
- // [START_EXCLUDE silent]
- // [START maps_android_util_geojson_point_feature_has_property]
- if (feature.hasProperty("Ocean")) {
- String oceanProperty = feature.getProperty("Ocean");
- }
- // [END maps_android_util_geojson_point_feature_has_property]
- // [END_EXCLUDE]
- }
- // [END maps_android_util_geojson_point_feature_access]
-
- // [START maps_android_util_geojson_geometry_click_events]
- // Set a listener for geometry clicked events.
- layer.setOnFeatureClickListener(new Layer.OnFeatureClickListener() {
- @Override
- public void onFeatureClick(Feature feature) {
- Log.i("GeoJsonClick", "Feature clicked: " + feature.getProperty("title"));
- }
- });
- // [END maps_android_util_geojson_geometry_click_events]
-
- // [START maps_android_util_geojson_style]
- GeoJsonPointStyle pointStyle = layer.getDefaultPointStyle();
- pointStyle.setDraggable(true);
- pointStyle.setTitle("Hello, World!");
- pointStyle.setSnippet("I am a draggable marker");
- // [END maps_android_util_geojson_style]
-
- // [START maps_android_util_geojson_style_specific]
- // Create a new feature containing a linestring
- List lineStringArray = new ArrayList();
- lineStringArray.add(new LatLng(0, 0));
- lineStringArray.add(new LatLng(50, 50));
- GeoJsonLineString lineString = new GeoJsonLineString(lineStringArray);
- GeoJsonFeature lineStringFeature = new GeoJsonFeature(lineString, null, null, null);
-
- // Set the color of the linestring to red
- GeoJsonLineStringStyle lineStringStyle = new GeoJsonLineStringStyle();
- lineStringStyle.setColor(Color.RED);
-
- // Set the style of the feature
- lineStringFeature.setLineStringStyle(lineStringStyle);
- // [END maps_android_util_geojson_style_specific]
- }
-}
diff --git a/snippets/app-utils/src/main/java/com/example/app_utils/Heatmaps.java b/snippets/app-utils/src/main/java/com/example/app_utils/Heatmaps.java
deleted file mode 100644
index 4917aac84..000000000
--- a/snippets/app-utils/src/main/java/com/example/app_utils/Heatmaps.java
+++ /dev/null
@@ -1,122 +0,0 @@
-// Copyright 2020 Google LLC
-//
-// 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.example.app_utils;
-
-import android.content.Context;
-import android.graphics.Color;
-import android.widget.Toast;
-
-import androidx.annotation.RawRes;
-
-import com.google.android.gms.maps.GoogleMap;
-import com.google.android.gms.maps.model.LatLng;
-import com.google.android.gms.maps.model.TileOverlay;
-import com.google.android.gms.maps.model.TileOverlayOptions;
-import com.google.maps.android.heatmaps.Gradient;
-import com.google.maps.android.heatmaps.HeatmapTileProvider;
-import com.google.maps.android.heatmaps.WeightedLatLng;
-import com.google.maps.example.utils.R;
-
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
-
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Scanner;
-
-class Heatmaps {
-
- private Context context;
- private GoogleMap map;
-
- // [START maps_android_utils_heatmap_simple]
- private void addHeatMap() {
- List latLngs = new ArrayList<>();
-
- // Get the data: latitude/longitude positions of police stations.
- try {
- latLngs = readItems(R.raw.police_stations);
- } catch (JSONException e) {
- Toast.makeText(context, "Problem reading list of locations.", Toast.LENGTH_LONG).show();
- }
-
- // Create a heat map tile provider, passing it the latlngs of the police stations.
- HeatmapTileProvider provider = new HeatmapTileProvider.Builder()
- .data(latLngs)
- .build();
-
- // Add a tile overlay to the map, using the heat map tile provider.
- TileOverlay overlay = map.addTileOverlay(new TileOverlayOptions().tileProvider(provider));
- }
-
- private List readItems(@RawRes int resource) throws JSONException {
- List result = new ArrayList<>();
- InputStream inputStream = context.getResources().openRawResource(resource);
- String json = new Scanner(inputStream).useDelimiter("\\A").next();
- JSONArray array = new JSONArray(json);
- for (int i = 0; i < array.length(); i++) {
- JSONObject object = array.getJSONObject(i);
- double lat = object.getDouble("lat");
- double lng = object.getDouble("lng");
- result.add(new LatLng(lat, lng));
- }
- return result;
- }
- // [END maps_android_utils_heatmap_simple]
-
- private void customizeHeatmap(List latLngs) {
- // [START maps_android_utils_heatmap_customize]
- // Create the gradient.
- int[] colors = {
- Color.rgb(102, 225, 0), // green
- Color.rgb(255, 0, 0) // red
- };
-
- float[] startPoints = {
- 0.2f, 1f
- };
-
- Gradient gradient = new Gradient(colors, startPoints);
-
- // Create the tile provider.
- HeatmapTileProvider provider = new HeatmapTileProvider.Builder()
- .data(latLngs)
- .gradient(gradient)
- .build();
-
- // Add the tile overlay to the map.
- TileOverlay tileOverlay = map.addTileOverlay(new TileOverlayOptions().tileProvider(provider));
- // [END maps_android_utils_heatmap_customize]
-
- assert tileOverlay != null;
-
- // [START maps_android_utils_heatmap_customize_opacity]
- provider.setOpacity(0.7);
- tileOverlay.clearTileCache();
- // [END maps_android_utils_heatmap_customize_opacity]
-
- // [START maps_android_utils_heatmap_customize_dataset]
- List data = new ArrayList<>();
- provider.updateData(data);
- tileOverlay.clearTileCache();
- // [END maps_android_utils_heatmap_customize_dataset]
-
- // [START maps_android_utils_heatmap_remove]
- tileOverlay.remove();
- // [END maps_android_utils_heatmap_remove]
- }
-}
diff --git a/snippets/app-utils/src/main/java/com/example/app_utils/KML.java b/snippets/app-utils/src/main/java/com/example/app_utils/KML.java
deleted file mode 100644
index 5a8b62ec5..000000000
--- a/snippets/app-utils/src/main/java/com/example/app_utils/KML.java
+++ /dev/null
@@ -1,98 +0,0 @@
-// Copyright 2020 Google LLC
-//
-// 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.example.app_utils;
-
-import android.content.Context;
-import android.util.Log;
-
-import com.google.android.gms.maps.GoogleMap;
-import com.google.maps.android.data.Feature;
-import com.google.maps.android.data.kml.KmlContainer;
-import com.google.maps.android.data.kml.KmlLayer;
-import com.google.maps.android.data.kml.KmlPlacemark;
-import com.google.maps.example.utils.R;
-
-import org.xmlpull.v1.XmlPullParserException;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-class KML {
- private GoogleMap map;
-
- private void addKmlLayerFile(Context context) throws IOException, XmlPullParserException {
- // [START maps_android_utils_kml_add_file]
- KmlLayer layer = new KmlLayer(map, R.raw.geojson_file, context);
- // [END maps_android_utils_kml_add_file]
- }
-
- private void addKmlLayerFileInputStream(Context context) throws IOException, XmlPullParserException {
- // [START maps_android_utils_kml_add_input_stream]
- InputStream inputStream = // InputStream containing KML data
- // [START_EXCLUDE silent]
- null;
- // [END_EXCLUDE]
- KmlLayer layer = new KmlLayer(map, inputStream, context);
- // [END maps_android_utils_kml_add_input_stream]
-
- // [START maps_android_utils_kml_add_layer]
- layer.addLayerToMap();
- // [END maps_android_utils_kml_add_layer]
-
- // [START maps_android_utils_kml_remove_layer]
- layer.removeLayerFromMap();
- // [END maps_android_utils_kml_remove_layer]
-
- // [START maps_android_utils_kml_access_containers]
- for (KmlContainer containers : layer.getContainers()) {
- // Do something to container
- }
- // [END maps_android_utils_kml_access_containers]
-
- // [START maps_android_utils_kml_access_placemarks]
- for (KmlPlacemark placemark : layer.getPlacemarks()) {
- // Do something to Placemark
- }
- // [END maps_android_utils_kml_access_placemarks]
-
- // [START maps_android_utils_kml_access_properties]
- for (KmlContainer container : layer.getContainers()) {
- if (container.hasProperty("name")) {
- Log.i("KML", container.getProperty("name"));
- }
- }
- // [END maps_android_utils_kml_access_properties]
-
- // [START maps_android_utils_kml_click_listener]
- // Set a listener for geometry clicked events.
- layer.setOnFeatureClickListener(new KmlLayer.OnFeatureClickListener() {
- @Override
- public void onFeatureClick(Feature feature) {
- Log.i("KML", "Feature clicked: " + feature.getId());
- }
- });
- // [END maps_android_utils_kml_click_listener]
- }
-
- // [START maps_android_utils_kml_access_containers_nested]
- public void accessContainers(Iterable containers) {
- for (KmlContainer container : containers) {
- if (container.hasContainers()) {
- accessContainers(container.getContainers());
- }
- }
- }
- // [END maps_android_utils_kml_access_containers_nested]
-}
diff --git a/snippets/app-utils/src/main/java/com/example/app_utils/Multilayer.java b/snippets/app-utils/src/main/java/com/example/app_utils/Multilayer.java
deleted file mode 100644
index 58b0a43f5..000000000
--- a/snippets/app-utils/src/main/java/com/example/app_utils/Multilayer.java
+++ /dev/null
@@ -1,115 +0,0 @@
-// Copyright 2020 Google LLC
-//
-// 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.example.app_utils;
-
-import android.content.Context;
-import android.widget.Toast;
-
-import androidx.annotation.Nullable;
-
-import com.google.android.gms.maps.GoogleMap;
-import com.google.android.gms.maps.model.BitmapDescriptorFactory;
-import com.google.android.gms.maps.model.LatLng;
-import com.google.android.gms.maps.model.MarkerOptions;
-import com.google.maps.android.clustering.ClusterItem;
-import com.google.maps.android.clustering.ClusterManager;
-import com.google.maps.android.collections.GroundOverlayManager;
-import com.google.maps.android.collections.MarkerManager;
-import com.google.maps.android.collections.PolygonManager;
-import com.google.maps.android.collections.PolylineManager;
-import com.google.maps.android.data.geojson.GeoJsonLayer;
-import com.google.maps.android.data.kml.KmlLayer;
-import com.google.maps.example.utils.R;
-
-import org.json.JSONException;
-import org.xmlpull.v1.XmlPullParserException;
-
-import java.io.IOException;
-
-class Multilayer {
- private GoogleMap map;
- private Context context;
-
- private void init() throws IOException, JSONException, XmlPullParserException {
- // [START maps_android_utils_multilayer_init]
- MarkerManager markerManager = new MarkerManager(map);
- GroundOverlayManager groundOverlayManager = new GroundOverlayManager(map);
- PolygonManager polygonManager = new PolygonManager(map);
- PolylineManager polylineManager = new PolylineManager(map);
- // [END maps_android_utils_multilayer_init]
-
- // [START maps_android_utils_multilayer_manager]
- ClusterManager clusterManager = new ClusterManager<>(context, map, markerManager);
- GeoJsonLayer geoJsonLineLayer = new GeoJsonLayer(map, R.raw.geojson_file, context, markerManager, polygonManager, polylineManager, groundOverlayManager);
- KmlLayer kmlPolylineLayer = new KmlLayer(map, R.raw.kml_file, context, markerManager, polygonManager, polylineManager, groundOverlayManager, null);
- // [END maps_android_utils_multilayer_manager]
-
- // [START maps_android_utils_multilayer_unclustered_marker]
- MarkerManager.Collection markerCollection = markerManager.newCollection();
- markerCollection.addMarker(new MarkerOptions()
- .position(new LatLng(51.150000, -0.150032))
- .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE))
- .title("Unclustered marker"));
- // [END maps_android_utils_multilayer_unclustered_marker]
-
- // [START maps_android_utils_multilayer_kml_click_events]
- kmlPolylineLayer.addLayerToMap();
- kmlPolylineLayer.setOnFeatureClickListener(feature -> Toast.makeText(context,
- "KML polyline clicked: " + feature.getProperty("name"),
- Toast.LENGTH_SHORT).show());
- // [END maps_android_utils_multilayer_kml_click_events]
-
- // [START maps_android_utils_multilayer_marker_click_events]
- markerCollection.setOnMarkerClickListener(marker -> { Toast.makeText(context,
- "Marker clicked: " + marker.getTitle(),
- Toast.LENGTH_SHORT).show();
- return false;
- });
- // [END maps_android_utils_multilayer_marker_click_events]
- }
-
- public class MyItem implements ClusterItem {
- private final LatLng position;
- private final String title;
- private final String snippet;
-
- public MyItem(double lat, double lng, String title, String snippet) {
- position = new LatLng(lat, lng);
- this.title = title;
- this.snippet = snippet;
- }
-
- @Override
- public LatLng getPosition() {
- return position;
- }
-
- @Override
- public String getTitle() {
- return title;
- }
-
- @Override
- public String getSnippet() {
- return snippet;
- }
-
- @Nullable
- @Override
- public Float getZIndex() {
- return 0f;
- }
- }
-}
diff --git a/snippets/app-utils/src/main/res/drawable-v24/ic_launcher_foreground.xml b/snippets/app-utils/src/main/res/drawable-v24/ic_launcher_foreground.xml
deleted file mode 100644
index ab975bf3c..000000000
--- a/snippets/app-utils/src/main/res/drawable-v24/ic_launcher_foreground.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/snippets/app-utils/src/main/res/drawable/ic_launcher_background.xml b/snippets/app-utils/src/main/res/drawable/ic_launcher_background.xml
deleted file mode 100644
index 2e6ea5e9b..000000000
--- a/snippets/app-utils/src/main/res/drawable/ic_launcher_background.xml
+++ /dev/null
@@ -1,186 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/snippets/app-utils/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/snippets/app-utils/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
deleted file mode 100644
index b89ac5f12..000000000
--- a/snippets/app-utils/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/snippets/app-utils/src/main/res/mipmap-hdpi/ic_launcher.webp b/snippets/app-utils/src/main/res/mipmap-hdpi/ic_launcher.webp
deleted file mode 100644
index c209e78ec..000000000
Binary files a/snippets/app-utils/src/main/res/mipmap-hdpi/ic_launcher.webp and /dev/null differ
diff --git a/snippets/app-utils/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/snippets/app-utils/src/main/res/mipmap-hdpi/ic_launcher_round.webp
deleted file mode 100644
index b2dfe3d1b..000000000
Binary files a/snippets/app-utils/src/main/res/mipmap-hdpi/ic_launcher_round.webp and /dev/null differ
diff --git a/snippets/app-utils/src/main/res/mipmap-mdpi/ic_launcher.webp b/snippets/app-utils/src/main/res/mipmap-mdpi/ic_launcher.webp
deleted file mode 100644
index 4f0f1d64e..000000000
Binary files a/snippets/app-utils/src/main/res/mipmap-mdpi/ic_launcher.webp and /dev/null differ
diff --git a/snippets/app-utils/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/snippets/app-utils/src/main/res/mipmap-mdpi/ic_launcher_round.webp
deleted file mode 100644
index 62b611da0..000000000
Binary files a/snippets/app-utils/src/main/res/mipmap-mdpi/ic_launcher_round.webp and /dev/null differ
diff --git a/snippets/app-utils/src/main/res/mipmap-xhdpi/ic_launcher.webp b/snippets/app-utils/src/main/res/mipmap-xhdpi/ic_launcher.webp
deleted file mode 100644
index 948a3070f..000000000
Binary files a/snippets/app-utils/src/main/res/mipmap-xhdpi/ic_launcher.webp and /dev/null differ
diff --git a/snippets/app-utils/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/snippets/app-utils/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
deleted file mode 100644
index 1b9a6956b..000000000
Binary files a/snippets/app-utils/src/main/res/mipmap-xhdpi/ic_launcher_round.webp and /dev/null differ
diff --git a/snippets/app-utils/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/snippets/app-utils/src/main/res/mipmap-xxhdpi/ic_launcher.webp
deleted file mode 100644
index 28d4b77f9..000000000
Binary files a/snippets/app-utils/src/main/res/mipmap-xxhdpi/ic_launcher.webp and /dev/null differ
diff --git a/snippets/app-utils/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/snippets/app-utils/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
deleted file mode 100644
index 9287f5083..000000000
Binary files a/snippets/app-utils/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp and /dev/null differ
diff --git a/snippets/app-utils/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/snippets/app-utils/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
deleted file mode 100644
index aa7d6427e..000000000
Binary files a/snippets/app-utils/src/main/res/mipmap-xxxhdpi/ic_launcher.webp and /dev/null differ
diff --git a/snippets/app-utils/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/snippets/app-utils/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
deleted file mode 100644
index 9126ae37c..000000000
Binary files a/snippets/app-utils/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp and /dev/null differ
diff --git a/snippets/app-utils/src/main/res/raw/geojson_file.json b/snippets/app-utils/src/main/res/raw/geojson_file.json
deleted file mode 100644
index 8aae27324..000000000
--- a/snippets/app-utils/src/main/res/raw/geojson_file.json
+++ /dev/null
@@ -1,518 +0,0 @@
-{"type":"FeatureCollection","metadata":{"generated":1467160157000,"url":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_day.geojson","title":"USGS All Earthquakes, Past Day","status":200,"api":"1.5.2","count":213},"features":[{"type":"Feature","properties":{"mag":2.2,"place":"107km SSE of King Salmon, Alaska","time":1467158542000,"updated":1467159719339,"tz":-480,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13731988","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13731988.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":74,"net":"ak","code":"13731988","ids":",ak13731988,","sources":",ak,","types":",general-link,geoserve,nearby-cities,origin,tectonic-summary,","nst":null,"dmin":null,"rms":0.41,"gap":null,"magType":"ml","type":"earthquake","title":"M 2.2 - 107km SSE of King Salmon, Alaska"},"geometry":{"type":"Point","coordinates":[-156.1488,57.7582,114]},"id":"ak13731988"},
- {"type":"Feature","properties":{"mag":0.91,"place":"2km E of The Geysers, California","time":1467157555160,"updated":1467158882533,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nc72656456","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nc72656456.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":13,"net":"nc","code":"72656456","ids":",nc72656456,","sources":",nc,","types":",general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":8,"dmin":0.008934,"rms":0.01,"gap":125,"magType":"md","type":"earthquake","title":"M 0.9 - 2km E of The Geysers, California"},"geometry":{"type":"Point","coordinates":[-122.7258301,38.7791672,1.71]},"id":"nc72656456"},
- {
- "type": "Feature",
- "properties": {
- "stroke": "#f53b3b",
- "stroke-width": 2,
- "stroke-opacity": 1,
- "fill": "#555555",
- "fill-opacity": 0.5
- },
- "geometry": {
- "type": "MultiPolygon",
- "coordinates": [
- [
- [
- [
- -124.45312499999999,
- 48.22467264956519
- ],
- [
- -123.57421875,
- 39.436192999314095
- ],
- [
- -120.32226562500001,
- 34.45221847282654
- ],
- [
- -116.89453125,
- 32.54681317351514
- ],
- [
- -114.873046875,
- 32.69486597787505
- ],
- [
- -110.56640625,
- 31.27855085894653
- ],
- [
- -108.720703125,
- 31.50362930577303
- ],
- [
- -106.5234375,
- 31.653381399664
- ],
- [
- -104.853515625,
- 30.221101852485987
- ],
- [
- -103.095703125,
- 29.152161283318915
- ],
- [
- -102.65625,
- 29.6880527498568
- ],
- [
- -101.689453125,
- 29.76437737516313
- ],
- [
- -97.294921875,
- 25.799891182088334
- ],
- [
- -96.94335937499999,
- 28.304380682962783
- ],
- [
- -93.779296875,
- 29.458731185355344
- ],
- [
- -89.736328125,
- 29.305561325527698
- ],
- [
- -88.76953125,
- 30.372875188118016
- ],
- [
- -83.84765625,
- 29.916852233070173
- ],
- [
- -81.298828125,
- 25.3241665257384
- ],
- [
- -80.068359375,
- 26.43122806450644
- ],
- [
- -82.001953125,
- 30.977609093348686
- ],
- [
- -75.498046875,
- 35.817813158696616
- ],
- [
- -73.564453125,
- 40.84706035607122
- ],
- [
- -66.97265625,
- 44.5278427984555
- ],
- [
- -68.5546875,
- 47.21956811231547
- ],
- [
- -79.189453125,
- 43.13306116240612
- ],
- [
- -83.3203125,
- 41.83682786072714
- ],
- [
- -82.353515625,
- 44.902577996288876
- ],
- [
- -88.24218749999999,
- 47.81315451752768
- ],
- [
- -95.09765625,
- 48.922499263758255
- ],
- [
- -124.45312499999999,
- 48.22467264956519
- ]
- ]
- ],
- [
- [
- [
- -141.064453125,
- 69.62651016802958
- ],
- [
- -152.9296875,
- 70.64176873584621
- ],
- [
- -157.32421875,
- 70.90226826757711
- ],
- [
- -166.376953125,
- 68.43151284537514
- ],
- [
- -160.6640625,
- 66.30220547599842
- ],
- [
- -164.53125,
- 66.40795547978848
- ],
- [
- -168.22265625,
- 65.62202261510642
- ],
- [
- -165.322265625,
- 64.35893097894458
- ],
- [
- -161.19140625,
- 64.66151739623564
- ],
- [
- -161.19140625,
- 63.35212928507874
- ],
- [
- -164.53125,
- 63.11463763252091
- ],
- [
- -166.11328125,
- 61.60639637138628
- ],
- [
- -164.53125,
- 60.71619779357714
- ],
- [
- -167.080078125,
- 60.108670463036
- ],
- [
- -162.24609375,
- 59.7563950493563
- ],
- [
- -161.806640625,
- 58.63121664342478
- ],
- [
- -158.115234375,
- 58.6769376725869
- ],
- [
- -168.3984375,
- 52.908902047770255
- ],
- [
- -157.1484375,
- 56.992882804633986
- ],
- [
- -153.80859375,
- 56.70450561416937
- ],
- [
- -151.962890625,
- 57.938183012205315
- ],
- [
- -148.7109375,
- 60.19615576604439
- ],
- [
- -145.810546875,
- 60.326947742998414
- ],
- [
- -140.9765625,
- 60.1524422143808
- ],
- [
- -141.064453125,
- 69.62651016802958
- ]
- ]
- ],
- [
- [
- [
- -160.20263671875,
- 21.80030805097259
- ],
- [
- -159.63134765625,
- 22.248428704383624
- ],
- [
- -159.30175781249997,
- 22.14670778001263
- ],
- [
- -156.005859375,
- 20.715015145512087
- ],
- [
- -154.75341796875,
- 19.518375478601566
- ],
- [
- -155.76416015625,
- 18.93746442964186
- ],
- [
- -156.02783203124997,
- 19.766703551716976
- ],
- [
- -155.76416015625,
- 20.076570104545173
- ],
- [
- -156.4892578125,
- 20.591652120829167
- ],
- [
- -156.99462890624997,
- 20.756113874762082
- ],
- [
- -158.115234375,
- 21.37124437061831
- ],
- [
- -159.45556640625,
- 21.820707853875017
- ],
- [
- -160.20263671875,
- 21.80030805097259
- ]
- ]
- ]
- ]
- },
- "properties": {
- "title": "MultiPolygon United States of America"
- }
- }, {"type":"Feature","properties":{"mag":1.12,"place":"10km ESE of Ocotillo Wells, CA","time":1467156880790,"updated":1467157099359,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37615864","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37615864.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":19,"net":"ci","code":"37615864","ids":",ci37615864,","sources":",ci,","types":",general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":21,"dmin":0.1789,"rms":0.24,"gap":66,"magType":"ml","type":"earthquake","title":"M 1.1 - 10km ESE of Ocotillo Wells, CA"},"geometry":{"type":"Point","coordinates":[-116.0356667,33.1076667,4.21]},"id":"ci37615864"},
- {"type":"Feature","properties":{"mag":1.2,"place":"116km SE of McGrath, Alaska","time":1467156236000,"updated":1467156952699,"tz":-480,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13731982","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13731982.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":22,"net":"ak","code":"13731982","ids":",ak13731982,","sources":",ak,","types":",general-link,geoserve,nearby-cities,origin,tectonic-summary,","nst":null,"dmin":null,"rms":0.62,"gap":null,"magType":"ml","type":"earthquake","title":"M 1.2 - 116km SE of McGrath, Alaska"},"geometry":{"type":"Point","coordinates":[-154.2443,62.1162,6.3]},"id":"ak13731982"},
- {"type":"Feature","properties":{"mag":1.41,"place":"4km NNW of Boron, CA","time":1467156146830,"updated":1467156382771,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37615856","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37615856.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":31,"net":"ci","code":"37615856","ids":",ci37615856,","sources":",ci,","types":",general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":21,"dmin":0.1021,"rms":0.25,"gap":59,"magType":"ml","type":"quarry blast","title":"M 1.4 Quarry Blast - 4km NNW of Boron, CA"},"geometry":{"type":"Point","coordinates":[-117.6703333,35.0345,0.28]},"id":"ci37615856"},
- {"type":"Feature","properties":{"mag":1.57,"place":"4km ESE of Kelso, Washington","time":1467155666610,"updated":1467158147670,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/uw61175086","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/uw61175086.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":38,"net":"uw","code":"61175086","ids":",uw61175086,","sources":",uw,","types":",general-link,geoserve,nearby-cities,origin,phase-data,","nst":11,"dmin":0.07701,"rms":0.1,"gap":126,"magType":"ml","type":"explosion","title":"M 1.6 Explosion - 4km ESE of Kelso, Washington"},"geometry":{"type":"Point","coordinates":[-122.8505,46.1281667,-0.47]},"id":"uw61175086"},
- {"type":"Feature","properties":{"mag":4.9,"place":"57km WNW of Ovalle, Chile","time":1467155249230,"updated":1467156473969,"tz":-240,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/us200067rb","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/us200067rb.geojson","felt":0,"cdi":1,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":369,"net":"us","code":"200067rb","ids":",us200067rb,","sources":",us,","types":",cap,dyfi,geoserve,nearby-cities,origin,phase-data,tectonic-summary,","nst":null,"dmin":0.326,"rms":0.94,"gap":84,"magType":"mb","type":"earthquake","title":"M 4.9 - 57km WNW of Ovalle, Chile"},"geometry":{"type":"Point","coordinates":[-71.7324,-30.3572,29.21]},"id":"us200067rb"},
- {"type":"Feature","properties":{"mag":1.1,"place":"23km NNE of Badger, Alaska","time":1467155215000,"updated":1467156259719,"tz":-480,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13731974","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13731974.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":19,"net":"ak","code":"13731974","ids":",ak13731974,","sources":",ak,","types":",general-link,geoserve,nearby-cities,origin,","nst":null,"dmin":null,"rms":0.65,"gap":null,"magType":"ml","type":"earthquake","title":"M 1.1 - 23km NNE of Badger, Alaska"},"geometry":{"type":"Point","coordinates":[-147.331,64.9921,0]},"id":"ak13731974"},
- {"type":"Feature","properties":{"mag":0.16,"place":"15km WNW of Anza, CA","time":1467155203340,"updated":1467155417585,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37615824","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37615824.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":0,"net":"ci","code":"37615824","ids":",ci37615824,","sources":",ci,","types":",general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":6,"dmin":0.08319,"rms":0.21,"gap":171,"magType":"ml","type":"earthquake","title":"M 0.2 - 15km WNW of Anza, CA"},"geometry":{"type":"Point","coordinates":[-116.8283333,33.5993333,0.13]},"id":"ci37615824"},
- {"type":"Feature","properties":{"mag":4.4,"place":"21km S of Sary-Tash, Kyrgyzstan","time":1467154673810,"updated":1467155718708,"tz":360,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/us200067r6","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/us200067r6.geojson","felt":0,"cdi":1,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":298,"net":"us","code":"200067r6","ids":",us200067r6,","sources":",us,","types":",cap,dyfi,geoserve,nearby-cities,origin,phase-data,tectonic-summary,","nst":null,"dmin":1.109,"rms":1.41,"gap":156,"magType":"mb","type":"earthquake","title":"M 4.4 - 21km S of Sary-Tash, Kyrgyzstan"},"geometry":{"type":"Point","coordinates":[73.2365,39.5372,10]},"id":"us200067r6"},
- {"type":"Feature","properties":{"mag":0.6,"place":"18km ESE of Anza, CA","time":1467154491180,"updated":1467154707800,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37615808","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37615808.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":6,"net":"ci","code":"37615808","ids":",ci37615808,","sources":",ci,","types":",general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":24,"dmin":0.05002,"rms":0.19,"gap":61,"magType":"ml","type":"earthquake","title":"M 0.6 - 18km ESE of Anza, CA"},"geometry":{"type":"Point","coordinates":[-116.4885,33.5221667,14.47]},"id":"ci37615808"},
- {"type":"Feature","properties":{"mag":5.8,"place":"76km WNW of Port-Olry, Vanuatu","time":1467154007020,"updated":1467156784588,"tz":660,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/us200067r2","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/us200067r2.geojson","felt":0,"cdi":1,"mmi":6.47,"alert":"green","status":"reviewed","tsunami":0,"sig":518,"net":"us","code":"200067r2","ids":",us200067r2,","sources":",us,","types":",cap,dyfi,geoserve,losspager,moment-tensor,nearby-cities,origin,phase-data,shakemap,tectonic-summary,","nst":null,"dmin":6.099,"rms":1.09,"gap":24,"magType":"mww","type":"earthquake","title":"M 5.8 - 76km WNW of Port-Olry, Vanuatu"},"geometry":{"type":"Point","coordinates":[166.4374,-14.6922,10]},"id":"us200067r2"},
- {"type":"Feature","properties":{"mag":0.67,"place":"23km ESE of Anza, CA","time":1467153643560,"updated":1467153857669,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37615792","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37615792.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":7,"net":"ci","code":"37615792","ids":",ci37615792,","sources":",ci,","types":",general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":21,"dmin":0.06812,"rms":0.16,"gap":111,"magType":"ml","type":"earthquake","title":"M 0.7 - 23km ESE of Anza, CA"},"geometry":{"type":"Point","coordinates":[-116.4565,33.4601667,10.75]},"id":"ci37615792"},
- {"type":"Feature","properties":{"mag":1.1,"place":"16km ESE of Enumclaw, Washington","time":1467151367890,"updated":1467153148120,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/uw61175066","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/uw61175066.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":19,"net":"uw","code":"61175066","ids":",uw61175066,","sources":",uw,","types":",general-link,geoserve,nearby-cities,origin,phase-data,","nst":6,"dmin":0.03369,"rms":0.09,"gap":163,"magType":"ml","type":"explosion","title":"M 1.1 Explosion - 16km ESE of Enumclaw, Washington"},"geometry":{"type":"Point","coordinates":[-121.7858333,47.17,-1.23]},"id":"uw61175066"},
- {"type":"Feature","properties":{"mag":0.93,"place":"5km NW of Mira Loma, CA","time":1467151070310,"updated":1467151293776,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37615768","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37615768.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":13,"net":"ci","code":"37615768","ids":",ci37615768,","sources":",ci,","types":",general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":22,"dmin":0.02,"rms":0.19,"gap":61,"magType":"ml","type":"earthquake","title":"M 0.9 - 5km NW of Mira Loma, CA"},"geometry":{"type":"Point","coordinates":[-117.5511667,34.0226667,6.05]},"id":"ci37615768"},
- {"type":"Feature","properties":{"mag":2.2,"place":"4km E of Edmond, Oklahoma","time":1467150541100,"updated":1467153799404,"tz":-300,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/us200067pe","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/us200067pe.geojson","felt":3,"cdi":4.1,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":76,"net":"us","code":"200067pe","ids":",us200067pe,","sources":",us,","types":",cap,dyfi,general-link,geoserve,impact-text,nearby-cities,origin,phase-data,tectonic-summary,","nst":null,"dmin":0.065,"rms":0.3,"gap":43,"magType":"mb_lg","type":"earthquake","title":"M 2.2 - 4km E of Edmond, Oklahoma"},"geometry":{"type":"Point","coordinates":[-97.4258,35.6471,2.48]},"id":"us200067pe"},
- {"type":"Feature","properties":{"mag":5.4,"place":"27km SSE of Sary-Tash, Kyrgyzstan","time":1467149885850,"updated":1467150954802,"tz":360,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/us200067p3","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/us200067p3.geojson","felt":0,"cdi":1,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":449,"net":"us","code":"200067p3","ids":",us200067p3,","sources":",us,","types":",cap,dyfi,geoserve,nearby-cities,origin,phase-data,tectonic-summary,","nst":null,"dmin":2.349,"rms":1.34,"gap":41,"magType":"mb","type":"earthquake","title":"M 5.4 - 27km SSE of Sary-Tash, Kyrgyzstan"},"geometry":{"type":"Point","coordinates":[73.3282,39.4845,17.18]},"id":"us200067p3"},
- {"type":"Feature","properties":{"mag":1.88,"place":"5km SE of Banning, CA","time":1467149144450,"updated":1467149798150,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37615728","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37615728.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":54,"net":"ci","code":"37615728","ids":",ci37615728,","sources":",ci,","types":",focal-mechanism,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":69,"dmin":0.06685,"rms":0.23,"gap":22,"magType":"ml","type":"earthquake","title":"M 1.9 - 5km SE of Banning, CA"},"geometry":{"type":"Point","coordinates":[-116.844,33.8881667,13.67]},"id":"ci37615728"},
- {"type":"Feature","properties":{"mag":2.4,"place":"137km WSW of Gustavus, Alaska","time":1467149123000,"updated":1467150853652,"tz":-540,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13731723","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13731723.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":89,"net":"ak","code":"13731723","ids":",ak13731723,","sources":",ak,","types":",cap,general-link,geoserve,nearby-cities,origin,tectonic-summary,","nst":null,"dmin":null,"rms":0.88,"gap":null,"magType":"ml","type":"earthquake","title":"M 2.4 - 137km WSW of Gustavus, Alaska"},"geometry":{"type":"Point","coordinates":[-137.8818,57.9261,2.5]},"id":"ak13731723"},
- {"type":"Feature","properties":{"mag":1.03,"place":"9km WNW of Cobb, California","time":1467148704390,"updated":1467150305453,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nc72656396","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nc72656396.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":16,"net":"nc","code":"72656396","ids":",nc72656396,","sources":",nc,","types":",general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":7,"dmin":0.003904,"rms":0.01,"gap":212,"magType":"md","type":"earthquake","title":"M 1.0 - 9km WNW of Cobb, California"},"geometry":{"type":"Point","coordinates":[-122.8304977,38.8388329,1.62]},"id":"nc72656396"},
- {"type":"Feature","properties":{"mag":1.2,"place":"35km SSW of Caliente, Nevada","time":1467148679803,"updated":1467151659312,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nn00549774","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nn00549774.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":22,"net":"nn","code":"00549774","ids":",nn00549774,","sources":",nn,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,","nst":8,"dmin":0.331,"rms":0.1372,"gap":164.85,"magType":"ml","type":"earthquake","title":"M 1.2 - 35km SSW of Caliente, Nevada"},"geometry":{"type":"Point","coordinates":[-114.6508,37.3155,7]},"id":"nn00549774"},
- {"type":"Feature","properties":{"mag":0.89,"place":"8km ESE of Valle Vista, CA","time":1467147870660,"updated":1467148091883,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37615712","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37615712.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":12,"net":"ci","code":"37615712","ids":",ci37615712,","sources":",ci,","types":",general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":28,"dmin":0.08552,"rms":0.19,"gap":97,"magType":"ml","type":"earthquake","title":"M 0.9 - 8km ESE of Valle Vista, CA"},"geometry":{"type":"Point","coordinates":[-116.8166667,33.7148333,15.52]},"id":"ci37615712"},
- {"type":"Feature","properties":{"mag":1.61,"place":"7km NW of Corona, CA","time":1467146855250,"updated":1467147081502,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37615688","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37615688.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":40,"net":"ci","code":"37615688","ids":",ci37615688,","sources":",ci,","types":",general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":9,"dmin":0.1536,"rms":0.32,"gap":90,"magType":"ml","type":"earthquake","title":"M 1.6 - 7km NW of Corona, CA"},"geometry":{"type":"Point","coordinates":[-117.6286667,33.9043333,10.04]},"id":"ci37615688"},
- {"type":"Feature","properties":{"mag":0.1,"place":"30km N of Amboy, Washington","time":1467146067230,"updated":1467152565791,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/uw61175051","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/uw61175051.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":0,"net":"uw","code":"61175051","ids":",uw61175051,","sources":",uw,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,","nst":6,"dmin":0.02217,"rms":0.04,"gap":259,"magType":"md","type":"earthquake","title":"M 0.1 - 30km N of Amboy, Washington"},"geometry":{"type":"Point","coordinates":[-122.3703333,46.1783333,18.88]},"id":"uw61175051"},
- {"type":"Feature","properties":{"mag":1.95,"place":"25km E of Honaunau-Napoopoo, Hawaii","time":1467145650310,"updated":1467153739510,"tz":-600,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/hv61314786","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/hv61314786.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":58,"net":"hv","code":"61314786","ids":",hv61314786,","sources":",hv,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,","nst":15,"dmin":0.01637,"rms":0.07,"gap":111,"magType":"ml","type":"earthquake","title":"M 2.0 - 25km E of Honaunau-Napoopoo, Hawaii"},"geometry":{"type":"Point","coordinates":[-155.6265,19.4191667,3.762]},"id":"hv61314786"},
- {"type":"Feature","properties":{"mag":0.34,"place":"12km ESE of Anza, CA","time":1467144445440,"updated":1467146137166,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37615640","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37615640.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":2,"net":"ci","code":"37615640","ids":",ci37615640,","sources":",ci,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":18,"dmin":0.04193,"rms":0.15,"gap":83,"magType":"ml","type":"earthquake","title":"M 0.3 - 12km ESE of Anza, CA"},"geometry":{"type":"Point","coordinates":[-116.5511667,33.519,11.02]},"id":"ci37615640"},
- {"type":"Feature","properties":{"mag":1.46,"place":"25km E of Honaunau-Napoopoo, Hawaii","time":1467144053730,"updated":1467154213660,"tz":-600,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/hv61314761","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/hv61314761.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":33,"net":"hv","code":"61314761","ids":",hv61314761,","sources":",hv,","types":",general-link,geoserve,nearby-cities,origin,phase-data,","nst":9,"dmin":0.01302,"rms":0.06,"gap":144,"magType":"md","type":"earthquake","title":"M 1.5 - 25km E of Honaunau-Napoopoo, Hawaii"},"geometry":{"type":"Point","coordinates":[-155.6278333,19.4158333,3.832]},"id":"hv61314761"},
- {"type":"Feature","properties":{"mag":3.9,"place":"10km SSE of Langston, Oklahoma","time":1467143876680,"updated":1467151143991,"tz":-300,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/us200067mz","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/us200067mz.geojson","felt":8,"cdi":4.6,"mmi":3.54,"alert":null,"status":"reviewed","tsunami":0,"sig":238,"net":"us","code":"200067mz","ids":",us200067mz,","sources":",us,","types":",cap,dyfi,general-link,geoserve,nearby-cities,origin,phase-data,shakemap,tectonic-summary,","nst":null,"dmin":0.193,"rms":0.19,"gap":38,"magType":"mb_lg","type":"earthquake","title":"M 3.9 - 10km SSE of Langston, Oklahoma"},"geometry":{"type":"Point","coordinates":[-97.2269,35.8518,5.18]},"id":"us200067mz"},
- {"type":"Feature","properties":{"mag":1.34,"place":"7km NNE of Coalinga, California","time":1467143873720,"updated":1467151922528,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nc72656371","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nc72656371.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":28,"net":"nc","code":"72656371","ids":",nc72656371,","sources":",nc,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":23,"dmin":0.05397,"rms":0.05,"gap":171,"magType":"md","type":"earthquake","title":"M 1.3 - 7km NNE of Coalinga, California"},"geometry":{"type":"Point","coordinates":[-120.3148333,36.2001667,10.11]},"id":"nc72656371"},
- {"type":"Feature","properties":{"mag":2,"place":"63km ESE of Adak, Alaska","time":1467143399000,"updated":1467146968985,"tz":-540,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13731714","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13731714.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":62,"net":"ak","code":"13731714","ids":",ak13731714,","sources":",ak,","types":",cap,general-link,geoserve,nearby-cities,origin,tectonic-summary,","nst":null,"dmin":null,"rms":0.52,"gap":null,"magType":"ml","type":"earthquake","title":"M 2.0 - 63km ESE of Adak, Alaska"},"geometry":{"type":"Point","coordinates":[-175.8052,51.6593,71.3]},"id":"ak13731714"},
- {"type":"Feature","properties":{"mag":2.02,"place":"3km S of Pahala, Hawaii","time":1467143111250,"updated":1467143318820,"tz":-600,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/hv61314741","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/hv61314741.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":63,"net":"hv","code":"61314741","ids":",hv61314741,","sources":",hv,","types":",general-link,geoserve,nearby-cities,origin,phase-data,","nst":33,"dmin":0.02272,"rms":0.15,"gap":219,"magType":"md","type":"earthquake","title":"M 2.0 - 3km S of Pahala, Hawaii"},"geometry":{"type":"Point","coordinates":[-155.4791718,19.1714993,34.19]},"id":"hv61314741"},
- {"type":"Feature","properties":{"mag":1.3,"place":"5km SE of Port Ludlow, Washington","time":1467142857300,"updated":1467151897630,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/uw61175036","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/uw61175036.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":26,"net":"uw","code":"61175036","ids":",uw61175036,","sources":",uw,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,","nst":8,"dmin":0.1298,"rms":0.29,"gap":236,"magType":"ml","type":"earthquake","title":"M 1.3 - 5km SE of Port Ludlow, Washington"},"geometry":{"type":"Point","coordinates":[-122.6395,47.8813333,11.36]},"id":"uw61175036"},
- {"type":"Feature","properties":{"mag":0.9,"place":"46km SSW of Cantwell, Alaska","time":1467142204000,"updated":1467145782621,"tz":-480,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13731707","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13731707.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":12,"net":"ak","code":"13731707","ids":",ak13731707,","sources":",ak,","types":",general-link,geoserve,nearby-cities,origin,tectonic-summary,","nst":null,"dmin":null,"rms":0.88,"gap":null,"magType":"ml","type":"earthquake","title":"M 0.9 - 46km SSW of Cantwell, Alaska"},"geometry":{"type":"Point","coordinates":[-149.3848,63.028,137.2]},"id":"ak13731707"},
- {"type":"Feature","properties":{"mag":2.8,"place":"31km NW of Fairview, Oklahoma","time":1467141985830,"updated":1467142962367,"tz":-300,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/us200067mh","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/us200067mh.geojson","felt":0,"cdi":1,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":121,"net":"us","code":"200067mh","ids":",us200067mh,","sources":",us,","types":",cap,dyfi,general-link,geoserve,nearby-cities,origin,phase-data,tectonic-summary,","nst":null,"dmin":0.013,"rms":0.22,"gap":83,"magType":"mb_lg","type":"earthquake","title":"M 2.8 - 31km NW of Fairview, Oklahoma"},"geometry":{"type":"Point","coordinates":[-98.7361,36.4657,5.05]},"id":"us200067mh"},
- {"type":"Feature","properties":{"mag":0.45,"place":"6km NW of Anza, CA","time":1467141981890,"updated":1467143888574,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37615552","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37615552.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":3,"net":"ci","code":"37615552","ids":",ci37615552,","sources":",ci,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":23,"dmin":0.02139,"rms":0.1,"gap":64,"magType":"ml","type":"earthquake","title":"M 0.5 - 6km NW of Anza, CA"},"geometry":{"type":"Point","coordinates":[-116.7226667,33.583,12.93]},"id":"ci37615552"},
- {"type":"Feature","properties":{"mag":0.74,"place":"12km SE of Mammoth Lakes, California","time":1467141650870,"updated":1467145625093,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nc72656366","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nc72656366.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":8,"net":"nc","code":"72656366","ids":",nc72656366,","sources":",nc,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":17,"dmin":0.03601,"rms":0.04,"gap":156,"magType":"md","type":"earthquake","title":"M 0.7 - 12km SE of Mammoth Lakes, California"},"geometry":{"type":"Point","coordinates":[-118.8666667,37.5698333,4.51]},"id":"nc72656366"},
- {"type":"Feature","properties":{"mag":0.84,"place":"4km NW of Nuevo, CA","time":1467141626580,"updated":1467143660151,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37615544","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37615544.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":11,"net":"ci","code":"37615544","ids":",ci37615544,","sources":",ci,","types":",general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":38,"dmin":0.04079,"rms":0.21,"gap":51,"magType":"ml","type":"quarry blast","title":"M 0.8 Quarry Blast - 4km NW of Nuevo, CA"},"geometry":{"type":"Point","coordinates":[-117.174,33.8301667,-0.49]},"id":"ci37615544"},
- {"type":"Feature","properties":{"mag":1.46,"place":"6km ESE of Arlington Heights, Washington","time":1467141585130,"updated":1467150843020,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/uw61175016","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/uw61175016.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":33,"net":"uw","code":"61175016","ids":",uw61175016,","sources":",uw,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,","nst":15,"dmin":0.2681,"rms":0.14,"gap":116,"magType":"ml","type":"earthquake","title":"M 1.5 - 6km ESE of Arlington Heights, Washington"},"geometry":{"type":"Point","coordinates":[-121.9826667,48.1718333,64.43]},"id":"uw61175016"},
- {"type":"Feature","properties":{"mag":0.87,"place":"10km NE of Borrego Springs, CA","time":1467141454800,"updated":1467143128339,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37615528","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37615528.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":12,"net":"ci","code":"37615528","ids":",ci37615528,","sources":",ci,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":37,"dmin":0.04614,"rms":0.2,"gap":85,"magType":"ml","type":"earthquake","title":"M 0.9 - 10km NE of Borrego Springs, CA"},"geometry":{"type":"Point","coordinates":[-116.3121667,33.33,9.15]},"id":"ci37615528"},
- {"type":"Feature","properties":{"mag":1.75,"place":"16km S of Highland, Washington","time":1467141416000,"updated":1467150422100,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/uw61175011","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/uw61175011.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":47,"net":"uw","code":"61175011","ids":",uw61175011,","sources":",uw,","types":",general-link,general-link,geoserve,nearby-cities,origin,phase-data,","nst":16,"dmin":0.1088,"rms":0.14,"gap":162,"magType":"ml","type":"explosion","title":"M 1.8 Explosion - 16km S of Highland, Washington"},"geometry":{"type":"Point","coordinates":[-119.086,45.9813333,-0.26]},"id":"uw61175011"},
- {"type":"Feature","properties":{"mag":1,"place":"69km ESE of Lakeview, Oregon","time":1467141215514,"updated":1467150145676,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nn00549763","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nn00549763.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":15,"net":"nn","code":"00549763","ids":",nn00549763,","sources":",nn,","types":",cap,general-link,general-link,geoserve,nearby-cities,origin,phase-data,","nst":5,"dmin":0.157,"rms":0.2468,"gap":223.79,"magType":"ml","type":"earthquake","title":"M 1.0 - 69km ESE of Lakeview, Oregon"},"geometry":{"type":"Point","coordinates":[-119.6288,41.8573,7.1]},"id":"nn00549763"},
- {"type":"Feature","properties":{"mag":1.17,"place":"2km NNW of Orinda, California","time":1467140447150,"updated":1467153962648,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nc72656346","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nc72656346.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":21,"net":"nc","code":"72656346","ids":",nc72656346,","sources":",nc,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":25,"dmin":0.02988,"rms":0.06,"gap":94,"magType":"md","type":"earthquake","title":"M 1.2 - 2km NNW of Orinda, California"},"geometry":{"type":"Point","coordinates":[-122.192,37.9008333,3.96]},"id":"nc72656346"},
- {"type":"Feature","properties":{"mag":0.6,"place":"10km NNE of Portola, California","time":1467140324173,"updated":1467149580878,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nn00549733","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nn00549733.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":6,"net":"nn","code":"00549733","ids":",nn00549733,","sources":",nn,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,","nst":10,"dmin":0.07,"rms":0.0883,"gap":98.57,"magType":"ml","type":"earthquake","title":"M 0.6 - 10km NNE of Portola, California"},"geometry":{"type":"Point","coordinates":[-120.437,39.9031,10.8]},"id":"nn00549733"},
- {"type":"Feature","properties":{"mag":0.7,"place":"26km SE of Manley Hot Springs, Alaska","time":1467139539000,"updated":1467141906548,"tz":-480,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13731704","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13731704.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":8,"net":"ak","code":"13731704","ids":",ak13731704,","sources":",ak,","types":",general-link,geoserve,nearby-cities,origin,","nst":null,"dmin":null,"rms":0.33,"gap":null,"magType":"ml","type":"earthquake","title":"M 0.7 - 26km SE of Manley Hot Springs, Alaska"},"geometry":{"type":"Point","coordinates":[-150.2817,64.8114,16.6]},"id":"ak13731704"},
- {"type":"Feature","properties":{"mag":1.2,"place":"21km NE of Fairview, Utah","time":1467139085250,"updated":1467151313670,"tz":-360,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/uu60154412","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/uu60154412.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":22,"net":"uu","code":"60154412","ids":",uu60154412,","sources":",uu,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,tectonic-summary,","nst":13,"dmin":0.1059,"rms":0.22,"gap":173,"magType":"ml","type":"earthquake","title":"M 1.2 - 21km NE of Fairview, Utah"},"geometry":{"type":"Point","coordinates":[-111.2443333,39.7415,1.12]},"id":"uu60154412"},
- {"type":"Feature","properties":{"mag":1.9,"place":"67km WNW of Valdez, Alaska","time":1467138702000,"updated":1467141905933,"tz":-480,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13731699","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13731699.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":56,"net":"ak","code":"13731699","ids":",ak13731699,","sources":",ak,","types":",general-link,geoserve,nearby-cities,origin,tectonic-summary,","nst":null,"dmin":null,"rms":0.86,"gap":null,"magType":"ml","type":"earthquake","title":"M 1.9 - 67km WNW of Valdez, Alaska"},"geometry":{"type":"Point","coordinates":[-147.508,61.3707,9.1]},"id":"ak13731699"},
- {"type":"Feature","properties":{"mag":0.77,"place":"26km E of Honaunau-Napoopoo, Hawaii","time":1467138526330,"updated":1467158173890,"tz":-600,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/hv61314681","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/hv61314681.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":9,"net":"hv","code":"61314681","ids":",hv61314681,","sources":",hv,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,","nst":7,"dmin":0.03263,"rms":0.13,"gap":106,"magType":"md","type":"earthquake","title":"M 0.8 - 26km E of Honaunau-Napoopoo, Hawaii"},"geometry":{"type":"Point","coordinates":[-155.6091667,19.4305,1.872]},"id":"hv61314681"},
- {"type":"Feature","properties":{"mag":2.3,"place":"57km NE of Kodiak, Alaska","time":1467138139000,"updated":1467141908258,"tz":-480,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13731697","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13731697.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":81,"net":"ak","code":"13731697","ids":",ak13731697,","sources":",ak,","types":",general-link,geoserve,nearby-cities,origin,tectonic-summary,","nst":null,"dmin":null,"rms":0.29,"gap":null,"magType":"ml","type":"earthquake","title":"M 2.3 - 57km NE of Kodiak, Alaska"},"geometry":{"type":"Point","coordinates":[-151.6172,58.0922,24.4]},"id":"ak13731697"},
- {"type":"Feature","properties":{"mag":0.54,"place":"14km WNW of Anza, CA","time":1467137745870,"updated":1467140454638,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37615472","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37615472.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":4,"net":"ci","code":"37615472","ids":",ci37615472,","sources":",ci,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":28,"dmin":0.0391,"rms":0.11,"gap":62,"magType":"ml","type":"earthquake","title":"M 0.5 - 14km WNW of Anza, CA"},"geometry":{"type":"Point","coordinates":[-116.8138333,33.603,8.49]},"id":"ci37615472"},
- {"type":"Feature","properties":{"mag":1.12,"place":"4km WNW of Grand Terrace, CA","time":1467137686500,"updated":1467140073289,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37615464","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37615464.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":19,"net":"ci","code":"37615464","ids":",ci37615464,","sources":",ci,","types":",general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":49,"dmin":0.04989,"rms":0.24,"gap":43,"magType":"ml","type":"quarry blast","title":"M 1.1 Quarry Blast - 4km WNW of Grand Terrace, CA"},"geometry":{"type":"Point","coordinates":[-117.3526667,34.0526667,-0.41]},"id":"ci37615464"},
- {"type":"Feature","properties":{"mag":1,"place":"12km E of Willow, Alaska","time":1467137139000,"updated":1467146970824,"tz":-480,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13731694","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13731694.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":15,"net":"ak","code":"13731694","ids":",ak13731694,","sources":",ak,","types":",cap,general-link,geoserve,nearby-cities,origin,tectonic-summary,","nst":null,"dmin":null,"rms":0.26,"gap":null,"magType":"ml","type":"earthquake","title":"M 1.0 - 12km E of Willow, Alaska"},"geometry":{"type":"Point","coordinates":[-149.7991,61.7422,46.6]},"id":"ak13731694"},
- {"type":"Feature","properties":{"mag":1.73,"place":"2km SE of The Geysers, California","time":1467136790360,"updated":1467145084068,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nc72656331","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nc72656331.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":46,"net":"nc","code":"72656331","ids":",nc72656331,","sources":",nc,","types":",general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":20,"dmin":0.008927,"rms":0.05,"gap":122,"magType":"md","type":"earthquake","title":"M 1.7 - 2km SE of The Geysers, California"},"geometry":{"type":"Point","coordinates":[-122.7360001,38.758667,1.6]},"id":"nc72656331"},
- {"type":"Feature","properties":{"mag":3.2,"place":"40km WSW of Talkeetna, Alaska","time":1467136717000,"updated":1467141994925,"tz":-480,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13731684","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13731684.geojson","felt":0,"cdi":1,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":158,"net":"ak","code":"13731684","ids":",ak13731684,","sources":",ak,","types":",dyfi,general-link,geoserve,nearby-cities,origin,tectonic-summary,","nst":null,"dmin":null,"rms":0.61,"gap":null,"magType":"ml","type":"earthquake","title":"M 3.2 - 40km WSW of Talkeetna, Alaska"},"geometry":{"type":"Point","coordinates":[-150.7988,62.164,62.7]},"id":"ak13731684"},
- {"type":"Feature","properties":{"mag":1.74,"place":"6km NW of The Geysers, California","time":1467135434190,"updated":1467142622938,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nc72656326","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nc72656326.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":47,"net":"nc","code":"72656326","ids":",nc72656326,","sources":",nc,","types":",general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":34,"dmin":0.005858,"rms":0.02,"gap":58,"magType":"md","type":"earthquake","title":"M 1.7 - 6km NW of The Geysers, California"},"geometry":{"type":"Point","coordinates":[-122.8046646,38.8193321,2.3]},"id":"nc72656326"},
- {"type":"Feature","properties":{"mag":4.8,"place":"135km ENE of Chichi-shima, Japan","time":1467135140880,"updated":1467137663040,"tz":600,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/us200067l8","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/us200067l8.geojson","felt":0,"cdi":1,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":354,"net":"us","code":"200067l8","ids":",us200067l8,","sources":",us,","types":",cap,dyfi,geoserve,nearby-cities,origin,phase-data,tectonic-summary,","nst":null,"dmin":1.24,"rms":1.08,"gap":194,"magType":"mb","type":"earthquake","title":"M 4.8 - 135km ENE of Chichi-shima, Japan"},"geometry":{"type":"Point","coordinates":[143.4837,27.549,10]},"id":"us200067l8"},
- {"type":"Feature","properties":{"mag":1.6,"place":"38km WSW of Greenfield, California","time":1467134547000,"updated":1467156662784,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nc72656321","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nc72656321.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":39,"net":"nc","code":"72656321","ids":",nc72656321,","sources":",nc,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":19,"dmin":0.0284,"rms":0.05,"gap":158,"magType":"md","type":"earthquake","title":"M 1.6 - 38km WSW of Greenfield, California"},"geometry":{"type":"Point","coordinates":[-121.6193333,36.1605,11.25]},"id":"nc72656321"},
- {"type":"Feature","properties":{"mag":0.66,"place":"5km NNE of Fontana, CA","time":1467134303970,"updated":1467139528831,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37615376","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37615376.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":7,"net":"ci","code":"37615376","ids":",ci37615376,","sources":",ci,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":27,"dmin":0.04337,"rms":0.15,"gap":69,"magType":"ml","type":"earthquake","title":"M 0.7 - 5km NNE of Fontana, CA"},"geometry":{"type":"Point","coordinates":[-117.4411667,34.143,6.82]},"id":"ci37615376"},
- {"type":"Feature","properties":{"mag":0.48,"place":"8km SW of Idyllwild, CA","time":1467133732590,"updated":1467139178731,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37615368","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37615368.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":4,"net":"ci","code":"37615368","ids":",ci37615368,","sources":",ci,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":25,"dmin":0.05802,"rms":0.13,"gap":100,"magType":"ml","type":"earthquake","title":"M 0.5 - 8km SW of Idyllwild, CA"},"geometry":{"type":"Point","coordinates":[-116.778,33.688,17.2]},"id":"ci37615368"},
- {"type":"Feature","properties":{"mag":1.1,"place":"91km N of Redoubt Volcano, Alaska","time":1467133553000,"updated":1467146969686,"tz":-480,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13730887","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13730887.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":19,"net":"ak","code":"13730887","ids":",ak13730887,","sources":",ak,","types":",cap,general-link,geoserve,nearby-cities,origin,tectonic-summary,","nst":null,"dmin":null,"rms":0.46,"gap":null,"magType":"ml","type":"earthquake","title":"M 1.1 - 91km N of Redoubt Volcano, Alaska"},"geometry":{"type":"Point","coordinates":[-152.4736,61.2948,1.2]},"id":"ak13730887"},
- {"type":"Feature","properties":{"mag":1.5,"place":"117km NNE of Manley Hot Springs, Alaska","time":1467133215000,"updated":1467135370042,"tz":-480,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13730884","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13730884.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":35,"net":"ak","code":"13730884","ids":",ak13730884,","sources":",ak,","types":",general-link,geoserve,nearby-cities,origin,","nst":null,"dmin":null,"rms":0.68,"gap":null,"magType":"ml","type":"earthquake","title":"M 1.5 - 117km NNE of Manley Hot Springs, Alaska"},"geometry":{"type":"Point","coordinates":[-149.2895,65.8978,0]},"id":"ak13730884"},
- {"type":"Feature","properties":{"mag":0.95,"place":"2km NNW of The Geysers, California","time":1467132936470,"updated":1467139321782,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nc72656316","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nc72656316.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":14,"net":"nc","code":"72656316","ids":",nc72656316,","sources":",nc,","types":",general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":11,"dmin":0.01568,"rms":0.01,"gap":124,"magType":"md","type":"earthquake","title":"M 1.0 - 2km NNW of The Geysers, California"},"geometry":{"type":"Point","coordinates":[-122.7689972,38.800499,3.81]},"id":"nc72656316"},
- {"type":"Feature","properties":{"mag":0.79,"place":"6km WNW of The Geysers, California","time":1467132734820,"updated":1467134283537,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nc72656311","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nc72656311.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":10,"net":"nc","code":"72656311","ids":",nc72656311,","sources":",nc,","types":",general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":10,"dmin":0.0218,"rms":0.02,"gap":201,"magType":"md","type":"earthquake","title":"M 0.8 - 6km WNW of The Geysers, California"},"geometry":{"type":"Point","coordinates":[-122.8271637,38.802166,3.87]},"id":"nc72656311"},
- {"type":"Feature","properties":{"mag":1.3,"place":"10km NW of Hollister, California","time":1467130796140,"updated":1467152642589,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nc72656306","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nc72656306.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":26,"net":"nc","code":"72656306","ids":",nc72656306,","sources":",nc,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":22,"dmin":0.08131,"rms":0.13,"gap":99,"magType":"md","type":"earthquake","title":"M 1.3 - 10km NW of Hollister, California"},"geometry":{"type":"Point","coordinates":[-121.4778333,36.9276667,2.55]},"id":"nc72656306"},
- {"type":"Feature","properties":{"mag":0,"place":"22km ESE of Hawthorne, Nevada","time":1467130176808,"updated":1467139860879,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nn00549729","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nn00549729.geojson","felt":0,"cdi":1,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":0,"net":"nn","code":"00549729","ids":",nn00549729,","sources":",nn,","types":",cap,dyfi,general-link,geoserve,nearby-cities,origin,phase-data,","nst":5,"dmin":0.056,"rms":0.1041,"gap":144.17,"magType":"ml","type":"earthquake","title":"M 0.0 - 22km ESE of Hawthorne, Nevada"},"geometry":{"type":"Point","coordinates":[-118.3758,38.4826,2.6]},"id":"nn00549729"},
- {"type":"Feature","properties":{"mag":0.54,"place":"20km ESE of Anza, CA","time":1467130061190,"updated":1467130444617,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37615328","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37615328.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":4,"net":"ci","code":"37615328","ids":",ci37615328,","sources":",ci,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":18,"dmin":0.05181,"rms":0.13,"gap":81,"magType":"ml","type":"earthquake","title":"M 0.5 - 20km ESE of Anza, CA"},"geometry":{"type":"Point","coordinates":[-116.4743333,33.4911667,13.3]},"id":"ci37615328"},
- {"type":"Feature","properties":{"mag":-0.1,"place":"21km E of Hawthorne, Nevada","time":1467129937747,"updated":1467139099083,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nn00549726","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nn00549726.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":0,"net":"nn","code":"00549726","ids":",nn00549726,","sources":",nn,","types":",general-link,geoserve,nearby-cities,origin,phase-data,","nst":5,"dmin":0.064,"rms":0.081,"gap":144.55,"magType":"ml","type":"earthquake","title":"M -0.1 - 21km E of Hawthorne, Nevada"},"geometry":{"type":"Point","coordinates":[-118.3842,38.4878,4.5]},"id":"nn00549726"},
- {"type":"Feature","properties":{"mag":3.6,"place":"106km NW of Fort McPherson, Canada","time":1467129874000,"updated":1467145861834,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13730085","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13730085.geojson","felt":0,"cdi":1,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":199,"net":"ak","code":"13730085","ids":",ak13730085,","sources":",ak,","types":",cap,dyfi,geoserve,nearby-cities,origin,","nst":null,"dmin":null,"rms":0.5,"gap":null,"magType":"ml","type":"earthquake","title":"M 3.6 - 106km NW of Fort McPherson, Canada"},"geometry":{"type":"Point","coordinates":[-136.5264,68.1634,25.9]},"id":"ak13730085"},
- {"type":"Feature","properties":{"mag":0.79,"place":"17km ESE of Anza, CA","time":1467129563160,"updated":1467130485200,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37615320","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37615320.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":10,"net":"ci","code":"37615320","ids":",ci37615320,","sources":",ci,","types":",cap,focal-mechanism,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":25,"dmin":0.05977,"rms":0.17,"gap":71,"magType":"ml","type":"earthquake","title":"M 0.8 - 17km ESE of Anza, CA"},"geometry":{"type":"Point","coordinates":[-116.505,33.5016667,12.62]},"id":"ci37615320"},
- {"type":"Feature","properties":{"mag":4.4,"place":"4km W of Tursunzoda, Tajikistan","time":1467129336160,"updated":1467135234951,"tz":300,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/us200067ke","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/us200067ke.geojson","felt":0,"cdi":1,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":298,"net":"us","code":"200067ke","ids":",us200067ke,","sources":",us,","types":",cap,dyfi,geoserve,nearby-cities,origin,phase-data,tectonic-summary,","nst":null,"dmin":0.776,"rms":0.7,"gap":91,"magType":"mb","type":"earthquake","title":"M 4.4 - 4km W of Tursunzoda, Tajikistan"},"geometry":{"type":"Point","coordinates":[68.1848,38.5131,21.92]},"id":"us200067ke"},
- {"type":"Feature","properties":{"mag":1.7,"place":"84km W of Cantwell, Alaska","time":1467129177000,"updated":1467132376651,"tz":-480,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13730082","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13730082.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":44,"net":"ak","code":"13730082","ids":",ak13730082,","sources":",ak,","types":",general-link,geoserve,nearby-cities,origin,tectonic-summary,","nst":null,"dmin":null,"rms":0.45,"gap":null,"magType":"ml","type":"earthquake","title":"M 1.7 - 84km W of Cantwell, Alaska"},"geometry":{"type":"Point","coordinates":[-150.6166,63.2513,132.1]},"id":"ak13730082"},
- {"type":"Feature","properties":{"mag":1.81,"place":"14km S of Volcano, Hawaii","time":1467128623490,"updated":1467138460620,"tz":-600,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/hv61314516","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/hv61314516.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":50,"net":"hv","code":"61314516","ids":",hv61314516,","sources":",hv,","types":",general-link,geoserve,nearby-cities,origin,phase-data,","nst":50,"dmin":0.01755,"rms":0.09,"gap":109,"magType":"md","type":"earthquake","title":"M 1.8 - 14km S of Volcano, Hawaii"},"geometry":{"type":"Point","coordinates":[-155.2166667,19.2971667,33.881]},"id":"hv61314516"},
- {"type":"Feature","properties":{"mag":1.24,"place":"9km NNE of Gonzales, California","time":1467128570060,"updated":1467158404550,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nc72656301","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nc72656301.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":24,"net":"nc","code":"72656301","ids":",nc72656301,","sources":",nc,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":21,"dmin":0.0168,"rms":0.07,"gap":51,"magType":"md","type":"earthquake","title":"M 1.2 - 9km NNE of Gonzales, California"},"geometry":{"type":"Point","coordinates":[-121.416,36.5848333,1.57]},"id":"nc72656301"},
- {"type":"Feature","properties":{"mag":-0.2,"place":"24km ESE of Hawthorne, Nevada","time":1467128450902,"updated":1467138718668,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nn00549724","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nn00549724.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":1,"net":"nn","code":"00549724","ids":",nn00549724,","sources":",nn,","types":",general-link,geoserve,nearby-cities,origin,phase-data,","nst":5,"dmin":0.02,"rms":0.0783,"gap":127.77,"magType":"ml","type":"earthquake","title":"M -0.2 - 24km ESE of Hawthorne, Nevada"},"geometry":{"type":"Point","coordinates":[-118.3607,38.4428,9.3]},"id":"nn00549724"},
- {"type":"Feature","properties":{"mag":0.2,"place":"35km NW of Manley Hot Springs, Alaska","time":1467128261000,"updated":1467132377847,"tz":-480,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13730081","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13730081.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":1,"net":"ak","code":"13730081","ids":",ak13730081,","sources":",ak,","types":",general-link,geoserve,nearby-cities,origin,","nst":null,"dmin":null,"rms":0.28,"gap":null,"magType":"ml","type":"earthquake","title":"M 0.2 - 35km NW of Manley Hot Springs, Alaska"},"geometry":{"type":"Point","coordinates":[-151.1135,65.2516,0]},"id":"ak13730081"},
- {"type":"Feature","properties":{"mag":0.65,"place":"14km WNW of Anza, CA","time":1467128139530,"updated":1467130449462,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37615288","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37615288.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":6,"net":"ci","code":"37615288","ids":",ci37615288,","sources":",ci,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":24,"dmin":0.04031,"rms":0.08,"gap":51,"magType":"ml","type":"earthquake","title":"M 0.7 - 14km WNW of Anza, CA"},"geometry":{"type":"Point","coordinates":[-116.815,33.6003333,8.02]},"id":"ci37615288"},
- {"type":"Feature","properties":{"mag":1,"place":"81km ENE of Cape Yakataga, Alaska","time":1467128033000,"updated":1467132377285,"tz":-480,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13730079","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13730079.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":15,"net":"ak","code":"13730079","ids":",ak13730079,","sources":",ak,","types":",general-link,geoserve,nearby-cities,origin,tectonic-summary,","nst":null,"dmin":null,"rms":1.23,"gap":null,"magType":"ml","type":"earthquake","title":"M 1.0 - 81km ENE of Cape Yakataga, Alaska"},"geometry":{"type":"Point","coordinates":[-140.9947,60.2347,30.9]},"id":"ak13730079"},
- {"type":"Feature","properties":{"mag":3.2,"place":"24km ESE of Cohoe, Alaska","time":1467127314000,"updated":1467132468939,"tz":-480,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13730060","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13730060.geojson","felt":0,"cdi":1,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":158,"net":"ak","code":"13730060","ids":",ak13730060,","sources":",ak,","types":",dyfi,general-link,geoserve,nearby-cities,origin,tectonic-summary,","nst":null,"dmin":null,"rms":0.56,"gap":null,"magType":"ml","type":"earthquake","title":"M 3.2 - 24km ESE of Cohoe, Alaska"},"geometry":{"type":"Point","coordinates":[-150.9208,60.2527,70.3]},"id":"ak13730060"},
- {"type":"Feature","properties":{"mag":1.9,"place":"24km SW of Y, Alaska","time":1467127002000,"updated":1467132378630,"tz":-480,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13730056","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13730056.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":56,"net":"ak","code":"13730056","ids":",ak13730056,","sources":",ak,","types":",general-link,geoserve,nearby-cities,origin,tectonic-summary,","nst":null,"dmin":null,"rms":0.79,"gap":null,"magType":"ml","type":"earthquake","title":"M 1.9 - 24km SW of Y, Alaska"},"geometry":{"type":"Point","coordinates":[-150.1674,61.9962,5.8]},"id":"ak13730056"},
- {"type":"Feature","properties":{"mag":2.2,"place":"63km SW of Anchor Point, Alaska","time":1467125945000,"updated":1467129072243,"tz":-600,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13730048","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13730048.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":74,"net":"ak","code":"13730048","ids":",ak13730048,","sources":",ak,","types":",general-link,geoserve,nearby-cities,origin,tectonic-summary,","nst":null,"dmin":null,"rms":0.43,"gap":null,"magType":"ml","type":"earthquake","title":"M 2.2 - 63km SW of Anchor Point, Alaska"},"geometry":{"type":"Point","coordinates":[-152.6304,59.3819,73.8]},"id":"ak13730048"},
- {"type":"Feature","properties":{"mag":4,"place":"89km W of San Antonio de los Cobres, Argentina","time":1467125378280,"updated":1467130904956,"tz":-180,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/us200067j2","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/us200067j2.geojson","felt":0,"cdi":1,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":246,"net":"us","code":"200067j2","ids":",us200067j2,","sources":",us,","types":",cap,dyfi,geoserve,nearby-cities,origin,phase-data,tectonic-summary,","nst":null,"dmin":1.568,"rms":1.34,"gap":36,"magType":"mb","type":"earthquake","title":"M 4.0 - 89km W of San Antonio de los Cobres, Argentina"},"geometry":{"type":"Point","coordinates":[-67.2028,-24.2452,184.15]},"id":"us200067j2"},
- {"type":"Feature","properties":{"mag":0.04,"place":"36km N of Packwood, Washington","time":1467124311920,"updated":1467137270630,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/uw61174921","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/uw61174921.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":0,"net":"uw","code":"61174921","ids":",uw61174921,","sources":",uw,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,","nst":9,"dmin":0.01003,"rms":0.13,"gap":176,"magType":"ml","type":"earthquake","title":"M 0.0 - 36km N of Packwood, Washington"},"geometry":{"type":"Point","coordinates":[-121.6588333,46.9358333,9.38]},"id":"uw61174921"},
- {"type":"Feature","properties":{"mag":0.5,"place":"19km ESE of Anza, CA","time":1467124308950,"updated":1467130391497,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37615240","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37615240.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":4,"net":"ci","code":"37615240","ids":",ci37615240,","sources":",ci,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":26,"dmin":0.06133,"rms":0.13,"gap":97,"magType":"ml","type":"earthquake","title":"M 0.5 - 19km ESE of Anza, CA"},"geometry":{"type":"Point","coordinates":[-116.4873333,33.49,13.87]},"id":"ci37615240"},
- {"type":"Feature","properties":{"mag":0.03,"place":"36km SE of Buckley, Washington","time":1467123718660,"updated":1467137108240,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/uw61174916","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/uw61174916.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":0,"net":"uw","code":"61174916","ids":",uw61174916,","sources":",uw,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,","nst":8,"dmin":0.0121,"rms":0.09,"gap":218,"magType":"ml","type":"earthquake","title":"M 0.0 - 36km SE of Buckley, Washington"},"geometry":{"type":"Point","coordinates":[-121.6596667,46.9506667,8.14]},"id":"uw61174916"},
- {"type":"Feature","properties":{"mag":2.07,"place":"3km NNE of East Quincy, California","time":1467123095870,"updated":1467153963647,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nc71103349","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nc71103349.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":66,"net":"nc","code":"71103349","ids":",nc71103349,","sources":",nc,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":19,"dmin":0.08149,"rms":0.07,"gap":74,"magType":"md","type":"earthquake","title":"M 2.1 - 3km NNE of East Quincy, California"},"geometry":{"type":"Point","coordinates":[-120.88,39.9626667,4.83]},"id":"nc71103349"},
- {"type":"Feature","properties":{"mag":null,"place":"3km NNE of East Quincy, California","time":1467123095020,"updated":1467150924306,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nc72656276","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nc72656276.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":0,"net":"nc","code":"72656276","ids":",nn00549689,nc72656276,","sources":",nn,nc,","types":",general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":9,"dmin":0.08206,"rms":0.05,"gap":76,"magType":null,"type":"earthquake","title":"M ? - 3km NNE of East Quincy, California"},"geometry":{"type":"Point","coordinates":[-120.8755,39.9623333,3.62]},"id":"nc72656276"},
- {"type":"Feature","properties":{"mag":5.1,"place":"179km NNW of Dobo, Indonesia","time":1467122151130,"updated":1467126524871,"tz":540,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/us200067hm","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/us200067hm.geojson","felt":0,"cdi":1,"mmi":null,"alert":null,"status":"reviewed","tsunami":1,"sig":400,"net":"us","code":"200067hm","ids":",us200067hm,","sources":",us,","types":",cap,dyfi,geoserve,nearby-cities,origin,phase-data,tectonic-summary,","nst":null,"dmin":1.985,"rms":0.82,"gap":45,"magType":"mb","type":"earthquake","title":"M 5.1 - 179km NNW of Dobo, Indonesia"},"geometry":{"type":"Point","coordinates":[133.767,-4.2101,10]},"id":"us200067hm"},
- {"type":"Feature","properties":{"mag":0.49,"place":"3km WNW of Lake Henshaw, CA","time":1467121671230,"updated":1467129514038,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37615224","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37615224.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":4,"net":"ci","code":"37615224","ids":",ci37615224,","sources":",ci,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":22,"dmin":0.03384,"rms":0.13,"gap":97,"magType":"ml","type":"earthquake","title":"M 0.5 - 3km WNW of Lake Henshaw, CA"},"geometry":{"type":"Point","coordinates":[-116.7951667,33.2506667,9.16]},"id":"ci37615224"},
- {"type":"Feature","properties":{"mag":0.6,"place":"9km NE of Aguanga, CA","time":1467121626580,"updated":1467128577322,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37615216","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37615216.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":6,"net":"ci","code":"37615216","ids":",ci37615216,","sources":",ci,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":28,"dmin":0.08106,"rms":0.11,"gap":39,"magType":"ml","type":"earthquake","title":"M 0.6 - 9km NE of Aguanga, CA"},"geometry":{"type":"Point","coordinates":[-116.7903333,33.4973333,4.96]},"id":"ci37615216"},
- {"type":"Feature","properties":{"mag":2.5,"place":"18km NNE of Isabela, Puerto Rico","time":1467120591200,"updated":1467139160040,"tz":-240,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/pr16180004","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/pr16180004.geojson","felt":0,"cdi":1,"mmi":null,"alert":null,"status":"REVIEWED","tsunami":0,"sig":96,"net":"pr","code":"16180004","ids":",pr16180004,us200067kn,","sources":",pr,us,","types":",cap,dyfi,geoserve,nearby-cities,origin,phase-data,tectonic-summary,","nst":6,"dmin":0.33417329,"rms":0.18,"gap":273.6,"magType":"Md","type":"earthquake","title":"M 2.5 - 18km NNE of Isabela, Puerto Rico"},"geometry":{"type":"Point","coordinates":[-66.9281,18.6399,15]},"id":"pr16180004"},
- {"type":"Feature","properties":{"mag":4.7,"place":"64km N of Port-Olry, Vanuatu","time":1467120584130,"updated":1467124132684,"tz":660,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/us200067hj","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/us200067hj.geojson","felt":0,"cdi":1,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":340,"net":"us","code":"200067hj","ids":",us200067hj,","sources":",us,","types":",cap,dyfi,geoserve,nearby-cities,origin,phase-data,tectonic-summary,","nst":null,"dmin":6.275,"rms":0.7,"gap":144,"magType":"mb","type":"earthquake","title":"M 4.7 - 64km N of Port-Olry, Vanuatu"},"geometry":{"type":"Point","coordinates":[166.94,-14.4734,38.82]},"id":"us200067hj"},
- {"type":"Feature","properties":{"mag":1.6,"place":"94km N of Redoubt Volcano, Alaska","time":1467119565000,"updated":1467122238492,"tz":-480,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13729248","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13729248.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":39,"net":"ak","code":"13729248","ids":",ak13729248,","sources":",ak,","types":",general-link,geoserve,nearby-cities,origin,tectonic-summary,","nst":null,"dmin":null,"rms":0.71,"gap":null,"magType":"ml","type":"earthquake","title":"M 1.6 - 94km N of Redoubt Volcano, Alaska"},"geometry":{"type":"Point","coordinates":[-152.4934,61.3249,1.3]},"id":"ak13729248"},
- {"type":"Feature","properties":{"mag":0.61,"place":"19km ESE of Anza, CA","time":1467119301250,"updated":1467120643567,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37615192","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37615192.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":6,"net":"ci","code":"37615192","ids":",ci37615192,","sources":",ci,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":25,"dmin":0.05804,"rms":0.14,"gap":79,"magType":"ml","type":"earthquake","title":"M 0.6 - 19km ESE of Anza, CA"},"geometry":{"type":"Point","coordinates":[-116.483,33.4905,13.86]},"id":"ci37615192"},
- {"type":"Feature","properties":{"mag":2.29,"place":"3km E of Ridgely, Tennessee","time":1467119284150,"updated":1467124534173,"tz":-300,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nm60123007","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nm60123007.geojson","felt":0,"cdi":1,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":81,"net":"nm","code":"60123007","ids":",nm60123007,","sources":",nm,","types":",cap,dyfi,general-link,geoserve,nearby-cities,origin,phase-data,tectonic-summary,","nst":22,"dmin":0.03134,"rms":0.07,"gap":47,"magType":"md","type":"earthquake","title":"M 2.3 - 3km E of Ridgely, Tennessee"},"geometry":{"type":"Point","coordinates":[-89.4483333,36.2685,6.85]},"id":"nm60123007"},
- {"type":"Feature","properties":{"mag":1.6,"place":"62km NE of Sutton-Alpine, Alaska","time":1467119086000,"updated":1467122239731,"tz":-480,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13729242","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13729242.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":39,"net":"ak","code":"13729242","ids":",ak13729242,","sources":",ak,","types":",general-link,geoserve,nearby-cities,origin,tectonic-summary,","nst":null,"dmin":null,"rms":0.82,"gap":null,"magType":"ml","type":"earthquake","title":"M 1.6 - 62km NE of Sutton-Alpine, Alaska"},"geometry":{"type":"Point","coordinates":[-147.9358,62.1575,24.4]},"id":"ak13729242"},
- {"type":"Feature","properties":{"mag":1.02,"place":"5km SE of The Geysers, California","time":1467118375020,"updated":1467159986151,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nc72656266","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nc72656266.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":16,"net":"nc","code":"72656266","ids":",nc72656266,","sources":",nc,","types":",general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":31,"dmin":0.005825,"rms":0.08,"gap":114,"magType":"md","type":"earthquake","title":"M 1.0 - 5km SE of The Geysers, California"},"geometry":{"type":"Point","coordinates":[-122.7185,38.7428333,0.35]},"id":"nc72656266"},
- {"type":"Feature","properties":{"mag":0.47,"place":"14km WNW of Anza, CA","time":1467118098250,"updated":1467120645449,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37615176","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37615176.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":3,"net":"ci","code":"37615176","ids":",ci37615176,","sources":",ci,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":22,"dmin":0.03885,"rms":0.16,"gap":62,"magType":"ml","type":"earthquake","title":"M 0.5 - 14km WNW of Anza, CA"},"geometry":{"type":"Point","coordinates":[-116.8148333,33.6025,8.32]},"id":"ci37615176"},
- {"type":"Feature","properties":{"mag":0.81,"place":"9km WNW of The Geysers, California","time":1467118064640,"updated":1467121382937,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nc72656261","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nc72656261.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":10,"net":"nc","code":"72656261","ids":",nc72656261,","sources":",nc,","types":",general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":8,"dmin":0.005944,"rms":0.03,"gap":90,"magType":"md","type":"earthquake","title":"M 0.8 - 9km WNW of The Geysers, California"},"geometry":{"type":"Point","coordinates":[-122.8503342,38.824501,1.67]},"id":"nc72656261"},
- {"type":"Feature","properties":{"mag":0.7,"place":"49km ENE of Mammoth Lakes, California","time":1467118003084,"updated":1467139840265,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nn00549727","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nn00549727.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":8,"net":"nn","code":"00549727","ids":",nn00549727,","sources":",nn,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,","nst":9,"dmin":0.183,"rms":0.129,"gap":140.61,"magType":"ml","type":"earthquake","title":"M 0.7 - 49km ENE of Mammoth Lakes, California"},"geometry":{"type":"Point","coordinates":[-118.5056,37.8897,11.1]},"id":"nn00549727"},
- {"type":"Feature","properties":{"mag":0.8,"place":"32km SSW of Manley Hot Springs, Alaska","time":1467117816000,"updated":1467122239084,"tz":-480,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13729237","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13729237.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":10,"net":"ak","code":"13729237","ids":",ak13729237,","sources":",ak,","types":",general-link,geoserve,nearby-cities,origin,","nst":null,"dmin":null,"rms":0.17,"gap":null,"magType":"ml","type":"earthquake","title":"M 0.8 - 32km SSW of Manley Hot Springs, Alaska"},"geometry":{"type":"Point","coordinates":[-150.8794,64.7323,17.9]},"id":"ak13729237"},
- {"type":"Feature","properties":{"mag":4.9,"place":"27km SSE of Sary-Tash, Kyrgyzstan","time":1467117796090,"updated":1467120533040,"tz":360,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/us200067hf","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/us200067hf.geojson","felt":0,"cdi":1,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":369,"net":"us","code":"200067hf","ids":",us200067hf,","sources":",us,","types":",cap,dyfi,geoserve,moment-tensor,nearby-cities,origin,phase-data,tectonic-summary,","nst":null,"dmin":1.213,"rms":1.31,"gap":71,"magType":"mb","type":"earthquake","title":"M 4.9 - 27km SSE of Sary-Tash, Kyrgyzstan"},"geometry":{"type":"Point","coordinates":[73.3726,39.4984,10]},"id":"us200067hf"},
- {"type":"Feature","properties":{"mag":-0.1,"place":"50km WNW of Beatty, Nevada","time":1467116882360,"updated":1467138909795,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nn00549722","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nn00549722.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":0,"net":"nn","code":"00549722","ids":",nn00549722,","sources":",nn,","types":",general-link,geoserve,nearby-cities,origin,phase-data,","nst":5,"dmin":0.233,"rms":0.1191,"gap":311.36,"magType":"ml","type":"earthquake","title":"M -0.1 - 50km WNW of Beatty, Nevada"},"geometry":{"type":"Point","coordinates":[-117.2417,37.1431,10.4]},"id":"nn00549722"},
- {"type":"Feature","properties":{"mag":-0.3,"place":"10km NE of Johnson Lane, Nevada","time":1467116420326,"updated":1467137977681,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nn00549720","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nn00549720.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":1,"net":"nn","code":"00549720","ids":",nn00549720,","sources":",nn,","types":",general-link,geoserve,nearby-cities,origin,phase-data,","nst":6,"dmin":0.053,"rms":0.0911,"gap":115.57,"magType":"ml","type":"earthquake","title":"M -0.3 - 10km NE of Johnson Lane, Nevada"},"geometry":{"type":"Point","coordinates":[-119.6505,39.124,9.9]},"id":"nn00549720"},
- {"type":"Feature","properties":{"mag":0.5,"place":"20km NW of Hawthorne, Nevada","time":1467115649389,"updated":1467137786155,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nn00549718","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nn00549718.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":4,"net":"nn","code":"00549718","ids":",nn00549718,","sources":",nn,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,","nst":5,"dmin":0.202,"rms":0.0804,"gap":158.79,"magType":"ml","type":"earthquake","title":"M 0.5 - 20km NW of Hawthorne, Nevada"},"geometry":{"type":"Point","coordinates":[-118.7757,38.6654,14.6]},"id":"nn00549718"},
- {"type":"Feature","properties":{"mag":0.87,"place":"6km ESE of Talmage, California","time":1467115017470,"updated":1467133623493,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nc72656251","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nc72656251.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":12,"net":"nc","code":"72656251","ids":",nc72656251,","sources":",nc,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":4,"dmin":0.09375,"rms":0.25,"gap":199,"magType":"md","type":"earthquake","title":"M 0.9 - 6km ESE of Talmage, California"},"geometry":{"type":"Point","coordinates":[-123.0966667,39.1126667,3.5]},"id":"nc72656251"},
- {"type":"Feature","properties":{"mag":2.85,"place":"19km NNE of Upper Lake, California","time":1467114905060,"updated":1467155284704,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nc72656241","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nc72656241.geojson","felt":1,"cdi":2,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":125,"net":"nc","code":"72656241","ids":",nc72656241,","sources":",nc,","types":",cap,dyfi,focal-mechanism,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":60,"dmin":0.1472,"rms":0.13,"gap":31,"magType":"md","type":"earthquake","title":"M 2.9 - 19km NNE of Upper Lake, California"},"geometry":{"type":"Point","coordinates":[-122.7928333,39.3195,9.4]},"id":"nc72656241"},
- {"type":"Feature","properties":{"mag":1.1,"place":"15km SE of North Nenana, Alaska","time":1467114175000,"updated":1467118758263,"tz":-480,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13728450","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13728450.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":19,"net":"ak","code":"13728450","ids":",ak13728450,","sources":",ak,","types":",general-link,geoserve,nearby-cities,origin,","nst":null,"dmin":null,"rms":0.63,"gap":null,"magType":"ml","type":"earthquake","title":"M 1.1 - 15km SE of North Nenana, Alaska"},"geometry":{"type":"Point","coordinates":[-148.8797,64.4816,20]},"id":"ak13728450"},
- {"type":"Feature","properties":{"mag":4.9,"place":"129km SSW of `Ohonua, Tonga","time":1467112732760,"updated":1467117010171,"tz":-720,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/us200067gv","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/us200067gv.geojson","felt":0,"cdi":1,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":369,"net":"us","code":"200067gv","ids":",us200067gv,","sources":",us,","types":",cap,dyfi,geoserve,nearby-cities,origin,phase-data,tectonic-summary,","nst":null,"dmin":6.143,"rms":0.66,"gap":84,"magType":"mb","type":"earthquake","title":"M 4.9 - 129km SSW of `Ohonua, Tonga"},"geometry":{"type":"Point","coordinates":[-175.4626,-22.396,10]},"id":"us200067gv"},
- {"type":"Feature","properties":{"mag":0,"place":"22km ESE of Hawthorne, Nevada","time":1467112683525,"updated":1467129180838,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nn00549684","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nn00549684.geojson","felt":0,"cdi":1,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":0,"net":"nn","code":"00549684","ids":",nn00549684,","sources":",nn,","types":",cap,dyfi,general-link,geoserve,nearby-cities,origin,phase-data,","nst":5,"dmin":0.04,"rms":0.0186,"gap":124.51,"magType":"ml","type":"earthquake","title":"M 0.0 - 22km ESE of Hawthorne, Nevada"},"geometry":{"type":"Point","coordinates":[-118.387,38.4428,6.9]},"id":"nn00549684"},
- {"type":"Feature","properties":{"mag":2.5,"place":"69km WSW of Big Lake, Alaska","time":1467112647000,"updated":1467115780062,"tz":-480,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13728441","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13728441.geojson","felt":0,"cdi":1,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":96,"net":"ak","code":"13728441","ids":",ak13728441,","sources":",ak,","types":",dyfi,general-link,geoserve,nearby-cities,origin,tectonic-summary,","nst":null,"dmin":null,"rms":0.53,"gap":null,"magType":"ml","type":"earthquake","title":"M 2.5 - 69km WSW of Big Lake, Alaska"},"geometry":{"type":"Point","coordinates":[-151.2308,61.376,55.7]},"id":"ak13728441"},
- {"type":"Feature","properties":{"mag":0.97,"place":"24km N of Yucca Valley, CA","time":1467112243750,"updated":1467128243634,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37615120","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37615120.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":14,"net":"ci","code":"37615120","ids":",ci37615120,","sources":",ci,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":40,"dmin":0.07497,"rms":0.2,"gap":64,"magType":"ml","type":"earthquake","title":"M 1.0 - 24km N of Yucca Valley, CA"},"geometry":{"type":"Point","coordinates":[-116.4645,34.3235,7.93]},"id":"ci37615120"},
- {"type":"Feature","properties":{"mag":0.64,"place":"15km S of Morton, Washington","time":1467111571240,"updated":1467134024163,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/uw61174871","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/uw61174871.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":6,"net":"uw","code":"61174871","ids":",uw61174871,","sources":",uw,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,","nst":10,"dmin":0.09308,"rms":0.09,"gap":232,"magType":"ml","type":"earthquake","title":"M 0.6 - 15km S of Morton, Washington"},"geometry":{"type":"Point","coordinates":[-122.3151667,46.4195,16.8]},"id":"uw61174871"},
- {"type":"Feature","properties":{"mag":1.11,"place":"1km W of Loma Linda, CA","time":1467111179370,"updated":1467120691260,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37615112","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37615112.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":19,"net":"ci","code":"37615112","ids":",ci37615112,","sources":",ci,","types":",cap,focal-mechanism,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":46,"dmin":0.09815,"rms":0.23,"gap":38,"magType":"ml","type":"earthquake","title":"M 1.1 - 1km W of Loma Linda, CA"},"geometry":{"type":"Point","coordinates":[-117.276,34.0466667,16.04]},"id":"ci37615112"},
- {"type":"Feature","properties":{"mag":1.8,"place":"76km N of Tanana, Alaska","time":1467111053000,"updated":1467115696824,"tz":-480,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13727656","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13727656.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":50,"net":"ak","code":"13727656","ids":",ak13727656,","sources":",ak,","types":",general-link,geoserve,nearby-cities,origin,","nst":null,"dmin":null,"rms":1.03,"gap":null,"magType":"ml","type":"earthquake","title":"M 1.8 - 76km N of Tanana, Alaska"},"geometry":{"type":"Point","coordinates":[-151.7679,65.8455,5.2]},"id":"ak13727656"},
- {"type":"Feature","properties":{"mag":0.31,"place":"14km WNW of Anza, CA","time":1467110876090,"updated":1467120660755,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37615104","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37615104.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":1,"net":"ci","code":"37615104","ids":",ci37615104,","sources":",ci,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":19,"dmin":0.03851,"rms":0.08,"gap":82,"magType":"ml","type":"earthquake","title":"M 0.3 - 14km WNW of Anza, CA"},"geometry":{"type":"Point","coordinates":[-116.815,33.6028333,8.13]},"id":"ci37615104"},
- {"type":"Feature","properties":{"mag":0.99,"place":"15km N of Warner Springs, CA","time":1467110490420,"updated":1467127835407,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37615096","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37615096.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":15,"net":"ci","code":"37615096","ids":",ci37615096,","sources":",ci,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":56,"dmin":0.07704,"rms":0.14,"gap":58,"magType":"ml","type":"earthquake","title":"M 1.0 - 15km N of Warner Springs, CA"},"geometry":{"type":"Point","coordinates":[-116.6285,33.4206667,7.03]},"id":"ci37615096"},
- {"type":"Feature","properties":{"mag":0.8,"place":"33km SW of Manley Hot Springs, Alaska","time":1467110428000,"updated":1467115696234,"tz":-480,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13727655","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13727655.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":10,"net":"ak","code":"13727655","ids":",ak13727655,","sources":",ak,","types":",general-link,geoserve,nearby-cities,origin,","nst":null,"dmin":null,"rms":0.7,"gap":null,"magType":"ml","type":"earthquake","title":"M 0.8 - 33km SW of Manley Hot Springs, Alaska"},"geometry":{"type":"Point","coordinates":[-151.1167,64.7834,16.4]},"id":"ak13727655"},
- {"type":"Feature","properties":{"mag":0.47,"place":"2km NE of Colton, CA","time":1467110307300,"updated":1467127366736,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37615088","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37615088.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":3,"net":"ci","code":"37615088","ids":",ci37615088,","sources":",ci,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":43,"dmin":0.1082,"rms":0.18,"gap":102,"magType":"ml","type":"earthquake","title":"M 0.5 - 2km NE of Colton, CA"},"geometry":{"type":"Point","coordinates":[-117.3025,34.0833333,14.11]},"id":"ci37615088"},
- {"type":"Feature","properties":{"mag":2.3,"place":"72km WSW of Sand Point, Alaska","time":1467109729000,"updated":1467145850140,"tz":-480,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13727654","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13727654.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":81,"net":"ak","code":"13727654","ids":",ak13727654,","sources":",ak,","types":",cap,general-link,geoserve,nearby-cities,origin,tectonic-summary,","nst":null,"dmin":null,"rms":0.39,"gap":null,"magType":"ml","type":"earthquake","title":"M 2.3 - 72km WSW of Sand Point, Alaska"},"geometry":{"type":"Point","coordinates":[-161.4604,54.9808,64.3]},"id":"ak13727654"},
- {"type":"Feature","properties":{"mag":1.2,"place":"12km ENE of Talkeetna, Alaska","time":1467109018000,"updated":1467112420737,"tz":-480,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13727653","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13727653.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":22,"net":"ak","code":"13727653","ids":",ak13727653,","sources":",ak,","types":",general-link,geoserve,nearby-cities,origin,tectonic-summary,","nst":null,"dmin":null,"rms":0.75,"gap":null,"magType":"ml","type":"earthquake","title":"M 1.2 - 12km ENE of Talkeetna, Alaska"},"geometry":{"type":"Point","coordinates":[-149.8783,62.3453,0]},"id":"ak13727653"},
- {"type":"Feature","properties":{"mag":0.23,"place":"6km S of Idyllwild, CA","time":1467108463490,"updated":1467126264080,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37615080","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37615080.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":1,"net":"ci","code":"37615080","ids":",ci37615080,","sources":",ci,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":22,"dmin":0.02427,"rms":0.11,"gap":101,"magType":"ml","type":"earthquake","title":"M 0.2 - 6km S of Idyllwild, CA"},"geometry":{"type":"Point","coordinates":[-116.7093333,33.6871667,16.34]},"id":"ci37615080"},
- {"type":"Feature","properties":{"mag":0.29,"place":"6km S of Idyllwild, CA","time":1467108450220,"updated":1467126657184,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37142284","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37142284.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":1,"net":"ci","code":"37142284","ids":",ci37142284,","sources":",ci,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":21,"dmin":0.02627,"rms":0.11,"gap":94,"magType":"ml","type":"earthquake","title":"M 0.3 - 6km S of Idyllwild, CA"},"geometry":{"type":"Point","coordinates":[-116.7138333,33.6848333,16.03]},"id":"ci37142284"},
- {"type":"Feature","properties":{"mag":0.83,"place":"6km W of Cobb, California","time":1467107733000,"updated":1467113943567,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nc72656221","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nc72656221.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":11,"net":"nc","code":"72656221","ids":",nc72656221,","sources":",nc,","types":",general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":12,"dmin":0.00978,"rms":0.03,"gap":69,"magType":"md","type":"earthquake","title":"M 0.8 - 6km W of Cobb, California"},"geometry":{"type":"Point","coordinates":[-122.8003311,38.8325005,2.15]},"id":"nc72656221"},
- {"type":"Feature","properties":{"mag":1.81,"place":"8km NNE of East Foothills, California","time":1467107208260,"updated":1467160086609,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nc72656216","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nc72656216.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":50,"net":"nc","code":"72656216","ids":",nc72656216,","sources":",nc,","types":",cap,focal-mechanism,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,tectonic-summary,","nst":50,"dmin":0.01094,"rms":0.04,"gap":60,"magType":"md","type":"earthquake","title":"M 1.8 - 8km NNE of East Foothills, California"},"geometry":{"type":"Point","coordinates":[-121.7873333,37.4538333,5.7]},"id":"nc72656216"},
- {"type":"Feature","properties":{"mag":2.2,"place":"92km N of Redoubt Volcano, Alaska","time":1467107040000,"updated":1467112419793,"tz":-480,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13726865","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13726865.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":74,"net":"ak","code":"13726865","ids":",ak13726865,","sources":",ak,","types":",general-link,geoserve,nearby-cities,origin,tectonic-summary,","nst":null,"dmin":null,"rms":0.52,"gap":null,"magType":"ml","type":"earthquake","title":"M 2.2 - 92km N of Redoubt Volcano, Alaska"},"geometry":{"type":"Point","coordinates":[-152.4975,61.3023,0]},"id":"ak13726865"},
- {"type":"Feature","properties":{"mag":0.6,"place":"9km NE of Johnson Lane, Nevada","time":1467106577501,"updated":1467133620339,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nn00549681","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nn00549681.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":6,"net":"nn","code":"00549681","ids":",nn00549681,","sources":",nn,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,","nst":15,"dmin":0.054,"rms":0.0865,"gap":122.15,"magType":"ml","type":"earthquake","title":"M 0.6 - 9km NE of Johnson Lane, Nevada"},"geometry":{"type":"Point","coordinates":[-119.6558,39.1199,10.9]},"id":"nn00549681"},
- {"type":"Feature","properties":{"mag":1.1,"place":"9km NE of Johnson Lane, Nevada","time":1467106538511,"updated":1467128973398,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nn00549680","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nn00549680.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":19,"net":"nn","code":"00549680","ids":",nn00549680,","sources":",nn,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,","nst":21,"dmin":0.055,"rms":0.1051,"gap":126.13,"magType":"ml","type":"earthquake","title":"M 1.1 - 9km NE of Johnson Lane, Nevada"},"geometry":{"type":"Point","coordinates":[-119.6603,39.1178,11]},"id":"nn00549680"},
- {"type":"Feature","properties":{"mag":5.3,"place":"93km SSE of Esso, Russia","time":1467106351150,"updated":1467107623949,"tz":720,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/us200067gb","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/us200067gb.geojson","felt":0,"cdi":1,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":432,"net":"us","code":"200067gb","ids":",us200067gb,","sources":",us,","types":",cap,dyfi,geoserve,nearby-cities,origin,phase-data,tectonic-summary,","nst":null,"dmin":2.346,"rms":0.82,"gap":93,"magType":"mb","type":"earthquake","title":"M 5.3 - 93km SSE of Esso, Russia"},"geometry":{"type":"Point","coordinates":[159.4575,55.2101,10]},"id":"us200067gb"},
- {"type":"Feature","properties":{"mag":1.53,"place":"7km SE of Big Bear Lake, CA","time":1467106303350,"updated":1467120756810,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37615064","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37615064.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":36,"net":"ci","code":"37615064","ids":",ci37615064,","sources":",ci,","types":",cap,focal-mechanism,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":55,"dmin":0.08145,"rms":0.16,"gap":64,"magType":"ml","type":"earthquake","title":"M 1.5 - 7km SE of Big Bear Lake, CA"},"geometry":{"type":"Point","coordinates":[-116.8675,34.1936667,1.97]},"id":"ci37615064"},
- {"type":"Feature","properties":{"mag":0.62,"place":"51km W of West Yellowstone, Montana","time":1467106261050,"updated":1467133749070,"tz":-360,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/mb80158499","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/mb80158499.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":6,"net":"mb","code":"80158499","ids":",mb80158499,","sources":",mb,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,","nst":11,"dmin":0.061,"rms":0.05,"gap":122,"magType":"ml","type":"earthquake","title":"M 0.6 - 51km W of West Yellowstone, Montana"},"geometry":{"type":"Point","coordinates":[-111.751,44.7325,12.92]},"id":"mb80158499"},
- {"type":"Feature","properties":{"mag":0.4,"place":"36km ENE of Hawthorne, Nevada","time":1467106157998,"updated":1467128389511,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nn00549679","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nn00549679.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":2,"net":"nn","code":"00549679","ids":",nn00549679,","sources":",nn,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,","nst":7,"dmin":0.171,"rms":0.0662,"gap":105.38,"magType":"ml","type":"earthquake","title":"M 0.4 - 36km ENE of Hawthorne, Nevada"},"geometry":{"type":"Point","coordinates":[-118.2123,38.598,7.6]},"id":"nn00549679"},
- {"type":"Feature","properties":{"mag":1,"place":"55km N of Sutton-Alpine, Alaska","time":1467106099000,"updated":1467109110352,"tz":-480,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13726851","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13726851.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":15,"net":"ak","code":"13726851","ids":",ak13726851,","sources":",ak,","types":",general-link,geoserve,nearby-cities,origin,tectonic-summary,","nst":null,"dmin":null,"rms":0.01,"gap":null,"magType":"ml","type":"earthquake","title":"M 1.0 - 55km N of Sutton-Alpine, Alaska"},"geometry":{"type":"Point","coordinates":[-148.7966,62.29,32.7]},"id":"ak13726851"},
- {"type":"Feature","properties":{"mag":-0.3,"place":"9km NNE of Johnson Lane, Nevada","time":1467105903304,"updated":1467139096307,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nn00549712","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nn00549712.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":1,"net":"nn","code":"00549712","ids":",nn00549712,","sources":",nn,","types":",general-link,geoserve,nearby-cities,origin,phase-data,","nst":5,"dmin":0.056,"rms":0.1057,"gap":124.83,"magType":"ml","type":"earthquake","title":"M -0.3 - 9km NNE of Johnson Lane, Nevada"},"geometry":{"type":"Point","coordinates":[-119.6609,39.1193,10.7]},"id":"nn00549712"},
- {"type":"Feature","properties":{"mag":1.71,"place":"6km SW of Volcano, Hawaii","time":1467105457080,"updated":1467139281390,"tz":-600,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/hv61314236","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/hv61314236.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":45,"net":"hv","code":"61314236","ids":",hv61314236,","sources":",hv,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,","nst":29,"dmin":0.002796,"rms":0.05,"gap":45,"magType":"ml","type":"earthquake","title":"M 1.7 - 6km SW of Volcano, Hawaii"},"geometry":{"type":"Point","coordinates":[-155.2795,19.3846667,2.362]},"id":"hv61314236"},
- {"type":"Feature","properties":{"mag":0.9,"place":"2km SE of The Geysers, California","time":1467105154510,"updated":1467110823405,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nc72656206","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nc72656206.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":12,"net":"nc","code":"72656206","ids":",nc72656206,","sources":",nc,","types":",general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":10,"dmin":0.01006,"rms":0.02,"gap":117,"magType":"md","type":"earthquake","title":"M 0.9 - 2km SE of The Geysers, California"},"geometry":{"type":"Point","coordinates":[-122.739502,38.762001,1.33]},"id":"nc72656206"},
- {"type":"Feature","properties":{"mag":1,"place":"10km NW of Gerlach-Empire, Nevada","time":1467104844407,"updated":1467136261720,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nn00549708","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nn00549708.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":15,"net":"nn","code":"00549708","ids":",nn00549708,","sources":",nn,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,","nst":5,"dmin":0.058,"rms":0.1175,"gap":175.66,"magType":"ml","type":"earthquake","title":"M 1.0 - 10km NW of Gerlach-Empire, Nevada"},"geometry":{"type":"Point","coordinates":[-119.4683,40.6494,6.1]},"id":"nn00549708"},
- {"type":"Feature","properties":{"mag":4.5,"place":"26km SSE of Sary-Tash, Kyrgyzstan","time":1467104842160,"updated":1467118285352,"tz":360,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/us200067fx","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/us200067fx.geojson","felt":0,"cdi":1,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":312,"net":"us","code":"200067fx","ids":",us200067fx,","sources":",us,","types":",cap,dyfi,geoserve,nearby-cities,origin,phase-data,tectonic-summary,","nst":null,"dmin":1.223,"rms":1.26,"gap":89,"magType":"mb","type":"earthquake","title":"M 4.5 - 26km SSE of Sary-Tash, Kyrgyzstan"},"geometry":{"type":"Point","coordinates":[73.3855,39.5121,34.79]},"id":"us200067fx"},
- {"type":"Feature","properties":{"mag":2.7,"place":"1km ESE of Ceiba, Puerto Rico","time":1467104818700,"updated":1467116091617,"tz":-240,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/pr16180003","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/pr16180003.geojson","felt":0,"cdi":1,"mmi":null,"alert":null,"status":"REVIEWED","tsunami":0,"sig":112,"net":"pr","code":"16180003","ids":",pr16180003,","sources":",pr,","types":",cap,dyfi,geoserve,nearby-cities,origin,tectonic-summary,","nst":4,"dmin":0.40603851,"rms":0.28,"gap":194.4,"magType":"Md","type":"earthquake","title":"M 2.7 - 1km ESE of Ceiba, Puerto Rico"},"geometry":{"type":"Point","coordinates":[-66.3377,18.443,109]},"id":"pr16180003"},
- {"type":"Feature","properties":{"mag":4.6,"place":"19km W of Isangel, Vanuatu","time":1467104740690,"updated":1467108361672,"tz":660,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/us200067fz","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/us200067fz.geojson","felt":0,"cdi":1,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":326,"net":"us","code":"200067fz","ids":",us200067fz,","sources":",us,","types":",cap,dyfi,geoserve,nearby-cities,origin,phase-data,tectonic-summary,","nst":null,"dmin":2.101,"rms":0.77,"gap":82,"magType":"mb","type":"earthquake","title":"M 4.6 - 19km W of Isangel, Vanuatu"},"geometry":{"type":"Point","coordinates":[169.0781,-19.5723,117.95]},"id":"us200067fz"},
- {"type":"Feature","properties":{"mag":1.4,"place":"56km ESE of Lovelock, Nevada","time":1467104610220,"updated":1467128198012,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nn00549677","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nn00549677.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":30,"net":"nn","code":"00549677","ids":",nn00549677,","sources":",nn,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,","nst":9,"dmin":0.677,"rms":0.0853,"gap":136.72,"magType":"ml","type":"earthquake","title":"M 1.4 - 56km ESE of Lovelock, Nevada"},"geometry":{"type":"Point","coordinates":[-117.8659,39.9671,2.1]},"id":"nn00549677"},
- {"type":"Feature","properties":{"mag":2,"place":"24km E of Fritz Creek, Alaska","time":1467104582000,"updated":1467109113847,"tz":-480,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13726848","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13726848.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":62,"net":"ak","code":"13726848","ids":",ak13726848,","sources":",ak,","types":",general-link,geoserve,nearby-cities,origin,tectonic-summary,","nst":null,"dmin":null,"rms":0.55,"gap":null,"magType":"ml","type":"earthquake","title":"M 2.0 - 24km E of Fritz Creek, Alaska"},"geometry":{"type":"Point","coordinates":[-150.8627,59.7547,61.1]},"id":"ak13726848"},
- {"type":"Feature","properties":{"mag":2,"place":"91km N of Redoubt Volcano, Alaska","time":1467104465000,"updated":1467109111936,"tz":-480,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13726846","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13726846.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":62,"net":"ak","code":"13726846","ids":",ak13726846,","sources":",ak,","types":",general-link,geoserve,nearby-cities,origin,tectonic-summary,","nst":null,"dmin":null,"rms":0.64,"gap":null,"magType":"ml","type":"earthquake","title":"M 2.0 - 91km N of Redoubt Volcano, Alaska"},"geometry":{"type":"Point","coordinates":[-152.4973,61.2982,0.1]},"id":"ak13726846"},
- {"type":"Feature","properties":{"mag":0.5,"place":"24km NNW of Dixon Lane-Meadow Creek, California","time":1467104447002,"updated":1467126900144,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nn00549690","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nn00549690.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":4,"net":"nn","code":"00549690","ids":",nn00549690,","sources":",nn,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,","nst":8,"dmin":0.11,"rms":0.2061,"gap":125.43,"magType":"ml","type":"earthquake","title":"M 0.5 - 24km NNW of Dixon Lane-Meadow Creek, California"},"geometry":{"type":"Point","coordinates":[-118.4822,37.6,12.5]},"id":"nn00549690"},
- {"type":"Feature","properties":{"mag":0.14,"place":"38km SSE of Morton, Washington","time":1467104059210,"updated":1467133697150,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/uw61174836","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/uw61174836.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":0,"net":"uw","code":"61174836","ids":",uw61174836,","sources":",uw,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,","nst":10,"dmin":0.07665,"rms":0.15,"gap":217,"magType":"md","type":"earthquake","title":"M 0.1 - 38km SSE of Morton, Washington"},"geometry":{"type":"Point","coordinates":[-122.0663333,46.2461667,10.54]},"id":"uw61174836"},
- {"type":"Feature","properties":{"mag":0.92,"place":"21km SSE of Mammoth Lakes, California","time":1467103555900,"updated":1467131703411,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nc72656196","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nc72656196.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":13,"net":"nc","code":"72656196","ids":",nc72656196,","sources":",nc,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":27,"dmin":0.09949,"rms":0.03,"gap":116,"magType":"md","type":"earthquake","title":"M 0.9 - 21km SSE of Mammoth Lakes, California"},"geometry":{"type":"Point","coordinates":[-118.8465,37.4816667,6.48]},"id":"nc72656196"},
- {"type":"Feature","properties":{"mag":2.08,"place":"9km NNW of Advance, Missouri","time":1467103110290,"updated":1467118262692,"tz":-300,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nm60122982","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nm60122982.geojson","felt":0,"cdi":1,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":67,"net":"nm","code":"60122982","ids":",nm60122982,","sources":",nm,","types":",cap,dyfi,general-link,geoserve,nearby-cities,origin,phase-data,tectonic-summary,","nst":27,"dmin":0.2698,"rms":0.23,"gap":184,"magType":"md","type":"earthquake","title":"M 2.1 - 9km NNW of Advance, Missouri"},"geometry":{"type":"Point","coordinates":[-89.9606667,37.177,3.45]},"id":"nm60122982"},
- {"type":"Feature","properties":{"mag":0.88,"place":"9km N of Cabazon, CA","time":1467102978010,"updated":1467120693511,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37615040","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37615040.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":12,"net":"ci","code":"37615040","ids":",ci37615040,","sources":",ci,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":30,"dmin":0.04774,"rms":0.18,"gap":82,"magType":"ml","type":"earthquake","title":"M 0.9 - 9km N of Cabazon, CA"},"geometry":{"type":"Point","coordinates":[-116.7741667,33.9963333,18.22]},"id":"ci37615040"},
- {"type":"Feature","properties":{"mag":0.3,"place":"10km NE of Aguanga, CA","time":1467102932280,"updated":1467120698574,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37615032","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37615032.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":1,"net":"ci","code":"37615032","ids":",ci37615032,","sources":",ci,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":18,"dmin":0.07757,"rms":0.16,"gap":46,"magType":"ml","type":"earthquake","title":"M 0.3 - 10km NE of Aguanga, CA"},"geometry":{"type":"Point","coordinates":[-116.7881667,33.5003333,6.42]},"id":"ci37615032"},
- {"type":"Feature","properties":{"mag":2.2,"place":"54km SSW of Redoubt Volcano, Alaska","time":1467102877000,"updated":1467105852675,"tz":-480,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13726841","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13726841.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":74,"net":"ak","code":"13726841","ids":",ak13726841,","sources":",ak,","types":",general-link,geoserve,nearby-cities,origin,tectonic-summary,","nst":null,"dmin":null,"rms":0.7,"gap":null,"magType":"ml","type":"earthquake","title":"M 2.2 - 54km SSW of Redoubt Volcano, Alaska"},"geometry":{"type":"Point","coordinates":[-153.0602,60.0254,110.3]},"id":"ak13726841"},
- {"type":"Feature","properties":{"mag":0.87,"place":"21km SSE of Mammoth Lakes, California","time":1467102856590,"updated":1467132243431,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nc72656191","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nc72656191.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":12,"net":"nc","code":"72656191","ids":",nc72656191,","sources":",nc,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":19,"dmin":0.1,"rms":0.03,"gap":116,"magType":"md","type":"earthquake","title":"M 0.9 - 21km SSE of Mammoth Lakes, California"},"geometry":{"type":"Point","coordinates":[-118.8471667,37.4813333,6.08]},"id":"nc72656191"},
- {"type":"Feature","properties":{"mag":0.7,"place":"54km NNE of Fort Irwin, California","time":1467102292571,"updated":1467136456742,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nn00549709","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nn00549709.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":8,"net":"nn","code":"00549709","ids":",nn00549709,","sources":",nn,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,","nst":4,"dmin":0.389,"rms":0.1619,"gap":294.35,"magType":"ml","type":"earthquake","title":"M 0.7 - 54km NNE of Fort Irwin, California"},"geometry":{"type":"Point","coordinates":[-116.4858,35.7306,0]},"id":"nn00549709"},
- {"type":"Feature","properties":{"mag":1.6,"place":"13km ENE of Talkeetna, Alaska","time":1467102292000,"updated":1467105850361,"tz":-480,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13726837","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13726837.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":39,"net":"ak","code":"13726837","ids":",ak13726837,","sources":",ak,","types":",general-link,geoserve,nearby-cities,origin,tectonic-summary,","nst":null,"dmin":null,"rms":0.62,"gap":null,"magType":"ml","type":"earthquake","title":"M 1.6 - 13km ENE of Talkeetna, Alaska"},"geometry":{"type":"Point","coordinates":[-149.8788,62.3719,10.8]},"id":"ak13726837"},
- {"type":"Feature","properties":{"mag":2.1,"place":"35km SSE of Redoubt Volcano, Alaska","time":1467102114000,"updated":1467105855125,"tz":-480,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13726830","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13726830.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":68,"net":"ak","code":"13726830","ids":",ak13726830,","sources":",ak,","types":",general-link,geoserve,nearby-cities,origin,tectonic-summary,","nst":null,"dmin":null,"rms":0.5,"gap":null,"magType":"ml","type":"earthquake","title":"M 2.1 - 35km SSE of Redoubt Volcano, Alaska"},"geometry":{"type":"Point","coordinates":[-152.5483,60.1834,99.9]},"id":"ak13726830"},
- {"type":"Feature","properties":{"mag":1.5,"place":"73km ESE of Whittier, Alaska","time":1467102112000,"updated":1467105857296,"tz":-480,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13726832","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13726832.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":35,"net":"ak","code":"13726832","ids":",ak13726832,","sources":",ak,","types":",general-link,geoserve,nearby-cities,origin,tectonic-summary,","nst":null,"dmin":null,"rms":0.5,"gap":null,"magType":"ml","type":"earthquake","title":"M 1.5 - 73km ESE of Whittier, Alaska"},"geometry":{"type":"Point","coordinates":[-147.4131,60.5567,20]},"id":"ak13726832"},
- {"type":"Feature","properties":{"mag":0,"place":"20km SSE of Mammoth Lakes, California","time":1467102020684,"updated":1467136078615,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nn00549707","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nn00549707.geojson","felt":0,"cdi":1,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":0,"net":"nn","code":"00549707","ids":",nn00549707,","sources":",nn,","types":",cap,dyfi,general-link,geoserve,nearby-cities,origin,phase-data,","nst":5,"dmin":0.105,"rms":0.1602,"gap":219.84,"magType":"ml","type":"earthquake","title":"M 0.0 - 20km SSE of Mammoth Lakes, California"},"geometry":{"type":"Point","coordinates":[-118.8554,37.4863,4]},"id":"nn00549707"},
- {"type":"Feature","properties":{"mag":0.2,"place":"33km ESE of Hawthorne, Nevada","time":1467101981176,"updated":1467135876216,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nn00549705","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nn00549705.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":1,"net":"nn","code":"00549705","ids":",nn00549705,","sources":",nn,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,","nst":5,"dmin":0.034,"rms":0.0696,"gap":169.09,"magType":"ml","type":"earthquake","title":"M 0.2 - 33km ESE of Hawthorne, Nevada"},"geometry":{"type":"Point","coordinates":[-118.2847,38.3828,8.5]},"id":"nn00549705"},
- {"type":"Feature","properties":{"mag":2.2,"place":"6km SW of Volcano, Hawaii","time":1467101939940,"updated":1467141225980,"tz":-600,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/hv61314206","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/hv61314206.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":74,"net":"hv","code":"61314206","ids":",hv61314206,","sources":",hv,","types":",general-link,geoserve,nearby-cities,origin,phase-data,","nst":35,"dmin":0.00379,"rms":0.08,"gap":45,"magType":"ml","type":"earthquake","title":"M 2.2 - 6km SW of Volcano, Hawaii"},"geometry":{"type":"Point","coordinates":[-155.2798333,19.3831667,2.492]},"id":"hv61314206"},
- {"type":"Feature","properties":{"mag":1.09,"place":"8km WNW of The Geysers, California","time":1467101342950,"updated":1467106204170,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nc72656186","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nc72656186.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":18,"net":"nc","code":"72656186","ids":",nc72656186,","sources":",nc,","types":",general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":14,"dmin":0.006701,"rms":0.04,"gap":83,"magType":"md","type":"earthquake","title":"M 1.1 - 8km WNW of The Geysers, California"},"geometry":{"type":"Point","coordinates":[-122.8428345,38.8203316,1.81]},"id":"nc72656186"},
- {"type":"Feature","properties":{"mag":1.5,"place":"12km S of Sparks, Nevada","time":1467100407940,"updated":1467126519385,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nn00549673","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nn00549673.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":35,"net":"nn","code":"00549673","ids":",nn00549673,","sources":",nn,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,","nst":30,"dmin":0.037,"rms":0.1623,"gap":51.47,"magType":"ml","type":"earthquake","title":"M 1.5 - 12km S of Sparks, Nevada"},"geometry":{"type":"Point","coordinates":[-119.7385,39.4203,10.1]},"id":"nn00549673"},
- {"type":"Feature","properties":{"mag":1.58,"place":"23km SW of Coalinga, California","time":1467099927370,"updated":1467154983691,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nc72656176","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nc72656176.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":38,"net":"nc","code":"72656176","ids":",nc72656176,","sources":",nc,","types":",cap,focal-mechanism,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,tectonic-summary,","nst":57,"dmin":0.03754,"rms":0.05,"gap":78,"magType":"md","type":"earthquake","title":"M 1.6 - 23km SW of Coalinga, California"},"geometry":{"type":"Point","coordinates":[-120.5811667,36.0196667,3.78]},"id":"nc72656176"},
- {"type":"Feature","properties":{"mag":1.52,"place":"37km WNW of West Yellowstone, Montana","time":1467099788370,"updated":1467133406840,"tz":-360,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/mb80158474","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/mb80158474.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":36,"net":"mb","code":"80158474","ids":",mb80158474,","sources":",mb,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,","nst":29,"dmin":0.087,"rms":0.18,"gap":40,"magType":"ml","type":"earthquake","title":"M 1.5 - 37km WNW of West Yellowstone, Montana"},"geometry":{"type":"Point","coordinates":[-111.5431667,44.7981667,13.39]},"id":"mb80158474"},
- {"type":"Feature","properties":{"mag":0.54,"place":"22km SSW of La Quinta, CA","time":1467099132770,"updated":1467120712432,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37615024","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37615024.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":4,"net":"ci","code":"37615024","ids":",ci37615024,","sources":",ci,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":15,"dmin":0.04436,"rms":0.2,"gap":124,"magType":"ml","type":"earthquake","title":"M 0.5 - 22km SSW of La Quinta, CA"},"geometry":{"type":"Point","coordinates":[-116.4096667,33.481,10]},"id":"ci37615024"},
- {"type":"Feature","properties":{"mag":0.5,"place":"9km NE of Johnson Lane, Nevada","time":1467098841538,"updated":1467137973476,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nn00549719","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nn00549719.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":4,"net":"nn","code":"00549719","ids":",nn00549719,","sources":",nn,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,","nst":5,"dmin":0.056,"rms":0.151,"gap":126.23,"magType":"ml","type":"earthquake","title":"M 0.5 - 9km NE of Johnson Lane, Nevada"},"geometry":{"type":"Point","coordinates":[-119.6613,39.118,9.7]},"id":"nn00549719"},
- {"type":"Feature","properties":{"mag":0.71,"place":"10km E of Mammoth Lakes, California","time":1467098799770,"updated":1467136202644,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nc72656171","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nc72656171.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":8,"net":"nc","code":"72656171","ids":",nc72656171,","sources":",nc,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":11,"dmin":0.02594,"rms":0.02,"gap":93,"magType":"md","type":"earthquake","title":"M 0.7 - 10km E of Mammoth Lakes, California"},"geometry":{"type":"Point","coordinates":[-118.8538333,37.6596667,2.09]},"id":"nc72656171"},
- {"type":"Feature","properties":{"mag":1.24,"place":"26km E of Honaunau-Napoopoo, Hawaii","time":1467098610910,"updated":1467142048490,"tz":-600,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/hv61314186","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/hv61314186.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":24,"net":"hv","code":"61314186","ids":",hv61314186,","sources":",hv,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,","nst":13,"dmin":0.0237,"rms":0.14,"gap":96,"magType":"md","type":"earthquake","title":"M 1.2 - 26km E of Honaunau-Napoopoo, Hawaii"},"geometry":{"type":"Point","coordinates":[-155.6123333,19.4216667,2.572]},"id":"hv61314186"},
- {"type":"Feature","properties":{"mag":0.87,"place":"10km E of Mammoth Lakes, California","time":1467098318970,"updated":1467131529403,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nc72656166","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nc72656166.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":12,"net":"nc","code":"72656166","ids":",nc72656166,","sources":",nc,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":19,"dmin":0.02312,"rms":0.06,"gap":88,"magType":"md","type":"earthquake","title":"M 0.9 - 10km E of Mammoth Lakes, California"},"geometry":{"type":"Point","coordinates":[-118.8533333,37.6565,2.87]},"id":"nc72656166"},
- {"type":"Feature","properties":{"mag":-0.2,"place":"24km ESE of Hawthorne, Nevada","time":1467097891630,"updated":1467137038125,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nn00549715","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nn00549715.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":1,"net":"nn","code":"00549715","ids":",nn00549715,","sources":",nn,","types":",general-link,geoserve,nearby-cities,origin,phase-data,","nst":5,"dmin":0.027,"rms":0.0615,"gap":128.26,"magType":"ml","type":"earthquake","title":"M -0.2 - 24km ESE of Hawthorne, Nevada"},"geometry":{"type":"Point","coordinates":[-118.3677,38.4465,7.4]},"id":"nn00549715"},
- {"type":"Feature","properties":{"mag":3.1,"place":"56km NW of Aguadilla, Puerto Rico","time":1467097764200,"updated":1467101393477,"tz":-300,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/pr16180001","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/pr16180001.geojson","felt":0,"cdi":1,"mmi":null,"alert":null,"status":"REVIEWED","tsunami":0,"sig":148,"net":"pr","code":"16180001","ids":",pr16180001,","sources":",pr,","types":",cap,dyfi,geoserve,nearby-cities,origin,tectonic-summary,","nst":16,"dmin":0.36381769,"rms":0.49,"gap":298.8,"magType":"Md","type":"earthquake","title":"M 3.1 - 56km NW of Aguadilla, Puerto Rico"},"geometry":{"type":"Point","coordinates":[-67.577,18.7392,11]},"id":"pr16180001"},
- {"type":"Feature","properties":{"mag":0.4,"place":"17km NW of Beatty, Nevada","time":1467097755375,"updated":1467137032234,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nn00549713","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nn00549713.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":2,"net":"nn","code":"00549713","ids":",nn00549713,","sources":",nn,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,","nst":5,"dmin":0.088,"rms":0.1274,"gap":150.28,"magType":"ml","type":"earthquake","title":"M 0.4 - 17km NW of Beatty, Nevada"},"geometry":{"type":"Point","coordinates":[-116.926,36.9988,5.2]},"id":"nn00549713"},
- {"type":"Feature","properties":{"mag":0.8,"place":"17km SE of Gardnerville Ranchos, Nevada","time":1467097071189,"updated":1467136647865,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nn00549710","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nn00549710.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":10,"net":"nn","code":"00549710","ids":",nn00549710,","sources":",nn,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,","nst":7,"dmin":0.31,"rms":0.1366,"gap":196.75,"magType":"ml","type":"earthquake","title":"M 0.8 - 17km SE of Gardnerville Ranchos, Nevada"},"geometry":{"type":"Point","coordinates":[-119.5992,38.7793,13.9]},"id":"nn00549710"},
- {"type":"Feature","properties":{"mag":0.8,"place":"18km SE of Gardnerville Ranchos, Nevada","time":1467097054586,"updated":1467136255567,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nn00549706","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nn00549706.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":10,"net":"nn","code":"00549706","ids":",nn00549706,","sources":",nn,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,","nst":9,"dmin":0.324,"rms":0.1004,"gap":188.93,"magType":"ml","type":"earthquake","title":"M 0.8 - 18km SE of Gardnerville Ranchos, Nevada"},"geometry":{"type":"Point","coordinates":[-119.6024,38.7657,13.7]},"id":"nn00549706"},
- {"type":"Feature","properties":{"mag":0.5,"place":"13km NW of Virginia City, Nevada","time":1467096890959,"updated":1467135319151,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nn00549700","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nn00549700.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":4,"net":"nn","code":"00549700","ids":",nn00549700,","sources":",nn,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,","nst":8,"dmin":0.003,"rms":0.1841,"gap":93.7,"magType":"ml","type":"earthquake","title":"M 0.5 - 13km NW of Virginia City, Nevada"},"geometry":{"type":"Point","coordinates":[-119.7656,39.3874,5.3]},"id":"nn00549700"},
- {"type":"Feature","properties":{"mag":0.23,"place":"10km E of Mammoth Lakes, California","time":1467096538270,"updated":1467130807374,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nc72656161","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nc72656161.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":1,"net":"nc","code":"72656161","ids":",nc72656161,","sources":",nc,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":7,"dmin":0.03203,"rms":0.03,"gap":100,"magType":"md","type":"earthquake","title":"M 0.2 - 10km E of Mammoth Lakes, California"},"geometry":{"type":"Point","coordinates":[-118.8515,37.6598333,1.59]},"id":"nc72656161"},
- {"type":"Feature","properties":{"mag":0.54,"place":"6km N of Banning, CA","time":1467096354880,"updated":1467125915967,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37615016","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37615016.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":4,"net":"ci","code":"37615016","ids":",ci37615016,","sources":",ci,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":35,"dmin":0.08073,"rms":0.14,"gap":53,"magType":"ml","type":"earthquake","title":"M 0.5 - 6km N of Banning, CA"},"geometry":{"type":"Point","coordinates":[-116.8798333,33.9808333,9.63]},"id":"ci37615016"},
- {"type":"Feature","properties":{"mag":1.3,"place":"17km SE of Gardnerville Ranchos, Nevada","time":1467096199376,"updated":1467125369605,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nn00549669","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nn00549669.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":26,"net":"nn","code":"00549669","ids":",nn00549669,","sources":",nn,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,","nst":15,"dmin":0.314,"rms":0.08,"gap":76.91,"magType":"ml","type":"earthquake","title":"M 1.3 - 17km SE of Gardnerville Ranchos, Nevada"},"geometry":{"type":"Point","coordinates":[-119.5975,38.7752,12.6]},"id":"nn00549669"},
- {"type":"Feature","properties":{"mag":1.37,"place":"4km SE of The Geysers, California","time":1467095871930,"updated":1467153302616,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nc72656156","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nc72656156.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":29,"net":"nc","code":"72656156","ids":",nc72656156,","sources":",nc,","types":",focal-mechanism,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":35,"dmin":0.01064,"rms":0.11,"gap":47,"magType":"md","type":"earthquake","title":"M 1.4 - 4km SE of The Geysers, California"},"geometry":{"type":"Point","coordinates":[-122.7211667,38.7513333,-0.73]},"id":"nc72656156"},
- {"type":"Feature","properties":{"mag":1,"place":"81km E of Cantwell, Alaska","time":1467095805000,"updated":1467099320841,"tz":-480,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13726829","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13726829.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":15,"net":"ak","code":"13726829","ids":",ak13726829,","sources":",ak,","types":",general-link,geoserve,nearby-cities,origin,tectonic-summary,","nst":null,"dmin":null,"rms":0.24,"gap":null,"magType":"ml","type":"earthquake","title":"M 1.0 - 81km E of Cantwell, Alaska"},"geometry":{"type":"Point","coordinates":[-147.32,63.4077,7.2]},"id":"ak13726829"},
- {"type":"Feature","properties":{"mag":1.5,"place":"17km SW of Willow, Alaska","time":1467095202000,"updated":1467099319729,"tz":-480,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13726826","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13726826.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":35,"net":"ak","code":"13726826","ids":",ak13726826,","sources":",ak,","types":",general-link,geoserve,nearby-cities,origin,tectonic-summary,","nst":null,"dmin":null,"rms":0.52,"gap":null,"magType":"ml","type":"earthquake","title":"M 1.5 - 17km SW of Willow, Alaska"},"geometry":{"type":"Point","coordinates":[-150.2367,61.6204,41.3]},"id":"ak13726826"},
- {"type":"Feature","properties":{"mag":1.91,"place":"6km SW of Volcano, Hawaii","time":1467094743840,"updated":1467142903800,"tz":-600,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/hv61314166","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/hv61314166.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":56,"net":"hv","code":"61314166","ids":",hv61314166,","sources":",hv,","types":",general-link,geoserve,nearby-cities,origin,phase-data,","nst":27,"dmin":0.003934,"rms":0.08,"gap":45,"magType":"ml","type":"earthquake","title":"M 1.9 - 6km SW of Volcano, Hawaii"},"geometry":{"type":"Point","coordinates":[-155.2808333,19.3826667,2.382]},"id":"hv61314166"},
- {"type":"Feature","properties":{"mag":0.9,"place":"2km E of The Geysers, California","time":1467094519410,"updated":1467159542565,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nc72656151","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nc72656151.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":12,"net":"nc","code":"72656151","ids":",nc72656151,","sources":",nc,","types":",cap,focal-mechanism,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":32,"dmin":0.005948,"rms":0.07,"gap":59,"magType":"md","type":"earthquake","title":"M 0.9 - 2km E of The Geysers, California"},"geometry":{"type":"Point","coordinates":[-122.724,38.776,1.81]},"id":"nc72656151"},
- {"type":"Feature","properties":{"mag":-0.2,"place":"9km NE of Johnson Lane, Nevada","time":1467093963762,"updated":1467134375085,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nn00549698","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nn00549698.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":1,"net":"nn","code":"00549698","ids":",nn00549698,","sources":",nn,","types":",general-link,geoserve,nearby-cities,origin,phase-data,","nst":6,"dmin":0.049,"rms":0.0817,"gap":123.78,"magType":"ml","type":"earthquake","title":"M -0.2 - 9km NE of Johnson Lane, Nevada"},"geometry":{"type":"Point","coordinates":[-119.6517,39.1166,10.7]},"id":"nn00549698"},
- {"type":"Feature","properties":{"mag":0.69,"place":"21km ESE of Anza, CA","time":1467093758230,"updated":1467120763540,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37615008","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37615008.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":7,"net":"ci","code":"37615008","ids":",ci37615008,","sources":",ci,","types":",cap,focal-mechanism,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":29,"dmin":0.0693,"rms":0.2,"gap":106,"magType":"ml","type":"earthquake","title":"M 0.7 - 21km ESE of Anza, CA"},"geometry":{"type":"Point","coordinates":[-116.47,33.4646667,12.43]},"id":"ci37615008"},
- {"type":"Feature","properties":{"mag":-0.1,"place":"9km NE of Johnson Lane, Nevada","time":1467093631722,"updated":1467134184323,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nn00549697","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nn00549697.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":0,"net":"nn","code":"00549697","ids":",nn00549697,","sources":",nn,","types":",general-link,geoserve,nearby-cities,origin,phase-data,","nst":6,"dmin":0.05,"rms":0.0937,"gap":125.04,"magType":"ml","type":"earthquake","title":"M -0.1 - 9km NE of Johnson Lane, Nevada"},"geometry":{"type":"Point","coordinates":[-119.6537,39.1163,10.3]},"id":"nn00549697"},
- {"type":"Feature","properties":{"mag":4.3,"place":"23km NNE of Mendoza, Argentina","time":1467093413150,"updated":1467148668826,"tz":-180,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/us200067f0","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/us200067f0.geojson","felt":2,"cdi":2,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":285,"net":"us","code":"200067f0","ids":",us200067f0,","sources":",us,","types":",cap,dyfi,geoserve,impact-text,nearby-cities,origin,phase-data,tectonic-summary,","nst":null,"dmin":1.136,"rms":0.72,"gap":54,"magType":"mb","type":"earthquake","title":"M 4.3 - 23km NNE of Mendoza, Argentina"},"geometry":{"type":"Point","coordinates":[-68.7759,-32.6827,55.09]},"id":"us200067f0"},
- {"type":"Feature","properties":{"mag":2.2,"place":"96km NNW of Road Town, British Virgin Islands","time":1467092680600,"updated":1467102790415,"tz":-240,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/pr16180002","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/pr16180002.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"REVIEWED","tsunami":0,"sig":74,"net":"pr","code":"16180002","ids":",pr16180002,","sources":",pr,","types":",cap,geoserve,nearby-cities,origin,tectonic-summary,","nst":3,"dmin":0.90280686,"rms":0.28,"gap":302.4,"magType":"Md","type":"earthquake","title":"M 2.2 - 96km NNW of Road Town, British Virgin Islands"},"geometry":{"type":"Point","coordinates":[-64.9605,19.222,24]},"id":"pr16180002"},
- {"type":"Feature","properties":{"mag":0.91,"place":"21km SSE of Mammoth Lakes, California","time":1467092263330,"updated":1467129365311,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nc72656146","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nc72656146.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":13,"net":"nc","code":"72656146","ids":",nc72656146,","sources":",nc,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":23,"dmin":0.1007,"rms":0.06,"gap":116,"magType":"md","type":"earthquake","title":"M 0.9 - 21km SSE of Mammoth Lakes, California"},"geometry":{"type":"Point","coordinates":[-118.8481667,37.4833333,5.61]},"id":"nc72656146"},
- {"type":"Feature","properties":{"mag":1.7,"place":"70km E of Cantwell, Alaska","time":1467091767000,"updated":1467096467166,"tz":-480,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13726822","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13726822.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":44,"net":"ak","code":"13726822","ids":",ak13726822,","sources":",ak,","types":",general-link,geoserve,nearby-cities,origin,tectonic-summary,","nst":null,"dmin":null,"rms":0.6,"gap":null,"magType":"ml","type":"earthquake","title":"M 1.7 - 70km E of Cantwell, Alaska"},"geometry":{"type":"Point","coordinates":[-147.5428,63.4338,2.9]},"id":"ak13726822"},
- {"type":"Feature","properties":{"mag":0.14,"place":"31km WNW of West Yellowstone, Montana","time":1467088724050,"updated":1467132616290,"tz":-360,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/mb80158464","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/mb80158464.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":0,"net":"mb","code":"80158464","ids":",mb80158464,","sources":",mb,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,","nst":7,"dmin":0.055,"rms":0.18,"gap":140,"magType":"ml","type":"earthquake","title":"M 0.1 - 31km WNW of West Yellowstone, Montana"},"geometry":{"type":"Point","coordinates":[-111.4695,44.783,7.85]},"id":"mb80158464"},
- {"type":"Feature","properties":{"mag":1.9,"place":"62km S of Unalaska, Alaska","time":1467087893000,"updated":1467145849625,"tz":-480,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13726820","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13726820.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":56,"net":"ak","code":"13726820","ids":",ak13726820,","sources":",ak,","types":",cap,general-link,geoserve,nearby-cities,origin,tectonic-summary,","nst":null,"dmin":null,"rms":0.36,"gap":null,"magType":"ml","type":"earthquake","title":"M 1.9 - 62km S of Unalaska, Alaska"},"geometry":{"type":"Point","coordinates":[-166.5071,53.309,25.5]},"id":"ak13726820"},
- {"type":"Feature","properties":{"mag":0.48,"place":"18km ESE of Anza, CA","time":1467086138290,"updated":1467125236021,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37614856","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37614856.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":4,"net":"ci","code":"37614856","ids":",ci37614856,","sources":",ci,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":29,"dmin":0.07776,"rms":0.18,"gap":94,"magType":"ml","type":"earthquake","title":"M 0.5 - 18km ESE of Anza, CA"},"geometry":{"type":"Point","coordinates":[-116.5023333,33.4791667,12.97]},"id":"ci37614856"},
- {"type":"Feature","properties":{"mag":0.87,"place":"5km W of Cobb, California","time":1467085880380,"updated":1467086823306,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nc72656141","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nc72656141.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":12,"net":"nc","code":"72656141","ids":",nc72656141,","sources":",nc,","types":",general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":7,"dmin":0.005383,"rms":0.03,"gap":88,"magType":"md","type":"earthquake","title":"M 0.9 - 5km W of Cobb, California"},"geometry":{"type":"Point","coordinates":[-122.7843323,38.8178329,1.73]},"id":"nc72656141"},
- {"type":"Feature","properties":{"mag":0.56,"place":"3km NW of Belfair, Washington","time":1467085792590,"updated":1467133293270,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/uw61174661","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/uw61174661.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":5,"net":"uw","code":"61174661","ids":",uw61174661,","sources":",uw,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,","nst":4,"dmin":0.09005,"rms":0.03,"gap":291,"magType":"ml","type":"earthquake","title":"M 0.6 - 3km NW of Belfair, Washington"},"geometry":{"type":"Point","coordinates":[-122.8605,47.4725,22.05]},"id":"uw61174661"},
- {"type":"Feature","properties":{"mag":5.2,"place":"36km SW of Kaliandak, Indonesia","time":1467084770060,"updated":1467085798374,"tz":420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/us200067ej","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/us200067ej.geojson","felt":0,"cdi":1,"mmi":null,"alert":null,"status":"reviewed","tsunami":1,"sig":416,"net":"us","code":"200067ej","ids":",us200067ej,","sources":",us,","types":",cap,dyfi,geoserve,nearby-cities,origin,phase-data,tectonic-summary,","nst":null,"dmin":2.836,"rms":1.17,"gap":68,"magType":"mb","type":"earthquake","title":"M 5.2 - 36km SW of Kaliandak, Indonesia"},"geometry":{"type":"Point","coordinates":[105.3268,-5.9412,46.74]},"id":"us200067ej"},
- {"type":"Feature","properties":{"mag":4.5,"place":"15km N of Aratoca, Colombia","time":1467084550110,"updated":1467085727896,"tz":-300,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/us200067eh","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/us200067eh.geojson","felt":0,"cdi":1,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":312,"net":"us","code":"200067eh","ids":",us200067eh,","sources":",us,","types":",cap,dyfi,geoserve,nearby-cities,origin,phase-data,tectonic-summary,","nst":null,"dmin":1.934,"rms":0.97,"gap":30,"magType":"mb","type":"earthquake","title":"M 4.5 - 15km N of Aratoca, Colombia"},"geometry":{"type":"Point","coordinates":[-73.0234,6.8332,147.2]},"id":"us200067eh"},
- {"type":"Feature","properties":{"mag":3.6,"place":"11km S of Alva, Oklahoma","time":1467084309330,"updated":1467133935040,"tz":-300,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/us200067ec","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/us200067ec.geojson","felt":1,"cdi":2,"mmi":3.44,"alert":null,"status":"reviewed","tsunami":0,"sig":200,"net":"us","code":"200067ec","ids":",us200067ec,","sources":",us,","types":",cap,dyfi,general-link,geoserve,moment-tensor,nearby-cities,origin,phase-data,shakemap,tectonic-summary,","nst":null,"dmin":0.038,"rms":0.68,"gap":20,"magType":"mb_lg","type":"earthquake","title":"M 3.6 - 11km S of Alva, Oklahoma"},"geometry":{"type":"Point","coordinates":[-98.6631,36.6992,5]},"id":"us200067ec"},
- {"type":"Feature","properties":{"mag":0.73,"place":"21km SSE of Mammoth Lakes, California","time":1467084263250,"updated":1467132124433,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nc72656131","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nc72656131.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":8,"net":"nc","code":"72656131","ids":",nc72656131,","sources":",nc,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":18,"dmin":0.1012,"rms":0.04,"gap":151,"magType":"md","type":"earthquake","title":"M 0.7 - 21km SSE of Mammoth Lakes, California"},"geometry":{"type":"Point","coordinates":[-118.8486667,37.4813333,5.96]},"id":"nc72656131"},
- {"type":"Feature","properties":{"mag":0.57,"place":"11km SW of Anza, CA","time":1467083956550,"updated":1467120738715,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37614840","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37614840.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":5,"net":"ci","code":"37614840","ids":",ci37614840,","sources":",ci,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":21,"dmin":0.07466,"rms":0.2,"gap":54,"magType":"ml","type":"earthquake","title":"M 0.6 - 11km SW of Anza, CA"},"geometry":{"type":"Point","coordinates":[-116.7628333,33.4936667,7.8]},"id":"ci37614840"},
- {"type":"Feature","properties":{"mag":4.9,"place":"74km NE of Petropavlovsk-Kamchatskiy, Russia","time":1467083836530,"updated":1467084965899,"tz":720,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/us200067ea","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/us200067ea.geojson","felt":0,"cdi":1,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":369,"net":"us","code":"200067ea","ids":",us200067ea,","sources":",us,","types":",cap,dyfi,geoserve,nearby-cities,origin,phase-data,tectonic-summary,","nst":null,"dmin":1.13,"rms":0.78,"gap":103,"magType":"mb","type":"earthquake","title":"M 4.9 - 74km NE of Petropavlovsk-Kamchatskiy, Russia"},"geometry":{"type":"Point","coordinates":[159.4608,53.5089,89.57]},"id":"us200067ea"},
- {"type":"Feature","properties":{"mag":1.11,"place":"9km NNW of Borrego Springs, CA","time":1467083170100,"updated":1467120769750,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37614832","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37614832.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":19,"net":"ci","code":"37614832","ids":",ci37614832,","sources":",ci,","types":",cap,focal-mechanism,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":40,"dmin":0.068,"rms":0.2,"gap":70,"magType":"ml","type":"earthquake","title":"M 1.1 - 9km NNW of Borrego Springs, CA"},"geometry":{"type":"Point","coordinates":[-116.3951667,33.3338333,2.88]},"id":"ci37614832"},
- {"type":"Feature","properties":{"mag":2.1,"place":"55km N of Warm Springs, Nevada","time":1467082972457,"updated":1467124789125,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nn00549653","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nn00549653.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":68,"net":"nn","code":"00549653","ids":",nn00549653,","sources":",nn,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,","nst":9,"dmin":0.581,"rms":0.1899,"gap":137.19,"magType":"ml","type":"earthquake","title":"M 2.1 - 55km N of Warm Springs, Nevada"},"geometry":{"type":"Point","coordinates":[-116.463,38.6814,0]},"id":"nn00549653"},
- {"type":"Feature","properties":{"mag":1.26,"place":"3km WSW of Brawley, CA","time":1467082768260,"updated":1467124888000,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37614824","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37614824.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":24,"net":"ci","code":"37614824","ids":",ci37614824,","sources":",ci,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":21,"dmin":0.06569,"rms":0.23,"gap":71,"magType":"ml","type":"earthquake","title":"M 1.3 - 3km WSW of Brawley, CA"},"geometry":{"type":"Point","coordinates":[-115.5616667,32.9673333,8.47]},"id":"ci37614824"},
- {"type":"Feature","properties":{"mag":1.04,"place":"8km S of Ramona, CA","time":1467082576790,"updated":1467120753985,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37614816","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37614816.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":17,"net":"ci","code":"37614816","ids":",ci37614816,","sources":",ci,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":17,"dmin":0.06376,"rms":0.21,"gap":54,"magType":"ml","type":"earthquake","title":"M 1.0 - 8km S of Ramona, CA"},"geometry":{"type":"Point","coordinates":[-116.8756667,32.9676667,11.87]},"id":"ci37614816"},
- {"type":"Feature","properties":{"mag":2.8,"place":"16km ENE of Mooreland, Oklahoma","time":1467082211990,"updated":1467082872259,"tz":-300,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/us200067dy","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/us200067dy.geojson","felt":0,"cdi":1,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":121,"net":"us","code":"200067dy","ids":",us200067dy,","sources":",us,","types":",cap,dyfi,general-link,geoserve,nearby-cities,origin,phase-data,tectonic-summary,","nst":null,"dmin":0.157,"rms":0.46,"gap":48,"magType":"mb_lg","type":"earthquake","title":"M 2.8 - 16km ENE of Mooreland, Oklahoma"},"geometry":{"type":"Point","coordinates":[-99.0436,36.5056,5.47]},"id":"us200067dy"},
- {"type":"Feature","properties":{"mag":0.7,"place":"1km N of Cabazon, CA","time":1467081189310,"updated":1467124540008,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37614800","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37614800.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":8,"net":"ci","code":"37614800","ids":",ci37614800,","sources":",ci,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,tectonic-summary,","nst":33,"dmin":0.09082,"rms":0.14,"gap":82,"magType":"ml","type":"earthquake","title":"M 0.7 - 1km N of Cabazon, CA"},"geometry":{"type":"Point","coordinates":[-116.7883333,33.9243333,16.83]},"id":"ci37614800"},
- {"type":"Feature","properties":{"mag":0.69,"place":"2km SW of Mira Loma, CA","time":1467080838260,"updated":1467124056329,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37614792","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37614792.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":7,"net":"ci","code":"37614792","ids":",ci37614792,","sources":",ci,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":17,"dmin":0.03418,"rms":0.08,"gap":64,"magType":"ml","type":"earthquake","title":"M 0.7 - 2km SW of Mira Loma, CA"},"geometry":{"type":"Point","coordinates":[-117.5345,33.9788333,2.96]},"id":"ci37614792"},
- {"type":"Feature","properties":{"mag":0.7,"place":"9km NNE of Coso Junction, CA","time":1467080282230,"updated":1467135310514,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37614784","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37614784.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":8,"net":"ci","code":"37614784","ids":",ci37614784,nn00549699,","sources":",ci,nn,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,","nst":17,"dmin":0.1043,"rms":0.2,"gap":92,"magType":"ml","type":"earthquake","title":"M 0.7 - 9km NNE of Coso Junction, CA"},"geometry":{"type":"Point","coordinates":[-117.8966667,36.1121667,2.3]},"id":"ci37614784"},
- {"type":"Feature","properties":{"mag":1.8,"place":"44km NNW of Valdez, Alaska","time":1467079367000,"updated":1467083930242,"tz":-480,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13724484","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13724484.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":50,"net":"ak","code":"13724484","ids":",ak13724484,","sources":",ak,","types":",general-link,geoserve,nearby-cities,origin,tectonic-summary,","nst":null,"dmin":null,"rms":0.73,"gap":null,"magType":"ml","type":"earthquake","title":"M 1.8 - 44km NNW of Valdez, Alaska"},"geometry":{"type":"Point","coordinates":[-146.6441,61.5052,29.6]},"id":"ak13724484"},
- {"type":"Feature","properties":{"mag":0.38,"place":"20km ESE of Anza, CA","time":1467078079810,"updated":1467123769361,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37614776","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37614776.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":2,"net":"ci","code":"37614776","ids":",ci37614776,","sources":",ci,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":14,"dmin":0.0684,"rms":0.11,"gap":124,"magType":"ml","type":"earthquake","title":"M 0.4 - 20km ESE of Anza, CA"},"geometry":{"type":"Point","coordinates":[-116.4803333,33.4723333,10.65]},"id":"ci37614776"},
- {"type":"Feature","properties":{"mag":1.18,"place":"2km SSE of Gold Beach, Oregon","time":1467077959850,"updated":1467131737360,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/uw61174611","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/uw61174611.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":21,"net":"uw","code":"61174611","ids":",uw61174611,","sources":",uw,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,","nst":8,"dmin":0.05181,"rms":0.21,"gap":215,"magType":"ml","type":"earthquake","title":"M 1.2 - 2km SSE of Gold Beach, Oregon"},"geometry":{"type":"Point","coordinates":[-124.412,42.3901667,15.27]},"id":"uw61174611"},
- {"type":"Feature","properties":{"mag":0.51,"place":"6km SSW of Idyllwild, CA","time":1467077410790,"updated":1467120768145,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ci37614768","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ci37614768.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":4,"net":"ci","code":"37614768","ids":",ci37614768,","sources":",ci,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":18,"dmin":0.03175,"rms":0.09,"gap":64,"magType":"ml","type":"earthquake","title":"M 0.5 - 6km SSW of Idyllwild, CA"},"geometry":{"type":"Point","coordinates":[-116.7343333,33.6841667,15.82]},"id":"ci37614768"},
- {"type":"Feature","properties":{"mag":0.9,"place":"65km NNE of Dixon Lane-Meadow Creek, California","time":1467076195652,"updated":1467133411444,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nn00549695","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nn00549695.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":12,"net":"nn","code":"00549695","ids":",nn00549695,","sources":",nn,","types":",cap,general-link,general-link,geoserve,nearby-cities,origin,phase-data,","nst":10,"dmin":0.316,"rms":0.0699,"gap":148.64,"magType":"ml","type":"earthquake","title":"M 0.9 - 65km NNE of Dixon Lane-Meadow Creek, California"},"geometry":{"type":"Point","coordinates":[-118.166,37.9462,11.1]},"id":"nn00549695"},
- {"type":"Feature","properties":{"mag":1.7,"place":"63km ENE of Whittier, Alaska","time":1467074879000,"updated":1467078356412,"tz":-480,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/ak13724471","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak13724471.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"automatic","tsunami":0,"sig":44,"net":"ak","code":"13724471","ids":",ak13724471,","sources":",ak,","types":",general-link,geoserve,nearby-cities,origin,tectonic-summary,","nst":null,"dmin":null,"rms":0.85,"gap":null,"magType":"ml","type":"earthquake","title":"M 1.7 - 63km ENE of Whittier, Alaska"},"geometry":{"type":"Point","coordinates":[-147.5623,60.9287,22.1]},"id":"ak13724471"},
- {"type":"Feature","properties":{"mag":0.28,"place":"5km NW of The Geysers, California","time":1467074794490,"updated":1467157504627,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nc72656121","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nc72656121.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":1,"net":"nc","code":"72656121","ids":",nc72656121,","sources":",nc,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":34,"dmin":0.01159,"rms":0.06,"gap":88,"magType":"md","type":"earthquake","title":"M 0.3 - 5km NW of The Geysers, California"},"geometry":{"type":"Point","coordinates":[-122.8095,38.8113333,3.92]},"id":"nc72656121"},
- {"type":"Feature","properties":{"mag":0.61,"place":"10km SE of Mammoth Lakes, California","time":1467074486140,"updated":1467077463801,"tz":-420,"url":"http://earthquake.usgs.gov/earthquakes/eventpage/nc72656116","detail":"http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nc72656116.geojson","felt":null,"cdi":null,"mmi":null,"alert":null,"status":"reviewed","tsunami":0,"sig":6,"net":"nc","code":"72656116","ids":",nc72656116,","sources":",nc,","types":",cap,general-link,geoserve,nearby-cities,origin,phase-data,scitech-link,","nst":10,"dmin":0.0353,"rms":0.02,"gap":191,"magType":"md","type":"earthquake","title":"M 0.6 - 10km SE of Mammoth Lakes, California"},"geometry":{"type":"Point","coordinates":[-118.88,37.5863333,2.95]},"id":"nc72656116"}],"bbox":[-175.8052,-32.6827,-1.23,169.0781,68.1634,184.15]}
diff --git a/snippets/app-utils/src/main/res/raw/kml_file.kml b/snippets/app-utils/src/main/res/raw/kml_file.kml
deleted file mode 100644
index 52ed1da00..000000000
--- a/snippets/app-utils/src/main/res/raw/kml_file.kml
+++ /dev/null
@@ -1,194 +0,0 @@
-
-
-
- KmlFile
-
-
-
-
-
- Google Campus
- 1
- A collection showing how easy it is to create 3-dimensional
- buildings
-
- Building 40
- 1
- #transRedPoly
-
- 1
- relativeToGround
-
-
-
- -122.0848938459612,37.42257124044786,17
- -122.0849580979198,37.42211922626856,17
- -122.0847469573047,37.42207183952619,17
- -122.0845725380962,37.42209006729676,17
- -122.0845954886723,37.42215932700895,17
- -122.0838521118269,37.42227278564371,17
- -122.083792243335,37.42203539112084,17
- -122.0835076656616,37.42209006957106,17
- -122.0834709464152,37.42200987395161,17
- -122.0831221085748,37.4221046494946,17
- -122.0829247374572,37.42226503990386,17
- -122.0829339169385,37.42231242843094,17
- -122.0833837359737,37.42225046087618,17
- -122.0833607854248,37.42234159228745,17
- -122.0834204551642,37.42237075460644,17
- -122.083659133885,37.42251292011001,17
- -122.0839758438952,37.42265873093781,17
- -122.0842374743331,37.42265143972521,17
- -122.0845036949503,37.4226514386435,17
- -122.0848020460801,37.42261133916315,17
- -122.0847882750515,37.42256395055121,17
- -122.0848938459612,37.42257124044786,17
-
-
-
-
-
-
- Building 41
- 1
- #transBluePoly
-
- 1
- relativeToGround
-
-
-
- -122.0857412771483,37.42227033155257,17
- -122.0858169768481,37.42231408832346,17
- -122.085852582875,37.42230337469744,17
- -122.0858799945639,37.42225686138789,17
- -122.0858860101409,37.4222311076138,17
- -122.0858069157288,37.42220250173855,17
- -122.0858379542653,37.42214027058678,17
- -122.0856732640519,37.42208690214408,17
- -122.0856022926407,37.42214885429042,17
- -122.0855902778436,37.422128290487,17
- -122.0855841672237,37.42208171967246,17
- -122.0854852065741,37.42210455874995,17
- -122.0855067264352,37.42214267949824,17
- -122.0854430712915,37.42212783846172,17
- -122.0850990714904,37.42251282407603,17
- -122.0856769818632,37.42281815323651,17
- -122.0860162273783,37.42244918858722,17
- -122.0857260327004,37.42229239604253,17
- -122.0857412771483,37.42227033155257,17
-
-
-
-
-
-
- Building 42
- 1
- #transGreenPoly
-
- 1
- relativeToGround
-
-
-
- -122.0857862287242,37.42136208886969,25
- -122.0857312990603,37.42136935989481,25
- -122.0857312992918,37.42140934910903,25
- -122.0856077073679,37.42138390166565,25
- -122.0855802426516,37.42137299550869,25
- -122.0852186221971,37.42137299504316,25
- -122.0852277765639,37.42161656508265,25
- -122.0852598189347,37.42160565894403,25
- -122.0852598185499,37.42168200156,25
- -122.0852369311478,37.42170017860346,25
- -122.0852643957828,37.42176197982575,25
- -122.0853239032746,37.42176198013907,25
- -122.0853559454324,37.421852864452,25
- -122.0854108752463,37.42188921823734,25
- -122.0854795379357,37.42189285337048,25
- -122.0855436229819,37.42188921797546,25
- -122.0856260178042,37.42186013499926,25
- -122.085937287963,37.42186013453605,25
- -122.0859428718666,37.42160898590042,25
- -122.0859655469861,37.42157992759144,25
- -122.0858640462341,37.42147115002957,25
- -122.0858548911215,37.42140571326184,25
- -122.0858091162768,37.4214057134039,25
- -122.0857862287242,37.42136208886969,25
-
-
-
-
-
-
- Building 43
- 1
- #transYellowPoly
-
- 1
- relativeToGround
-
-
-
- -122.0844371128284,37.42177253003091,19
- -122.0845118855746,37.42191111542896,19
- -122.0850470999805,37.42178755121535,19
- -122.0850719913391,37.42143663023161,19
- -122.084916406232,37.42137237822116,19
- -122.0842193868167,37.42137237801626,19
- -122.08421938659,37.42147617161496,19
- -122.0838086419991,37.4214613409357,19
- -122.0837899728564,37.42131306410796,19
- -122.0832796534698,37.42129328840593,19
- -122.0832609819207,37.42139213944298,19
- -122.0829373621737,37.42137236399876,19
- -122.0829062425667,37.42151569778871,19
- -122.0828502269665,37.42176282576465,19
- -122.0829435788635,37.42176776969635,19
- -122.083217411188,37.42179248552686,19
- -122.0835970430103,37.4217480074456,19
- -122.0839455556771,37.42169364237603,19
- -122.0840077894637,37.42176283815853,19
- -122.084113587521,37.42174801104392,19
- -122.0840762473784,37.42171341292375,19
- -122.0841447047739,37.42167881534569,19
- -122.084144704223,37.42181720660197,19
- -122.0842503333074,37.4218170700446,19
- -122.0844371128284,37.42177253003091,19
-
-
-
-
-
-
-
-
diff --git a/snippets/app-utils/src/main/res/raw/police_stations.json b/snippets/app-utils/src/main/res/raw/police_stations.json
deleted file mode 100644
index eb898ea29..000000000
--- a/snippets/app-utils/src/main/res/raw/police_stations.json
+++ /dev/null
@@ -1,347 +0,0 @@
-[
-{"lat" : -37.1886, "lng" : 145.708 } ,
-{"lat" : -37.8361, "lng" : 144.845 } ,
-{"lat" : -38.4034, "lng" : 144.192 } ,
-{"lat" : -38.7597, "lng" : 143.67 } ,
-{"lat" : -36.9672, "lng" : 141.083 } ,
-{"lat" : -37.2843, "lng" : 142.927 } ,
-{"lat" : -37.8629, "lng" : 145.08 } ,
-{"lat" : -37.0871, "lng" : 143.474 } ,
-{"lat" : -37.7557, "lng" : 144.859 } ,
-{"lat" : -36.787, "lng" : 144.502 } ,
-{"lat" : -37.6758, "lng" : 144.438 } ,
-{"lat" : -37.826, "lng" : 147.636 } ,
-{"lat" : -37.5999, "lng" : 144.221 } ,
-{"lat" : -37.5642, "lng" : 143.859 } ,
-{"lat" : -37.2488, "lng" : 141.843 } ,
-{"lat" : -38.05, "lng" : 144.168 } ,
-{"lat" : -37.4313, "lng" : 143.381 } ,
-{"lat" : -38.1949, "lng" : 143.639 } ,
-{"lat" : -36.3585, "lng" : 146.689 } ,
-{"lat" : -37.9081, "lng" : 145.355 } ,
-{"lat" : -38.2667, "lng" : 144.522 } ,
-{"lat" : -36.5558, "lng" : 145.975 } ,
-{"lat" : -36.7669, "lng" : 144.267 } ,
-{"lat" : -37.1472, "lng" : 148.887 } ,
-{"lat" : -36.1259, "lng" : 147.099 } ,
-{"lat" : -35.943, "lng" : 142.419 } ,
-{"lat" : -35.9798, "lng" : 142.917 } ,
-{"lat" : -38.3363, "lng" : 143.783 } ,
-{"lat" : -38.3805, "lng" : 146.272 } ,
-{"lat" : -36.1158, "lng" : 143.724 } ,
-{"lat" : -37.8599, "lng" : 145.286 } ,
-{"lat" : -37.7997, "lng" : 145.052 } ,
-{"lat" : -37.8181, "lng" : 145.127 } ,
-{"lat" : -37.8584, "lng" : 141.799 } ,
-{"lat" : -37.8434, "lng" : 147.07 } ,
-{"lat" : -36.6017, "lng" : 143.94 } ,
-{"lat" : -36.7318, "lng" : 146.962 } ,
-{"lat" : -37.2034, "lng" : 145.055 } ,
-{"lat" : -37.6832, "lng" : 144.917 } ,
-{"lat" : -37.7631, "lng" : 144.963 } ,
-{"lat" : -37.7075, "lng" : 147.831 } ,
-{"lat" : -37.4999, "lng" : 148.171 } ,
-{"lat" : -37.6515, "lng" : 143.884 } ,
-{"lat" : -38.0975, "lng" : 145.718 } ,
-{"lat" : -37.8509, "lng" : 145.098 } ,
-{"lat" : -37.8332, "lng" : 145.059 } ,
-{"lat" : -38.2305, "lng" : 143.146 } ,
-{"lat" : -37.5654, "lng" : 149.152 } ,
-{"lat" : -37.8003, "lng" : 144.955 } ,
-{"lat" : -37.7307, "lng" : 144.741 } ,
-{"lat" : -37.5853, "lng" : 141.406 } ,
-{"lat" : -37.0648, "lng" : 144.218 } ,
-{"lat" : -37.8813, "lng" : 145.023 } ,
-{"lat" : -37.5272, "lng" : 142.04 } ,
-{"lat" : -36.2697, "lng" : 143.348 } ,
-{"lat" : -38.0508, "lng" : 145.116 } ,
-{"lat" : -37.9652, "lng" : 145.057 } ,
-{"lat" : -36.1476, "lng" : 146.611 } ,
-{"lat" : -38.3077, "lng" : 146.418 } ,
-{"lat" : -37.9201, "lng" : 145.12 } ,
-{"lat" : -37.2953, "lng" : 143.784 } ,
-{"lat" : -38.3282, "lng" : 143.076 } ,
-{"lat" : -35.9208, "lng" : 145.651 } ,
-{"lat" : -35.8114, "lng" : 144.222 } ,
-{"lat" : -38.3381, "lng" : 143.593 } ,
-{"lat" : -37.5999, "lng" : 141.693 } ,
-{"lat" : -37.8042, "lng" : 144.993 } ,
-{"lat" : -38.0739, "lng" : 144.358 } ,
-{"lat" : -36.1945, "lng" : 147.904 } ,
-{"lat" : -38.4501, "lng" : 145.236 } ,
-{"lat" : -37.5984, "lng" : 144.933 } ,
-{"lat" : -38.1134, "lng" : 145.283 } ,
-{"lat" : -37.4299, "lng" : 143.892 } ,
-{"lat" : -37.7992, "lng" : 145.279 } ,
-{"lat" : -35.7175, "lng" : 143.106 } ,
-{"lat" : -37.9909, "lng" : 145.218 } ,
-{"lat" : -37.9217, "lng" : 141.283 } ,
-{"lat" : -37.3421, "lng" : 144.147 } ,
-{"lat" : -36.4708, "lng" : 147.017 } ,
-{"lat" : -37.6741, "lng" : 145.161 } ,
-{"lat" : -36.4567, "lng" : 142.028 } ,
-{"lat" : -36.3736, "lng" : 142.984 } ,
-{"lat" : -37.7884, "lng" : 145.158 } ,
-{"lat" : -36.3304, "lng" : 145.686 } ,
-{"lat" : -38.3348, "lng" : 144.961 } ,
-{"lat" : -38.1302, "lng" : 145.849 } ,
-{"lat" : -38.175, "lng" : 144.57 } ,
-{"lat" : -37.65, "lng" : 142.345 } ,
-{"lat" : -36.8575, "lng" : 143.733 } ,
-{"lat" : -36.7205, "lng" : 144.256 } ,
-{"lat" : -36.1191, "lng" : 144.745 } ,
-{"lat" : -37.0364, "lng" : 141.293 } ,
-{"lat" : -37.2322, "lng" : 145.91 } ,
-{"lat" : -37.1803, "lng" : 143.251 } ,
-{"lat" : -36.496, "lng" : 144.611 } ,
-{"lat" : -37.7134, "lng" : 145.151 } ,
-{"lat" : -37.934, "lng" : 145.441 } ,
-{"lat" : -37.9757, "lng" : 145.262 } ,
-{"lat" : -37.6467, "lng" : 145.026 } ,
-{"lat" : -36.7517, "lng" : 145.572 } ,
-{"lat" : -36.8635, "lng" : 147.28 } ,
-{"lat" : -37.7183, "lng" : 144.962 } ,
-{"lat" : -37.8022, "lng" : 144.979 } ,
-{"lat" : -37.7849, "lng" : 144.932 } ,
-{"lat" : -37.8039, "lng" : 144.901 } ,
-{"lat" : -38.5211, "lng" : 143.717 } ,
-{"lat" : -38.6521, "lng" : 146.202 } ,
-{"lat" : -38.1389, "lng" : 145.125 } ,
-{"lat" : -38.1454, "lng" : 144.357 } ,
-{"lat" : -37.4854, "lng" : 144.586 } ,
-{"lat" : -37.9036, "lng" : 145.164 } ,
-{"lat" : -36.4635, "lng" : 146.227 } ,
-{"lat" : -36.6141, "lng" : 144.509 } ,
-{"lat" : -37.5794, "lng" : 144.102 } ,
-{"lat" : -36.7183, "lng" : 141.473 } ,
-{"lat" : -37.704, "lng" : 145.096 } ,
-{"lat" : -35.9558, "lng" : 144.367 } ,
-{"lat" : -37.1364, "lng" : 142.519 } ,
-{"lat" : -37.748, "lng" : 142.026 } ,
-{"lat" : -37.1642, "lng" : 141.594 } ,
-{"lat" : -38.3079, "lng" : 145.185 } ,
-{"lat" : -37.6566, "lng" : 145.511 } ,
-{"lat" : -36.9217, "lng" : 144.709 } ,
-{"lat" : -37.7579, "lng" : 145.071 } ,
-{"lat" : -37.7463, "lng" : 145.047 } ,
-{"lat" : -37.9815, "lng" : 146.786 } ,
-{"lat" : -38.1335, "lng" : 141.629 } ,
-{"lat" : -35.7293, "lng" : 142.365 } ,
-{"lat" : -36.7141, "lng" : 142.201 } ,
-{"lat" : -37.6402, "lng" : 145.193 } ,
-{"lat" : -36.5767, "lng" : 143.871 } ,
-{"lat" : -38.1015, "lng" : 144.051 } ,
-{"lat" : -38.6311, "lng" : 145.727 } ,
-{"lat" : -37.3027, "lng" : 146.138 } ,
-{"lat" : -36.1432, "lng" : 141.989 } ,
-{"lat" : -36.3789, "lng" : 141.242 } ,
-{"lat" : -36.0806, "lng" : 145.69 } ,
-{"lat" : -37.7238, "lng" : 144.808 } ,
-{"lat" : -35.7339, "lng" : 143.922 } ,
-{"lat" : -37.3073, "lng" : 144.95 } ,
-{"lat" : -37.5315, "lng" : 145.34 } ,
-{"lat" : -37.8697, "lng" : 145.237 } ,
-{"lat" : -38.2002, "lng" : 145.489 } ,
-{"lat" : -35.6447, "lng" : 144.131 } ,
-{"lat" : -38.2926, "lng" : 142.368 } ,
-{"lat" : -38.4346, "lng" : 145.824 } ,
-{"lat" : -36.3137, "lng" : 145.053 } ,
-{"lat" : -37.2425, "lng" : 144.457 } ,
-{"lat" : -35.4596, "lng" : 143.632 } ,
-{"lat" : -37.7121, "lng" : 142.841 } ,
-{"lat" : -37.8772, "lng" : 147.995 } ,
-{"lat" : -37.2786, "lng" : 144.736 } ,
-{"lat" : -37.0046, "lng" : 143.136 } ,
-{"lat" : -38.2653, "lng" : 145.563 } ,
-{"lat" : -38.0234, "lng" : 144.396 } ,
-{"lat" : -38.6823, "lng" : 143.386 } ,
-{"lat" : -37.8633, "lng" : 144.771 } ,
-{"lat" : -37.4319, "lng" : 143.729 } ,
-{"lat" : -38.4753, "lng" : 145.946 } ,
-{"lat" : -37.2743, "lng" : 143.517 } ,
-{"lat" : -37.7556, "lng" : 145.342 } ,
-{"lat" : -37.6847, "lng" : 143.56 } ,
-{"lat" : -37.9533, "lng" : 143.34 } ,
-{"lat" : -38.3686, "lng" : 145.703 } ,
-{"lat" : -38.5409, "lng" : 143.974 } ,
-{"lat" : -38.0324, "lng" : 142.001 } ,
-{"lat" : -37.4229, "lng" : 144.568 } ,
-{"lat" : -37.9651, "lng" : 146.973 } ,
-{"lat" : -36.9952, "lng" : 144.065 } ,
-{"lat" : -37.5602, "lng" : 149.751 } ,
-{"lat" : -37.1884, "lng" : 144.385 } ,
-{"lat" : -37.8559, "lng" : 145.03 } ,
-{"lat" : -35.0504, "lng" : 142.883 } ,
-{"lat" : -37.0523, "lng" : 146.087 } ,
-{"lat" : -37.0464, "lng" : 143.735 } ,
-{"lat" : -37.5107, "lng" : 145.748 } ,
-{"lat" : -38.58, "lng" : 146.011 } ,
-{"lat" : -37.67, "lng" : 144.849 } ,
-{"lat" : -37.8165, "lng" : 144.966 } ,
-{"lat" : -37.822, "lng" : 144.953 } ,
-{"lat" : -37.6858, "lng" : 144.578 } ,
-{"lat" : -34.1674, "lng" : 142.061 } ,
-{"lat" : -37.8466, "lng" : 144.076 } ,
-{"lat" : -37.7203, "lng" : 141.55 } ,
-{"lat" : -34.186, "lng" : 142.162 } ,
-{"lat" : -37.6574, "lng" : 145.075 } ,
-{"lat" : -36.4582, "lng" : 142.589 } ,
-{"lat" : -38.4009, "lng" : 146.159 } ,
-{"lat" : -36.5371, "lng" : 147.378 } ,
-{"lat" : -38.1779, "lng" : 146.261 } ,
-{"lat" : -37.8752, "lng" : 145.408 } ,
-{"lat" : -37.7647, "lng" : 144.924 } ,
-{"lat" : -37.9374, "lng" : 145.038 } ,
-{"lat" : -37.7895, "lng" : 145.311 } ,
-{"lat" : -36.3955, "lng" : 145.356 } ,
-{"lat" : -38.0038, "lng" : 145.086 } ,
-{"lat" : -38.2164, "lng" : 145.037 } ,
-{"lat" : -38.0816, "lng" : 142.808 } ,
-{"lat" : -38.2373, "lng" : 146.394 } ,
-{"lat" : -36.7442, "lng" : 147.171 } ,
-{"lat" : -37.1465, "lng" : 146.452 } ,
-{"lat" : -37.7871, "lng" : 145.381 } ,
-{"lat" : -36.9921, "lng" : 147.15 } ,
-{"lat" : -37.8805, "lng" : 145.128 } ,
-{"lat" : -36.5782, "lng" : 146.375 } ,
-{"lat" : -36.6177, "lng" : 145.221 } ,
-{"lat" : -35.2642, "lng" : 141.183 } ,
-{"lat" : -37.8907, "lng" : 145.067 } ,
-{"lat" : -36.6167, "lng" : 142.47 } ,
-{"lat" : -36.5611, "lng" : 146.725 } ,
-{"lat" : -36.7873, "lng" : 145.155 } ,
-{"lat" : -38.026, "lng" : 145.311 } ,
-{"lat" : -36.0598, "lng" : 145.203 } ,
-{"lat" : -36.7399, "lng" : 141.947 } ,
-{"lat" : -38.0185, "lng" : 145.955 } ,
-{"lat" : -37.1055, "lng" : 144.064 } ,
-{"lat" : -36.3346, "lng" : 141.652 } ,
-{"lat" : -37.7661, "lng" : 145.002 } ,
-{"lat" : -36.0886, "lng" : 145.444 } ,
-{"lat" : -37.8175, "lng" : 145.183 } ,
-{"lat" : -35.1719, "lng" : 143.378 } ,
-{"lat" : -37.8983, "lng" : 145.088 } ,
-{"lat" : -37.8562, "lng" : 145.365 } ,
-{"lat" : -37.102, "lng" : 147.593 } ,
-{"lat" : -37.7066, "lng" : 148.456 } ,
-{"lat" : -35.07, "lng" : 142.315 } ,
-{"lat" : -38.0618, "lng" : 145.453 } ,
-{"lat" : -37.8746, "lng" : 142.29 } ,
-{"lat" : -35.054, "lng" : 143.314 } ,
-{"lat" : -38.6178, "lng" : 142.998 } ,
-{"lat" : -38.3877, "lng" : 142.239 } ,
-{"lat" : -38.1153, "lng" : 144.658 } ,
-{"lat" : -38.3525, "lng" : 141.609 } ,
-{"lat" : -37.8478, "lng" : 145 } ,
-{"lat" : -37.7392, "lng" : 145.006 } ,
-{"lat" : -37.7404, "lng" : 145.028 } ,
-{"lat" : -37.1229, "lng" : 144.857 } ,
-{"lat" : -36.0546, "lng" : 144.113 } ,
-{"lat" : -35.8523, "lng" : 143.521 } ,
-{"lat" : -38.2702, "lng" : 144.661 } ,
-{"lat" : -35.8995, "lng" : 141.995 } ,
-{"lat" : -37.9561, "lng" : 146.398 } ,
-{"lat" : -36.5387, "lng" : 144.204 } ,
-{"lat" : -34.3041, "lng" : 142.187 } ,
-{"lat" : -37.7165, "lng" : 145.005 } ,
-{"lat" : -37.8174, "lng" : 145 } ,
-{"lat" : -37.4621, "lng" : 144.678 } ,
-{"lat" : -37.8131, "lng" : 145.227 } ,
-{"lat" : -34.584, "lng" : 142.771 } ,
-{"lat" : -36.3631, "lng" : 144.699 } ,
-{"lat" : -37.901, "lng" : 143.722 } ,
-{"lat" : -37.3438, "lng" : 144.742 } ,
-{"lat" : -38.3698, "lng" : 144.89 } ,
-{"lat" : -38.1503, "lng" : 146.789 } ,
-{"lat" : -37.9189, "lng" : 145.239 } ,
-{"lat" : -36.6331, "lng" : 142.63 } ,
-{"lat" : -36.5907, "lng" : 145.017 } ,
-{"lat" : -36.0565, "lng" : 146.459 } ,
-{"lat" : -38.3706, "lng" : 144.819 } ,
-{"lat" : -38.1123, "lng" : 147.069 } ,
-{"lat" : -38.5211, "lng" : 145.38 } ,
-{"lat" : -37.9486, "lng" : 145.004 } ,
-{"lat" : -35.5024, "lng" : 142.85 } ,
-{"lat" : -36.406, "lng" : 143.974 } ,
-{"lat" : -37.02, "lng" : 145.13 } ,
-{"lat" : -36.3815, "lng" : 145.398 } ,
-{"lat" : -37.684, "lng" : 143.361 } ,
-{"lat" : -37.6433, "lng" : 143.687 } ,
-{"lat" : -38.3361, "lng" : 144.742 } ,
-{"lat" : -37.8348, "lng" : 144.959 } ,
-{"lat" : -35.4012, "lng" : 142.441 } ,
-{"lat" : -37.9551, "lng" : 145.151 } ,
-{"lat" : -36.6169, "lng" : 143.26 } ,
-{"lat" : -37.8679, "lng" : 144.991 } ,
-{"lat" : -37.835, "lng" : 144.974 } ,
-{"lat" : -36.4464, "lng" : 144.985 } ,
-{"lat" : -37.0557, "lng" : 142.784 } ,
-{"lat" : -37.9635, "lng" : 147.08 } ,
-{"lat" : -37.5799, "lng" : 144.736 } ,
-{"lat" : -37.7776, "lng" : 144.831 } ,
-{"lat" : -35.3561, "lng" : 143.563 } ,
-{"lat" : -37.27, "lng" : 147.726 } ,
-{"lat" : -36.2161, "lng" : 147.176 } ,
-{"lat" : -36.2513, "lng" : 147.035 } ,
-{"lat" : -36.77, "lng" : 143.833 } ,
-{"lat" : -36.4404, "lng" : 145.233 } ,
-{"lat" : -38.241, "lng" : 142.919 } ,
-{"lat" : -38.4834, "lng" : 142.971 } ,
-{"lat" : -36.2491, "lng" : 144.951 } ,
-{"lat" : -38.6616, "lng" : 146.325 } ,
-{"lat" : -38.3256, "lng" : 144.318 } ,
-{"lat" : -38.2127, "lng" : 146.154 } ,
-{"lat" : -38.1948, "lng" : 146.536 } ,
-{"lat" : -37.3907, "lng" : 144.322 } ,
-{"lat" : -36.1649, "lng" : 145.881 } ,
-{"lat" : -35.1709, "lng" : 141.81 } ,
-{"lat" : -36.6362, "lng" : 145.715 } ,
-{"lat" : -37.4165, "lng" : 144.982 } ,
-{"lat" : -35.965, "lng" : 147.734 } ,
-{"lat" : -36.361, "lng" : 146.314 } ,
-{"lat" : -37.7548, "lng" : 145.688 } ,
-{"lat" : -36.25, "lng" : 142.396 } ,
-{"lat" : -38.1618, "lng" : 145.933 } ,
-{"lat" : -37.7409, "lng" : 145.213 } ,
-{"lat" : -38.381, "lng" : 142.478 } ,
-{"lat" : -36.4244, "lng" : 143.616 } ,
-{"lat" : -37.8945, "lng" : 144.68 } ,
-{"lat" : -34.3847, "lng" : 141.597 } ,
-{"lat" : -36.7655, "lng" : 146.414 } ,
-{"lat" : -37.5102, "lng" : 145.119 } ,
-{"lat" : -37.546, "lng" : 142.741 } ,
-{"lat" : -37.8634, "lng" : 144.906 } ,
-{"lat" : -38.2442, "lng" : 143.99 } ,
-{"lat" : -36.122, "lng" : 146.89 } ,
-{"lat" : -38.6076, "lng" : 145.59 } ,
-{"lat" : -37.3544, "lng" : 144.527 } ,
-{"lat" : -37.5676, "lng" : 146.251 } ,
-{"lat" : -35.681, "lng" : 142.665 } ,
-{"lat" : -36.0744, "lng" : 143.226 } ,
-{"lat" : -36.3106, "lng" : 146.843 } ,
-{"lat" : -37.6602, "lng" : 145.373 } ,
-{"lat" : -37.7813, "lng" : 145.609 } ,
-{"lat" : -38.56, "lng" : 146.677 } ,
-{"lat" : -36.0193, "lng" : 145.995 } ,
-{"lat" : -37.2104, "lng" : 145.427 } ,
-{"lat" : -37.8915, "lng" : 145.175 } ,
-{"lat" : -37.7229, "lng" : 144.893 } ,
-{"lat" : -37.8193, "lng" : 144.96 } ,
-{"lat" : -37.5609, "lng" : 143.866 } ,
-{"lat" : -37.6015, "lng" : 143.842 } ,
-{"lat" : -36.7573, "lng" : 144.28 } ,
-{"lat" : -37.7708, "lng" : 144.958 } ,
-{"lat" : -37.7265, "lng" : 144.892 } ,
-{"lat" : -37.725, "lng" : 145.058 } ,
-{"lat" : -37.8035, "lng" : 144.986 } ,
-{"lat" : -37.8308, "lng" : 144.945 } ,
-{"lat" : -37.6607, "lng" : 144.884 } ,
-{"lat" : -37.7379, "lng" : 145.075 } ,
-{"lat" : -37.8183, "lng" : 145.186 } ,
-{"lat" : -37.8132, "lng" : 144.958 } ,
-{"lat" : -37.8134, "lng" : 144.957 } ,
-{"lat" : -37.8478, "lng" : 144.687 } ,
-{"lat" : -38.1149, "lng" : 145.173 } ,
-{"lat" : -38.0315, "lng" : 143.633 } ,
-{"lat" : -38.0572, "lng" : 147.569 }
-]
diff --git a/snippets/app-utils/src/main/res/values/colors.xml b/snippets/app-utils/src/main/res/values/colors.xml
deleted file mode 100644
index df4601b36..000000000
--- a/snippets/app-utils/src/main/res/values/colors.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
- #FFBB86FC
- #FF6200EE
- #FF3700B3
- #FF03DAC5
- #FF018786
- #FF000000
- #FFFFFFFF
-
\ No newline at end of file
diff --git a/snippets/app-utils/src/main/res/values/strings.xml b/snippets/app-utils/src/main/res/values/strings.xml
deleted file mode 100644
index 061b41080..000000000
--- a/snippets/app-utils/src/main/res/values/strings.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
- app-utils
-
\ No newline at end of file
diff --git a/snippets/app-utils/src/main/res/values/styles.xml b/snippets/app-utils/src/main/res/values/styles.xml
deleted file mode 100644
index d72c43eb5..000000000
--- a/snippets/app-utils/src/main/res/values/styles.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/snippets/app/.gitignore b/snippets/app/.gitignore
deleted file mode 100644
index 42afabfd2..000000000
--- a/snippets/app/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/build
\ No newline at end of file
diff --git a/snippets/app/proguard-rules.pro b/snippets/app/proguard-rules.pro
deleted file mode 100644
index 481bb4348..000000000
--- a/snippets/app/proguard-rules.pro
+++ /dev/null
@@ -1,21 +0,0 @@
-# Add project specific ProGuard rules here.
-# You can control the set of applied configuration files using the
-# proguardFiles setting in build.gradle.
-#
-# For more details, see
-# http://developer.android.com/guide/developing/tools/proguard.html
-
-# If your project uses WebView with JS, uncomment the following
-# and specify the fully qualified class name to the JavaScript interface
-# class:
-#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
-# public *;
-#}
-
-# Uncomment this to preserve the line number information for
-# debugging stack traces.
-#-keepattributes SourceFile,LineNumberTable
-
-# If you keep the line number information, uncomment this to
-# hide the original source file name.
-#-renamesourcefileattribute SourceFile
\ No newline at end of file
diff --git a/snippets/app/src/main/AndroidManifest.xml b/snippets/app/src/main/AndroidManifest.xml
deleted file mode 100644
index c68b88572..000000000
--- a/snippets/app/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/snippets/app/src/main/java/com/google/maps/example/AdvancedMarkersCollisionActivity.java b/snippets/app/src/main/java/com/google/maps/example/AdvancedMarkersCollisionActivity.java
deleted file mode 100644
index 1c8c1b08d..000000000
--- a/snippets/app/src/main/java/com/google/maps/example/AdvancedMarkersCollisionActivity.java
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright 2024 Google LLC
-//
-// 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.example;
-
-import android.os.Bundle;
-
-import androidx.annotation.Nullable;
-import androidx.appcompat.app.AppCompatActivity;
-
-import com.google.android.gms.maps.GoogleMap;
-import com.google.android.gms.maps.model.AdvancedMarkerOptions;
-import com.google.android.gms.maps.model.LatLng;
-import com.google.android.gms.maps.model.Marker;
-
-class AdvancedMarkersCollisionActivity extends AppCompatActivity {
-
- private GoogleMap map;
-
- @Override
- protected void onCreate(@Nullable Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- // [START maps_android_marker_collision]
- // Collision behavior can only be changed in the AdvancedMarkerOptions object.
- // Changes to collision behavior after a marker has been created are not possible
- int collisionBehavior = AdvancedMarkerOptions.CollisionBehavior.REQUIRED_AND_HIDES_OPTIONAL;
- AdvancedMarkerOptions options = new AdvancedMarkerOptions()
- .position(new LatLng(10.0, 10.0))
- .collisionBehavior(collisionBehavior);
-
- Marker marker = map.addMarker(options);
- // [END maps_android_marker_collision]
- }
-}
diff --git a/snippets/app/src/main/java/com/google/maps/example/CameraAndView.java b/snippets/app/src/main/java/com/google/maps/example/CameraAndView.java
deleted file mode 100644
index e7657dfbe..000000000
--- a/snippets/app/src/main/java/com/google/maps/example/CameraAndView.java
+++ /dev/null
@@ -1,94 +0,0 @@
-// Copyright 2020 Google LLC
-//
-// 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.example;
-
-import com.google.android.gms.maps.CameraUpdateFactory;
-import com.google.android.gms.maps.GoogleMap;
-import com.google.android.gms.maps.model.CameraPosition;
-import com.google.android.gms.maps.model.LatLng;
-import com.google.android.gms.maps.model.LatLngBounds;
-
-class CameraAndView {
-
- // [START maps_android_camera_and_view_zoom_level]
- private GoogleMap map;
- // [START_EXCLUDE silent]
- private void zoomLevel() {
- // [END_EXCLUDE]
- map.setMinZoomPreference(6.0f);
- map.setMaxZoomPreference(14.0f);
- // [START_EXCLUDE silent]
- }
- // [END_EXCLUDE]
- // [END maps_android_camera_and_view_zoom_level]
-
- private void settingBoundaries() {
- // [START maps_android_camera_and_view_setting_boundaries]
- LatLngBounds australiaBounds = new LatLngBounds(
- new LatLng(-44, 113), // SW bounds
- new LatLng(-10, 154) // NE bounds
- );
- map.moveCamera(CameraUpdateFactory.newLatLngBounds(australiaBounds, 0));
- // [END maps_android_camera_and_view_setting_boundaries]
- }
-
- private void centeringMapWithinAnArea() {
- // [START maps_android_camera_and_view_centering_within_area]
- LatLngBounds australiaBounds = new LatLngBounds(
- new LatLng(-44, 113), // SW bounds
- new LatLng(-10, 154) // NE bounds
- );
- map.moveCamera(CameraUpdateFactory.newLatLngZoom(australiaBounds.getCenter(), 10));
- // [END maps_android_camera_and_view_centering_within_area]
- }
-
- private void panningRestrictions() {
- // [START maps_android_camera_and_view_panning_restrictions]
- // Create a LatLngBounds that includes the city of Adelaide in Australia.
- LatLngBounds adelaideBounds = new LatLngBounds(
- new LatLng(-35.0, 138.58), // SW bounds
- new LatLng(-34.9, 138.61) // NE bounds
- );
-
- // Constrain the camera target to the Adelaide bounds.
- map.setLatLngBoundsForCameraTarget(adelaideBounds);
- // [END maps_android_camera_and_view_panning_restrictions]
- }
-
- private void commonMapMovements() {
- // [START maps_android_camera_and_view_common_map_movements]
- LatLng sydney = new LatLng(-33.88,151.21);
- LatLng mountainView = new LatLng(37.4, -122.1);
-
- // Move the camera instantly to Sydney with a zoom of 15.
- map.moveCamera(CameraUpdateFactory.newLatLngZoom(sydney, 15));
-
- // Zoom in, animating the camera.
- map.animateCamera(CameraUpdateFactory.zoomIn());
-
- // Zoom out to zoom level 10, animating with a duration of 2 seconds.
- map.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null);
-
- // Construct a CameraPosition focusing on Mountain View and animate the camera to that position.
- CameraPosition cameraPosition = new CameraPosition.Builder()
- .target(mountainView ) // Sets the center of the map to Mountain View
- .zoom(17) // Sets the zoom
- .bearing(90) // Sets the orientation of the camera to east
- .tilt(30) // Sets the tilt of the camera to 30 degrees
- .build(); // Creates a CameraPosition from the builder
- map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
- // [END maps_android_camera_and_view_common_map_movements]
- }
-}
diff --git a/snippets/app/src/main/java/com/google/maps/example/CloudBasedMapStylingActivity.java b/snippets/app/src/main/java/com/google/maps/example/CloudBasedMapStylingActivity.java
deleted file mode 100644
index 2dc12c0d9..000000000
--- a/snippets/app/src/main/java/com/google/maps/example/CloudBasedMapStylingActivity.java
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2024 Google LLC
-//
-// 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.example;
-
-import android.os.Bundle;
-
-import androidx.appcompat.app.AppCompatActivity;
-
-import com.google.android.gms.maps.GoogleMapOptions;
-import com.google.android.gms.maps.MapFragment;
-
-public class CloudBasedMapStylingActivity extends AppCompatActivity {
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- // [START maps_android_cloud_based_map_styling]
- MapFragment mapFragment = MapFragment.newInstance(
- new GoogleMapOptions()
- .mapId(getResources().getString(R.string.map_id)));
- // [END maps_android_cloud_based_map_styling]
- }
-}
diff --git a/snippets/app/src/main/java/com/google/maps/example/EventsActivity.java b/snippets/app/src/main/java/com/google/maps/example/EventsActivity.java
deleted file mode 100644
index 2cd4dc880..000000000
--- a/snippets/app/src/main/java/com/google/maps/example/EventsActivity.java
+++ /dev/null
@@ -1,64 +0,0 @@
-// Copyright 2020 Google LLC
-//
-// 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.example;
-
-import android.os.Bundle;
-import android.view.View;
-
-import androidx.annotation.Nullable;
-import androidx.appcompat.app.AppCompatActivity;
-
-import com.google.android.gms.maps.GoogleMap;
-import com.google.android.gms.maps.MapView;
-import com.google.android.gms.maps.SupportMapFragment;
-import com.google.android.gms.maps.model.IndoorBuilding;
-import com.google.android.gms.maps.model.IndoorLevel;
-
-class EventsActivity extends AppCompatActivity {
-
- private GoogleMap map;
-
- @Override
- protected void onCreate(@Nullable Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_events);
- }
-
- private void mapViewDisableClickEvent() {
- // [START maps_android_events_disable_clicks_mapview]
- MapView mapView = findViewById(R.id.mapView);
- mapView.setClickable(false);
- // [END maps_android_events_disable_clicks_mapview]
- }
-
- private void mapFragmentDisableClickEvent() {
- // [START maps_android_events_disable_clicks_mapfragment]
- SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
- .findFragmentById(R.id.map);
- View view = mapFragment.getView();
- view.setClickable(false);
- // [END maps_android_events_disable_clicks_mapfragment]
- }
-
- private void focusedBuilding() {
- // [START maps_android_events_active_level]
- IndoorBuilding building = map.getFocusedBuilding();
- if (building != null) {
- int activeLevelIndex = building.getActiveLevelIndex();
- IndoorLevel activeLevel = building.getLevels().get(activeLevelIndex);
- }
- // [END maps_android_events_active_level]
- }
-}
diff --git a/snippets/app/src/main/java/com/google/maps/example/GroundOverlays.java b/snippets/app/src/main/java/com/google/maps/example/GroundOverlays.java
deleted file mode 100644
index 6b71d54d0..000000000
--- a/snippets/app/src/main/java/com/google/maps/example/GroundOverlays.java
+++ /dev/null
@@ -1,81 +0,0 @@
-// Copyright 2020 Google LLC
-//
-// 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.example;
-
-import com.google.android.gms.maps.GoogleMap;
-import com.google.android.gms.maps.model.BitmapDescriptorFactory;
-import com.google.android.gms.maps.model.GroundOverlay;
-import com.google.android.gms.maps.model.GroundOverlayOptions;
-import com.google.android.gms.maps.model.LatLng;
-import com.google.android.gms.maps.model.LatLngBounds;
-
-class GroundOverlays {
-
- private GoogleMap map;
-
- private void groundOverlays() {
- // [START maps_android_ground_overlays_add]
- LatLng newarkLatLng = new LatLng(40.714086, -74.228697);
-
- GroundOverlayOptions newarkMap = new GroundOverlayOptions()
- .image(BitmapDescriptorFactory.fromResource(R.drawable.newark_nj_1922))
- .position(newarkLatLng, 8600f, 6500f);
- map.addGroundOverlay(newarkMap);
- // [END maps_android_ground_overlays_add]
-
- // [START maps_android_ground_overlays_retain]
- // Add an overlay to the map, retaining a handle to the GroundOverlay object.
- GroundOverlay imageOverlay = map.addGroundOverlay(newarkMap);
- // [END maps_android_ground_overlays_retain]
-
- // [START maps_android_ground_overlays_remove]
- imageOverlay.remove();
- // [END maps_android_ground_overlays_remove]
-
- // [START maps_android_ground_overlays_change_image]
- // Update the GroundOverlay with a new image of the same dimension
- imageOverlay.setImage(BitmapDescriptorFactory.fromResource(R.drawable.newark_nj_1922));
- // [END maps_android_ground_overlays_change_image]
-
- // [START maps_android_ground_overlays_associate_data]
- GroundOverlay sydneyGroundOverlay = map.addGroundOverlay(new GroundOverlayOptions()
- .image(BitmapDescriptorFactory.fromResource(R.drawable.harbour_bridge))
- .position(new LatLng(-33.873, 151.206), 100)
- .clickable(true));
-
- sydneyGroundOverlay.setTag("Sydney");
- // [END maps_android_ground_overlays_associate_data]
- }
-
- private void positionImageLocation() {
- // [START maps_android_ground_overlays_position_image_location]
- GroundOverlayOptions newarkMap = new GroundOverlayOptions()
- .image(BitmapDescriptorFactory.fromResource(R.drawable.newark_nj_1922))
- .anchor(0, 1)
- .position(new LatLng(40.714086, -74.228697), 8600f, 6500f);
- // [END maps_android_ground_overlays_position_image_location]
- }
-
- private void positionImageBounds() {
- // [START maps_android_ground_overlays_position_image_bounds]
- LatLngBounds newarkBounds = new LatLngBounds(
- new LatLng(40.712216, -74.22655), // South west corner
- new LatLng(40.773941, -74.12544)); // North east corner
- GroundOverlayOptions newarkMap = new GroundOverlayOptions()
- .image(BitmapDescriptorFactory.fromResource(R.drawable.newark_nj_1922))
- .positionFromBounds(newarkBounds);
- // [END maps_android_ground_overlays_position_image_bounds]
- }
-}
diff --git a/snippets/app/src/main/java/com/google/maps/example/InfoWindows.java b/snippets/app/src/main/java/com/google/maps/example/InfoWindows.java
deleted file mode 100644
index 66fbd1169..000000000
--- a/snippets/app/src/main/java/com/google/maps/example/InfoWindows.java
+++ /dev/null
@@ -1,72 +0,0 @@
-// Copyright 2020 Google LLC
-//
-// 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.example;
-
-import android.widget.Toast;
-
-import androidx.appcompat.app.AppCompatActivity;
-
-import com.google.android.gms.maps.GoogleMap;
-import com.google.android.gms.maps.OnMapReadyCallback;
-import com.google.android.gms.maps.model.LatLng;
-import com.google.android.gms.maps.model.Marker;
-import com.google.android.gms.maps.model.MarkerOptions;
-
-class InfoWindows {
- private GoogleMap map;
-
- private void addInfoWindow() {
- // [START maps_android_info_windows_add]
- final LatLng melbourneLatLng = new LatLng(-37.81319, 144.96298);
- Marker melbourne = map.addMarker(
- new MarkerOptions()
- .position(melbourneLatLng)
- .title("Melbourne")
- .snippet("Population: 4,137,400"));
- // [END maps_android_info_windows_add]
- }
-
- private void showHideInfoWindow() {
- // [START maps_android_info_windows_show_hide]
- final LatLng melbourneLatLng = new LatLng(-37.81319, 144.96298);
- Marker melbourne = map.addMarker(
- new MarkerOptions()
- .position(melbourneLatLng)
- .title("Melbourne"));
- melbourne.showInfoWindow();
- // [END maps_android_info_windows_show_hide]
- }
-
- // [START maps_android_info_windows_click_listener]
- class InfoWindowActivity extends AppCompatActivity implements
- GoogleMap.OnInfoWindowClickListener,
- OnMapReadyCallback {
-
- @Override
- public void onMapReady(GoogleMap googleMap) {
- // Add markers to the map and do other map setup.
- // ...
- // Set a listener for info window events.
- googleMap.setOnInfoWindowClickListener(this);
- }
-
- @Override
- public void onInfoWindowClick(Marker marker) {
- Toast.makeText(this, "Info window clicked",
- Toast.LENGTH_SHORT).show();
- }
- }
- // [END maps_android_info_windows_click_listener]
-}
diff --git a/snippets/app/src/main/java/com/google/maps/example/LiteMode.java b/snippets/app/src/main/java/com/google/maps/example/LiteMode.java
deleted file mode 100644
index 988acbcd2..000000000
--- a/snippets/app/src/main/java/com/google/maps/example/LiteMode.java
+++ /dev/null
@@ -1,26 +0,0 @@
-// Copyright 2020 Google LLC
-//
-// 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.example;
-
-import com.google.android.gms.maps.GoogleMapOptions;
-
-class LiteMode {
- private void liteMode() {
- // [START maps_android_lite_mode_options]
- GoogleMapOptions options = new GoogleMapOptions()
- .liteMode(true);
- // [END maps_android_lite_mode_options]
- }
-}
diff --git a/snippets/app/src/main/java/com/google/maps/example/MapId.java b/snippets/app/src/main/java/com/google/maps/example/MapId.java
deleted file mode 100644
index 1f87e3b4b..000000000
--- a/snippets/app/src/main/java/com/google/maps/example/MapId.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright 2023 Google LLC
- *
- * 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.example;
-
-import android.content.Context;
-import com.google.android.gms.maps.GoogleMapOptions;
-import com.google.android.gms.maps.MapView;
-import com.google.android.gms.maps.SupportMapFragment;
-
-class MapId {
-
- private void fragment() {
- // [START maps_android_support_map_fragment_map_id]
- GoogleMapOptions options = new GoogleMapOptions()
- .mapId("YOUR_MAP_ID");
- SupportMapFragment mapFragment = SupportMapFragment.newInstance(options);
- // [END maps_android_support_map_fragment_map_id]
- }
-
- private void mapView(Context context) {
- // [START maps_android_mapview_map_id]
- GoogleMapOptions options = new GoogleMapOptions()
- .mapId("YOUR_MAP_ID");
- MapView mapView = new MapView(context, options);
- // [END maps_android_mapview_map_id]
- }
-}
diff --git a/snippets/app/src/main/java/com/google/maps/example/MapRendererOptInApplication.java b/snippets/app/src/main/java/com/google/maps/example/MapRendererOptInApplication.java
deleted file mode 100644
index 986a93364..000000000
--- a/snippets/app/src/main/java/com/google/maps/example/MapRendererOptInApplication.java
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// 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.example;
-
-import android.app.Application;
-import android.util.Log;
-import android.widget.Toast;
-// [START maps_android_renderer_opt_in]
-import com.google.android.gms.maps.MapsInitializer;
-import com.google.android.gms.maps.MapsInitializer.Renderer;
-import com.google.android.gms.maps.OnMapsSdkInitializedCallback;
-
-class MapRendererOptInApplication extends Application implements OnMapsSdkInitializedCallback {
-
- @Override
- public void onCreate() {
- super.onCreate();
- MapsInitializer.initialize(getApplicationContext(), Renderer.LATEST, this);
- }
-
- @Override
- public void onMapsSdkInitialized(MapsInitializer.Renderer renderer) {
- switch (renderer) {
- case LATEST:
- Log.d("MapsDemo", "The latest version of the renderer is used.");
- break;
- case LEGACY:
- Log.d("MapsDemo", "The legacy version of the renderer is used.");
- break;
- }
- }
-}
-// [END maps_android_renderer_opt_in]
diff --git a/snippets/app/src/main/java/com/google/maps/example/MapsActivity.java b/snippets/app/src/main/java/com/google/maps/example/MapsActivity.java
deleted file mode 100644
index 6c90567a2..000000000
--- a/snippets/app/src/main/java/com/google/maps/example/MapsActivity.java
+++ /dev/null
@@ -1,63 +0,0 @@
-// Copyright 2020 Google LLC
-//
-// 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.example;
-
-//[START maps_android_mapsactivity]
-import android.os.Bundle;
-import androidx.appcompat.app.AppCompatActivity;
-import com.google.android.gms.maps.CameraUpdateFactory;
-import com.google.android.gms.maps.GoogleMap;
-import com.google.android.gms.maps.OnMapReadyCallback;
-import com.google.android.gms.maps.SupportMapFragment;
-import com.google.android.gms.maps.model.LatLng;
-import com.google.android.gms.maps.model.MarkerOptions;
-
-public class MapsActivity extends AppCompatActivity implements OnMapReadyCallback {
-
- private GoogleMap mMap;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_maps);
- // Obtain the SupportMapFragment and get notified when the map is ready to be used.
- SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
- .findFragmentById(R.id.map);
- mapFragment.getMapAsync(this);
- }
-
- /**
- * Manipulates the map once available.
- * This callback is triggered when the map is ready to be used.
- * This is where we can add markers or lines, add listeners or move the camera. In this case,
- * we just add a marker near Sydney, Australia.
- *
- * If Google Play services is not installed on the device, the user will be prompted to install
- * it inside the SupportMapFragment. This method will only be triggered once the user has
- * installed Google Play services and returned to the app.
- */
- @Override
- public void onMapReady(GoogleMap googleMap) {
- mMap = googleMap;
-
- // Add a marker in Sydney and move the camera
- LatLng sydney = new LatLng(-34, 151);
- mMap.addMarker(new MarkerOptions()
- .position(sydney)
- .title("Marker in Sydney"));
- mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
- }
-}
-//[END maps_android_mapsactivity]
diff --git a/snippets/app/src/main/java/com/google/maps/example/MapsObject.java b/snippets/app/src/main/java/com/google/maps/example/MapsObject.java
deleted file mode 100644
index 1a723fd9b..000000000
--- a/snippets/app/src/main/java/com/google/maps/example/MapsObject.java
+++ /dev/null
@@ -1,91 +0,0 @@
-// Copyright 2020 Google LLC
-//
-// 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.example;
-
-import android.os.Bundle;
-
-import androidx.annotation.Nullable;
-import androidx.appcompat.app.AppCompatActivity;
-
-import com.google.android.gms.maps.GoogleMap;
-import com.google.android.gms.maps.GoogleMapOptions;
-import com.google.android.gms.maps.OnMapReadyCallback;
-import com.google.android.gms.maps.SupportMapFragment;
-import com.google.android.gms.maps.model.LatLng;
-import com.google.android.gms.maps.model.MarkerOptions;
-
-class MapsObject extends AppCompatActivity {
-
- // [START maps_android_on_create_set_content_view]
- @Override
- protected void onCreate(@Nullable Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- }
- // [END maps_android_on_create_set_content_view]
-
- private void mapFragment() {
- // [START maps_android_map_fragment]
- SupportMapFragment mapFragment = SupportMapFragment.newInstance();
- getSupportFragmentManager()
- .beginTransaction()
- .add(R.id.my_container, mapFragment)
- .commit();
- // [END maps_android_map_fragment]
- }
-
- private void mapType(GoogleMap map) {
- // [START maps_android_map_type]
- // Sets the map type to be "hybrid"
- map.setMapType(GoogleMap.MAP_TYPE_HYBRID);
- // [END maps_android_map_type]
- }
-
- private void googleMapOptions() {
- // [START maps_android_google_map_options]
- GoogleMapOptions options = new GoogleMapOptions();
- // [END maps_android_google_map_options]
-
- // [START maps_android_google_map_options_configure]
- options.mapType(GoogleMap.MAP_TYPE_SATELLITE)
- .compassEnabled(false)
- .rotateGesturesEnabled(false)
- .tiltGesturesEnabled(false);
- // [END maps_android_google_map_options_configure]
- }
-
- // [START maps_android_on_map_ready_callback]
- class MainActivity extends AppCompatActivity implements OnMapReadyCallback {
- // [START_EXCLUDE]
- // [START maps_android_on_map_ready_add_marker]
- @Override
- public void onMapReady(GoogleMap googleMap) {
- googleMap.addMarker(new MarkerOptions()
- .position(new LatLng(0, 0))
- .title("Marker"));
- }
- // [END maps_android_on_map_ready_add_marker]
-
- private void getMapAsync() {
- // [START maps_android_get_map_async]
- SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
- .findFragmentById(R.id.map);
- mapFragment.getMapAsync(this);
- // [END maps_android_get_map_async]
- }
- // [END_EXCLUDE]
- }
- // [END maps_android_on_map_ready_callback]
-}
diff --git a/snippets/app/src/main/java/com/google/maps/example/Markers.java b/snippets/app/src/main/java/com/google/maps/example/Markers.java
deleted file mode 100644
index d1e643f61..000000000
--- a/snippets/app/src/main/java/com/google/maps/example/Markers.java
+++ /dev/null
@@ -1,198 +0,0 @@
-// Copyright 2020 Google LLC
-//
-// 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.example;
-
-import android.os.Bundle;
-import android.widget.Toast;
-
-import androidx.appcompat.app.AppCompatActivity;
-
-import com.google.android.gms.maps.CameraUpdateFactory;
-import com.google.android.gms.maps.GoogleMap;
-import com.google.android.gms.maps.OnMapReadyCallback;
-import com.google.android.gms.maps.SupportMapFragment;
-import com.google.android.gms.maps.model.BitmapDescriptorFactory;
-import com.google.android.gms.maps.model.LatLng;
-import com.google.android.gms.maps.model.Marker;
-import com.google.android.gms.maps.model.MarkerOptions;
-
-class Markers implements OnMapReadyCallback {
-
- // [START maps_android_markers_add_a_marker]
- @Override
- public void onMapReady(GoogleMap googleMap) {
- // Add a marker in Sydney, Australia,
- // and move the map's camera to the same location.
- LatLng sydney = new LatLng(-33.852, 151.211);
- googleMap.addMarker(new MarkerOptions()
- .position(sydney)
- .title("Marker in Sydney"));
- googleMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
- }
- // [END maps_android_markers_add_a_marker]
-
- private void markerDraggable(GoogleMap map) {
- // [START maps_android_markers_draggable]
- final LatLng perthLocation = new LatLng(-31.90, 115.86);
- Marker perth = map.addMarker(
- new MarkerOptions()
- .position(perthLocation)
- .draggable(true));
- // [END maps_android_markers_draggable]
- }
-
- private void defaultIcon(GoogleMap map) {
- // [START maps_android_markers_default_icon]
- final LatLng melbourneLocation = new LatLng(-37.813, 144.962);
- Marker melbourne = map.addMarker(
- new MarkerOptions()
- .position(melbourneLocation));
- // [END maps_android_markers_default_icon]
- }
-
- private void customMarkerColor(GoogleMap map) {
- // [START maps_android_markers_custom_marker_color]
- final LatLng melbourneLocation = new LatLng(-37.813, 144.962);
- Marker melbourne = map.addMarker(
- new MarkerOptions()
- .position(melbourneLocation)
- .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE)));
- // [END maps_android_markers_custom_marker_color]
- }
-
- private void markerOpacity(GoogleMap map) {
- // [START maps_android_markers_opacity]
- final LatLng melbourneLocation = new LatLng(-37.813, 144.962);
- Marker melbourne = map.addMarker(new MarkerOptions()
- .position(melbourneLocation)
- .alpha(0.7f));
- // [END maps_android_markers_opacity]
- }
-
- private void markerImage(GoogleMap map) {
- // [START maps_android_markers_image]
- final LatLng melbourneLocation = new LatLng(-37.813, 144.962);
- Marker melbourne = map.addMarker(
- new MarkerOptions()
- .position(melbourneLocation)
- .title("Melbourne")
- .snippet("Population: 4,137,400")
- .icon(BitmapDescriptorFactory.fromResource(R.drawable.arrow)));
- // [END maps_android_markers_image]
- }
-
- private void markerFlatten(GoogleMap map) {
- // [START maps_android_markers_flatten]
- final LatLng perthLocation = new LatLng(-31.90, 115.86);
- Marker perth = map.addMarker(
- new MarkerOptions()
- .position(perthLocation)
- .flat(true));
- // [END maps_android_markers_flatten]
- }
-
- private void markerRotate(GoogleMap map) {
- // [START maps_android_markers_rotate]
- final LatLng perthLocation = new LatLng(-31.90, 115.86);
- Marker perth = map.addMarker(
- new MarkerOptions()
- .position(perthLocation)
- .anchor(0.5f,0.5f)
- .rotation(90.0f));
- // [END maps_android_markers_rotate]
- }
-
- private void markerZIndex(GoogleMap map) {
- // [START maps_android_markers_z_index]
- map.addMarker(new MarkerOptions()
- .position(new LatLng(10, 10))
- .title("Marker z1")
- .zIndex(1.0f));
- // [END maps_android_markers_z_index]
- }
-
- // [START maps_android_markers_tag_sample]
- /**
- * A demo class that stores and retrieves data objects with each marker.
- */
- public class MarkerDemoActivity extends AppCompatActivity implements
- GoogleMap.OnMarkerClickListener,
- OnMapReadyCallback {
-
- private final LatLng PERTH = new LatLng(-31.952854, 115.857342);
- private final LatLng SYDNEY = new LatLng(-33.87365, 151.20689);
- private final LatLng BRISBANE = new LatLng(-27.47093, 153.0235);
-
- private Marker markerPerth;
- private Marker markerSydney;
- private Marker markerBrisbane;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_markers);
- SupportMapFragment mapFragment =
- (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
- mapFragment.getMapAsync(this);
- }
-
- /** Called when the map is ready. */
- @Override
- public void onMapReady(GoogleMap map) {
- // Add some markers to the map, and add a data object to each marker.
- markerPerth = map.addMarker(new MarkerOptions()
- .position(PERTH)
- .title("Perth"));
- markerPerth.setTag(0);
-
- markerSydney = map.addMarker(new MarkerOptions()
- .position(SYDNEY)
- .title("Sydney"));
- markerSydney.setTag(0);
-
- markerBrisbane = map.addMarker(new MarkerOptions()
- .position(BRISBANE)
- .title("Brisbane"));
- markerBrisbane.setTag(0);
-
- // Set a listener for marker click.
- map.setOnMarkerClickListener(this);
- }
-
- /** Called when the user clicks a marker. */
- @Override
- public boolean onMarkerClick(final Marker marker) {
-
- // Retrieve the data from the marker.
- Integer clickCount = (Integer) marker.getTag();
-
- // Check if a click count was set, then display the click count.
- if (clickCount != null) {
- clickCount = clickCount + 1;
- marker.setTag(clickCount);
- Toast.makeText(this,
- marker.getTitle() +
- " has been clicked " + clickCount + " times.",
- Toast.LENGTH_SHORT).show();
- }
-
- // Return false to indicate that we have not consumed the event and that we wish
- // for the default behavior to occur (which is for the camera to move such that the
- // marker is centered and for the marker's info window to open, if it has one).
- return false;
- }
- }
- // [END maps_android_markers_tag_sample]
-}
diff --git a/snippets/app/src/main/java/com/google/maps/example/MyLocationLayerActivity.java b/snippets/app/src/main/java/com/google/maps/example/MyLocationLayerActivity.java
deleted file mode 100644
index 98a661f96..000000000
--- a/snippets/app/src/main/java/com/google/maps/example/MyLocationLayerActivity.java
+++ /dev/null
@@ -1,69 +0,0 @@
-// Copyright 2020 Google LLC
-//
-// 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.example;
-
-import android.annotation.SuppressLint;
-import android.location.Location;
-import android.os.Bundle;
-import android.widget.Toast;
-
-import androidx.annotation.NonNull;
-import androidx.appcompat.app.AppCompatActivity;
-
-import com.google.android.gms.maps.GoogleMap;
-import com.google.android.gms.maps.OnMapReadyCallback;
-import com.google.android.gms.maps.SupportMapFragment;
-
-class MyLocationLayerActivity extends AppCompatActivity
- implements GoogleMap.OnMyLocationButtonClickListener,
- GoogleMap.OnMyLocationClickListener,
- OnMapReadyCallback {
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_my_location);
-
- SupportMapFragment mapFragment =
- (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
- mapFragment.getMapAsync(this);
- }
-
- @SuppressLint("MissingPermission")
- @Override
- public void onMapReady(GoogleMap map) {
- // TODO: Before enabling the My Location layer, you must request
- // location permission from the user. This sample does not include
- // a request for location permission.
- map.setMyLocationEnabled(true);
- map.setOnMyLocationButtonClickListener(this);
- map.setOnMyLocationClickListener(this);
- }
-
- @Override
- public void onMyLocationClick(@NonNull Location location) {
- Toast.makeText(this, "Current location:\n" + location, Toast.LENGTH_LONG)
- .show();
- }
-
- @Override
- public boolean onMyLocationButtonClick() {
- Toast.makeText(this, "MyLocation button clicked", Toast.LENGTH_SHORT)
- .show();
- // Return false so that we don't consume the event and the default behavior still occurs
- // (the camera animates to the user's current position).
- return false;
- }
-}
diff --git a/snippets/app/src/main/java/com/google/maps/example/OnPoiClickDemoActivity.java b/snippets/app/src/main/java/com/google/maps/example/OnPoiClickDemoActivity.java
deleted file mode 100644
index 627062445..000000000
--- a/snippets/app/src/main/java/com/google/maps/example/OnPoiClickDemoActivity.java
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright 2020 Google LLC
-//
-// 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.example;
-
-import android.os.Bundle;
-import android.widget.Toast;
-
-import androidx.appcompat.app.AppCompatActivity;
-
-import com.google.android.gms.maps.GoogleMap;
-import com.google.android.gms.maps.OnMapReadyCallback;
-import com.google.android.gms.maps.SupportMapFragment;
-import com.google.android.gms.maps.model.PointOfInterest;
-
-// [START maps_android_on_poi_click_demo]
-class OnPoiClickDemoActivity extends AppCompatActivity implements
- OnMapReadyCallback, GoogleMap.OnPoiClickListener {
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.poi_click_demo);
- SupportMapFragment mapFragment;
- mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
- mapFragment.getMapAsync(this);
- }
-
- @Override
- public void onMapReady(GoogleMap map) {
- map.setOnPoiClickListener(this);
- }
-
- @Override
- public void onPoiClick(PointOfInterest poi) {
- Toast.makeText(this, "Clicked: " +
- poi.name + "\nPlace ID:" + poi.placeId +
- "\nLatitude:" + poi.latLng.latitude +
- " Longitude:" + poi.latLng.longitude,
- Toast.LENGTH_SHORT).show();
- }
-}
-// [END maps_android_on_poi_click_demo]
diff --git a/snippets/app/src/main/java/com/google/maps/example/PolylineCustomizationActivity.java b/snippets/app/src/main/java/com/google/maps/example/PolylineCustomizationActivity.java
deleted file mode 100644
index 041ffb44f..000000000
--- a/snippets/app/src/main/java/com/google/maps/example/PolylineCustomizationActivity.java
+++ /dev/null
@@ -1,62 +0,0 @@
-// Copyright 2024 Google LLC
-//
-// 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.example;
-
-import android.graphics.Color;
-
-import androidx.appcompat.app.AppCompatActivity;
-
-import com.google.android.gms.maps.GoogleMap;
-import com.google.android.gms.maps.model.BitmapDescriptorFactory;
-import com.google.android.gms.maps.model.LatLng;
-import com.google.android.gms.maps.model.Polyline;
-import com.google.android.gms.maps.model.PolylineOptions;
-import com.google.android.gms.maps.model.StampStyle;
-import com.google.android.gms.maps.model.StrokeStyle;
-import com.google.android.gms.maps.model.StyleSpan;
-import com.google.android.gms.maps.model.TextureStyle;
-
-public class PolylineCustomizationActivity extends AppCompatActivity {
-
- private GoogleMap map;
-
- private void multicoloredPolyline() {
- // [START maps_android_polyline_multicolored]
- Polyline line = map.addPolyline(new PolylineOptions()
- .add(new LatLng(47.6677146,-122.3470447), new LatLng(47.6442757,-122.2814693))
- .addSpan(new StyleSpan(Color.RED))
- .addSpan(new StyleSpan(Color.GREEN)));
- // [END maps_android_polyline_multicolored]
- }
-
- private void multicoloredGradientPolyline() {
- // [START maps_android_polyline_gradient]
- Polyline line = map.addPolyline(new PolylineOptions()
- .add(new LatLng(47.6677146,-122.3470447), new LatLng(47.6442757,-122.2814693))
- .addSpan(new StyleSpan(StrokeStyle.gradientBuilder(Color.RED, Color.YELLOW).build())));
- // [END maps_android_polyline_gradient]
- }
-
- private void stampedPolyline() {
- // [START maps_android_polyline_stamped]
- StampStyle stampStyle =
- TextureStyle.newBuilder(BitmapDescriptorFactory.fromResource(R.drawable.walking_dot)).build();
- StyleSpan span = new StyleSpan(StrokeStyle.colorBuilder(Color.RED).stamp(stampStyle).build());
- map.addPolyline(new PolylineOptions()
- .add(new LatLng(47.6677146,-122.3470447), new LatLng(47.6442757,-122.2814693))
- .addSpan(span));
- // [END maps_android_polyline_stamped]
- }
-}
diff --git a/snippets/app/src/main/java/com/google/maps/example/Shapes.java b/snippets/app/src/main/java/com/google/maps/example/Shapes.java
deleted file mode 100644
index 041c34ecd..000000000
--- a/snippets/app/src/main/java/com/google/maps/example/Shapes.java
+++ /dev/null
@@ -1,185 +0,0 @@
-// Copyright 2020 Google LLC
-//
-// 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.example;
-
-import android.graphics.Color;
-
-import com.google.android.gms.maps.GoogleMap;
-import com.google.android.gms.maps.model.BitmapDescriptorFactory;
-import com.google.android.gms.maps.model.Circle;
-import com.google.android.gms.maps.model.CircleOptions;
-import com.google.android.gms.maps.model.CustomCap;
-import com.google.android.gms.maps.model.Dash;
-import com.google.android.gms.maps.model.Dot;
-import com.google.android.gms.maps.model.Gap;
-import com.google.android.gms.maps.model.JointType;
-import com.google.android.gms.maps.model.LatLng;
-import com.google.android.gms.maps.model.PatternItem;
-import com.google.android.gms.maps.model.Polygon;
-import com.google.android.gms.maps.model.PolygonOptions;
-import com.google.android.gms.maps.model.Polyline;
-import com.google.android.gms.maps.model.PolylineOptions;
-import com.google.android.gms.maps.model.RoundCap;
-
-import java.util.Arrays;
-import java.util.List;
-
-class Shapes {
- private GoogleMap map;
-
- private void polylines() {
- // [START maps_android_shapes_polylines_polylineoptions]
- // Instantiates a new Polyline object and adds points to define a rectangle
- PolylineOptions polylineOptions = new PolylineOptions()
- .add(new LatLng(37.35, -122.0))
- .add(new LatLng(37.45, -122.0)) // North of the previous point, but at the same longitude
- .add(new LatLng(37.45, -122.2)) // Same latitude, and 30km to the west
- .add(new LatLng(37.35, -122.2)) // Same longitude, and 16km to the south
- .add(new LatLng(37.35, -122.0)); // Closes the polyline.
-
- // Get back the mutable Polyline
- Polyline polyline = map.addPolyline(polylineOptions);
- // [END maps_android_shapes_polylines_polylineoptions]
- }
-
- private void polygons() {
- // [START maps_android_shapes_polygons_polygonoptions]
- // Instantiates a new Polygon object and adds points to define a rectangle
- PolygonOptions polygonOptions = new PolygonOptions()
- .add(new LatLng(37.35, -122.0),
- new LatLng(37.45, -122.0),
- new LatLng(37.45, -122.2),
- new LatLng(37.35, -122.2),
- new LatLng(37.35, -122.0));
-
- // Get back the mutable Polygon
- Polygon polygon = map.addPolygon(polygonOptions);
- // [END maps_android_shapes_polygons_polygonoptions]
- }
-
- private void polygonAutocompletion() {
- // [START maps_android_shapes_polygons_autocompletion]
- Polygon polygon1 = map.addPolygon(new PolygonOptions()
- .add(new LatLng(0, 0),
- new LatLng(0, 5),
- new LatLng(3, 5),
- new LatLng(0, 0))
- .strokeColor(Color.RED)
- .fillColor(Color.BLUE));
-
- Polygon polygon2 = map.addPolygon(new PolygonOptions()
- .add(new LatLng(0, 0),
- new LatLng(0, 5),
- new LatLng(3, 5))
- .strokeColor(Color.RED)
- .fillColor(Color.BLUE));
- // [END maps_android_shapes_polygons_autocompletion]
- }
-
- private void polygonHollow() {
- // [START maps_android_shapes_polygons_hollow]
- List hole = Arrays.asList(new LatLng(1, 1),
- new LatLng(1, 2),
- new LatLng(2, 2),
- new LatLng(2, 1),
- new LatLng(1, 1));
- Polygon hollowPolygon = map.addPolygon(new PolygonOptions()
- .add(new LatLng(0, 0),
- new LatLng(0, 5),
- new LatLng(3, 5),
- new LatLng(3, 0),
- new LatLng(0, 0))
- .addHole(hole)
- .fillColor(Color.BLUE));
- // [END maps_android_shapes_polygons_hollow]
- }
-
- private void circles() {
- // [START maps_android_shapes_circles_circleoptions]
- // Instantiates a new CircleOptions object and defines the center and radius
- CircleOptions circleOptions = new CircleOptions()
- .center(new LatLng(37.4, -122.1))
- .radius(1000); // In meters
-
- // Get back the mutable Circle
- Circle circle = map.addCircle(circleOptions);
- // [END maps_android_shapes_circles_circleoptions]
- }
-
- private void circlesEvents() {
- // [START maps_android_shapes_circles_events]
- Circle circle = map.addCircle(new CircleOptions()
- .center(new LatLng(37.4, -122.1))
- .radius(1000)
- .strokeWidth(10)
- .strokeColor(Color.GREEN)
- .fillColor(Color.argb(128, 255, 0, 0))
- .clickable(true));
-
- map.setOnCircleClickListener(new GoogleMap.OnCircleClickListener() {
- @Override
- public void onCircleClick(Circle circle) {
- // Flip the r, g and b components of the circle's stroke color.
- int strokeColor = circle.getStrokeColor() ^ 0x00ffffff;
- circle.setStrokeColor(strokeColor);
- }
- });
- // [END maps_android_shapes_circles_events]
- }
-
- private void customAppearances() {
- // [START maps_android_shapes_custom_appearances]
- Polyline polyline = map.addPolyline(new PolylineOptions()
- .add(new LatLng(-37.81319, 144.96298), new LatLng(-31.95285, 115.85734))
- .width(25)
- .color(Color.BLUE)
- .geodesic(true));
- // [END maps_android_shapes_custom_appearances]
-
- // [START maps_android_shapes_custom_appearances_stroke_pattern]
- List pattern = Arrays.asList(
- new Dot(), new Gap(20), new Dash(30), new Gap(20));
- polyline.setPattern(pattern);
- // [END maps_android_shapes_custom_appearances_stroke_pattern]
-
- // [START maps_android_shapes_custom_appearances_joint_type]
- polyline.setJointType(JointType.ROUND);
- // [END maps_android_shapes_custom_appearances_joint_type]
-
- // [START maps_android_shapes_custom_appearances_start_cap]
- polyline.setStartCap(new RoundCap());
- // [END maps_android_shapes_custom_appearances_start_cap]
-
- // [START maps_android_shapes_custom_appearances_end_cap]
- polyline.setEndCap(
- new CustomCap(BitmapDescriptorFactory.fromResource(R.drawable.arrow), 16));
- // [END maps_android_shapes_custom_appearances_end_cap]
- }
-
- private void associateData() {
- // [START maps_android_shapes_associate_data]
- Polyline polyline = map.addPolyline((new PolylineOptions())
- .clickable(true)
- .add(new LatLng(-35.016, 143.321),
- new LatLng(-34.747, 145.592),
- new LatLng(-34.364, 147.891),
- new LatLng(-33.501, 150.217),
- new LatLng(-32.306, 149.248),
- new LatLng(-32.491, 147.309)));
-
- polyline.setTag("A");
- // [END maps_android_shapes_associate_data]
- }
-}
diff --git a/snippets/app/src/main/java/com/google/maps/example/TileOverlays.java b/snippets/app/src/main/java/com/google/maps/example/TileOverlays.java
deleted file mode 100644
index 00ae4b574..000000000
--- a/snippets/app/src/main/java/com/google/maps/example/TileOverlays.java
+++ /dev/null
@@ -1,103 +0,0 @@
-// Copyright 2026 Google LLC
-//
-// 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.example;
-
-import com.google.android.gms.maps.GoogleMap;
-import com.google.android.gms.maps.OnMapReadyCallback;
-import com.google.android.gms.maps.model.TileOverlay;
-import com.google.android.gms.maps.model.TileOverlayOptions;
-import com.google.android.gms.maps.model.TileProvider;
-import com.google.android.gms.maps.model.UrlTileProvider;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Locale;
-
-class TileOverlays implements OnMapReadyCallback {
- // [START maps_android_tile_overlays_add]
- private GoogleMap map;
-
- TileProvider tileProvider = new UrlTileProvider(256, 256) {
-
- @Override
- public URL getTileUrl(int x, int y, int zoom) {
-
- /* Define the URL pattern for the tile images */
- String s = String.format(Locale.US, "http://my.image.server/images/%d/%d/%d.png", zoom, x, y);
-
- if (!checkTileExists(x, y, zoom)) {
- return null;
- }
-
- try {
- return new URL(s);
- } catch (MalformedURLException e) {
- throw new AssertionError(e);
- }
- }
-
- /*
- * Check that the tile server supports the requested x, y and zoom.
- * Complete this stub according to the tile range you support.
- * If you support a limited range of tiles at different zoom levels, then you
- * need to define the supported x, y range at each zoom level.
- */
- private boolean checkTileExists(int x, int y, int zoom) {
- int minZoom = 12;
- int maxZoom = 16;
-
- return (zoom >= minZoom && zoom <= maxZoom);
- }
- };
-
- TileOverlay tileOverlay = map.addTileOverlay(new TileOverlayOptions()
- .tileProvider(tileProvider));
- // [END maps_android_tile_overlays_add]
-
- // [START maps_android_tile_overlays_transparency]
- private TileOverlay tileOverlayTransparent;
-
- @Override
- public void onMapReady(GoogleMap map) {
- tileOverlayTransparent = map.addTileOverlay(new TileOverlayOptions()
- .tileProvider(new UrlTileProvider(256, 256) {
- // [START_EXCLUDE]
- @Override
- public URL getTileUrl(int i, int i1, int i2) {
- return null;
- }
- // [END_EXCLUDE]
- })
- .transparency(0.5f));
- }
-
- // Switch between 0.0f and 0.5f transparency.
- public void toggleTileOverlayTransparency() {
- if (tileOverlayTransparent != null) {
- tileOverlayTransparent.setTransparency(0.5f - tileOverlayTransparent.getTransparency());
- }
- }
- // [END maps_android_tile_overlays_transparency]
-
- private void removeAndClearCache() {
- // [START maps_android_tile_overlays_remove]
- tileOverlay.remove();
- // [END maps_android_tile_overlays_remove]
-
- // [START maps_android_tile_overlays_clear_tile_cache]
- tileOverlay.clearTileCache();
- // [END maps_android_tile_overlays_clear_tile_cache]
- }
-}
diff --git a/snippets/app/src/main/java/com/google/maps/example/kotlin/AdvancedMarkersCollisionActivity.kt b/snippets/app/src/main/java/com/google/maps/example/kotlin/AdvancedMarkersCollisionActivity.kt
deleted file mode 100644
index ef8cc42f0..000000000
--- a/snippets/app/src/main/java/com/google/maps/example/kotlin/AdvancedMarkersCollisionActivity.kt
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright 2024 Google LLC
-//
-// 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.example.kotlin
-
-import android.os.Bundle
-import androidx.appcompat.app.AppCompatActivity
-import com.google.android.gms.maps.GoogleMap
-import com.google.android.gms.maps.model.AdvancedMarkerOptions
-import com.google.android.gms.maps.model.AdvancedMarkerOptions.CollisionBehavior
-import com.google.android.gms.maps.model.LatLng
-import com.google.android.gms.maps.model.Marker
-
-
-class AdvancedMarkersCollisionActivity : AppCompatActivity() {
-
- private lateinit var map: GoogleMap
-
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- // [START maps_android_marker_collision]
- // Collision behavior can only be changed in the AdvancedMarkerOptions object.
- // Changes to collision behavior after a marker has been created are not possible
- val collisionBehavior: Int = CollisionBehavior.REQUIRED_AND_HIDES_OPTIONAL
- val advancedMarkerOptions: AdvancedMarkerOptions = AdvancedMarkerOptions()
- .position(LatLng(10.0, 10.0))
- .collisionBehavior(collisionBehavior)
-
- val marker: Marker = map.addMarker(advancedMarkerOptions) ?: error("Failed to add marker")
- // [END maps_android_marker_collision]
- }
-}
\ No newline at end of file
diff --git a/snippets/app/src/main/java/com/google/maps/example/kotlin/CameraAndView.kt b/snippets/app/src/main/java/com/google/maps/example/kotlin/CameraAndView.kt
deleted file mode 100644
index cdec90a60..000000000
--- a/snippets/app/src/main/java/com/google/maps/example/kotlin/CameraAndView.kt
+++ /dev/null
@@ -1,94 +0,0 @@
-// Copyright 2020 Google LLC
-//
-// 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.example.kotlin
-
-import com.google.android.gms.maps.CameraUpdateFactory
-import com.google.android.gms.maps.GoogleMap
-import com.google.android.gms.maps.model.CameraPosition
-import com.google.android.gms.maps.model.LatLng
-import com.google.android.gms.maps.model.LatLngBounds
-
-internal class CameraAndView {
- // [START maps_android_camera_and_view_zoom_level]
- private lateinit var map: GoogleMap
-
- // [START_EXCLUDE silent]
- private fun zoomLevel() {
- // [END_EXCLUDE]
- map.setMinZoomPreference(6.0f)
- map.setMaxZoomPreference(14.0f)
- // [START_EXCLUDE silent]
- }
- // [END_EXCLUDE]
- // [END maps_android_camera_and_view_zoom_level]
-
- private fun settingBoundaries() {
- // [START maps_android_camera_and_view_setting_boundaries]
- val australiaBounds = LatLngBounds(
- LatLng((-44.0), 113.0), // SW bounds
- LatLng((-10.0), 154.0) // NE bounds
- )
- map.moveCamera(CameraUpdateFactory.newLatLngBounds(australiaBounds, 0))
- // [END maps_android_camera_and_view_setting_boundaries]
- }
-
- private fun centeringMapWithinAnArea() {
- // [START maps_android_camera_and_view_centering_within_area]
- val australiaBounds = LatLngBounds(
- LatLng((-44.0), 113.0), // SW bounds
- LatLng((-10.0), 154.0) // NE bounds
- )
- map.moveCamera(CameraUpdateFactory.newLatLngZoom(australiaBounds.center, 10f))
- // [END maps_android_camera_and_view_centering_within_area]
- }
-
- private fun panningRestrictions() {
- // [START maps_android_camera_and_view_panning_restrictions]
- // Create a LatLngBounds that includes the city of Adelaide in Australia.
- val adelaideBounds = LatLngBounds(
- LatLng(-35.0, 138.58), // SW bounds
- LatLng(-34.9, 138.61) // NE bounds
- )
-
- // Constrain the camera target to the Adelaide bounds.
- map.setLatLngBoundsForCameraTarget(adelaideBounds)
- // [END maps_android_camera_and_view_panning_restrictions]
- }
-
- private fun commonMapMovements() {
- // [START maps_android_camera_and_view_common_map_movements]
- val sydney = LatLng(-33.88, 151.21)
- val mountainView = LatLng(37.4, -122.1)
-
- // Move the camera instantly to Sydney with a zoom of 15.
- map.moveCamera(CameraUpdateFactory.newLatLngZoom(sydney, 15f))
-
- // Zoom in, animating the camera.
- map.animateCamera(CameraUpdateFactory.zoomIn())
-
- // Zoom out to zoom level 10, animating with a duration of 2 seconds.
- map.animateCamera(CameraUpdateFactory.zoomTo(10f), 2000, null)
-
- // Construct a CameraPosition focusing on Mountain View and animate the camera to that position.
- val cameraPosition = CameraPosition.Builder()
- .target(mountainView) // Sets the center of the map to Mountain View
- .zoom(17f) // Sets the zoom
- .bearing(90f) // Sets the orientation of the camera to east
- .tilt(30f) // Sets the tilt of the camera to 30 degrees
- .build() // Creates a CameraPosition from the builder
- map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition))
- // [END maps_android_camera_and_view_common_map_movements]
- }
-}
\ No newline at end of file
diff --git a/snippets/app/src/main/java/com/google/maps/example/kotlin/CloudBasedMapStylingActivity.kt b/snippets/app/src/main/java/com/google/maps/example/kotlin/CloudBasedMapStylingActivity.kt
deleted file mode 100644
index ffece1959..000000000
--- a/snippets/app/src/main/java/com/google/maps/example/kotlin/CloudBasedMapStylingActivity.kt
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2024 Google LLC
-//
-// 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.example.kotlin
-
-import android.os.Bundle
-import androidx.appcompat.app.AppCompatActivity
-import com.google.android.gms.maps.GoogleMapOptions
-import com.google.android.gms.maps.MapFragment
-import com.google.maps.example.R
-
-class CloudBasedMapStylingActivity : AppCompatActivity() {
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- // [START maps_android_cloud_based_map_styling]
- val mapFragment = MapFragment.newInstance(
- GoogleMapOptions()
- .mapId(resources.getString(R.string.map_id))
- )
- // [END maps_android_cloud_based_map_styling]
- }
-}
diff --git a/snippets/app/src/main/java/com/google/maps/example/kotlin/EventsActivity.kt b/snippets/app/src/main/java/com/google/maps/example/kotlin/EventsActivity.kt
deleted file mode 100644
index 7a2dddf5c..000000000
--- a/snippets/app/src/main/java/com/google/maps/example/kotlin/EventsActivity.kt
+++ /dev/null
@@ -1,56 +0,0 @@
-// Copyright 2020 Google LLC
-//
-// 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.example.kotlin
-
-import android.os.Bundle
-import androidx.appcompat.app.AppCompatActivity
-import com.google.android.gms.maps.GoogleMap
-import com.google.android.gms.maps.MapView
-import com.google.android.gms.maps.SupportMapFragment
-import com.google.android.gms.maps.model.IndoorBuilding
-import com.google.maps.example.R
-
-internal class EventsActivity : AppCompatActivity() {
- private lateinit var map: GoogleMap
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(R.layout.activity_events)
- }
-
- private fun mapViewDisableClickEvent() {
- // [START maps_android_events_disable_clicks_mapview]
- val mapView = findViewById(R.id.mapView)
- mapView.isClickable = false
- // [END maps_android_events_disable_clicks_mapview]
- }
-
- private fun mapFragmentDisableClickEvent() {
- // [START maps_android_events_disable_clicks_mapfragment]
- val mapFragment = supportFragmentManager
- .findFragmentById(R.id.map) as SupportMapFragment
- val view = mapFragment.view
- view?.isClickable = false
- // [END maps_android_events_disable_clicks_mapfragment]
- }
-
- private fun focusedBuilding() {
- // [START maps_android_events_active_level]
- map.focusedBuilding?.let { building: IndoorBuilding ->
- val activeLevelIndex = building.activeLevelIndex
- val activeLevel = building.levels[activeLevelIndex]
- }
- // [END maps_android_events_active_level]
- }
-}
diff --git a/snippets/app/src/main/java/com/google/maps/example/kotlin/GroundOverlays.kt b/snippets/app/src/main/java/com/google/maps/example/kotlin/GroundOverlays.kt
deleted file mode 100644
index 2a8f94c10..000000000
--- a/snippets/app/src/main/java/com/google/maps/example/kotlin/GroundOverlays.kt
+++ /dev/null
@@ -1,83 +0,0 @@
-// Copyright 2020 Google LLC
-//
-// 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.example.kotlin
-
-import com.google.android.gms.maps.GoogleMap
-import com.google.android.gms.maps.model.BitmapDescriptorFactory
-import com.google.android.gms.maps.model.GroundOverlayOptions
-import com.google.android.gms.maps.model.LatLng
-import com.google.android.gms.maps.model.LatLngBounds
-import com.google.maps.example.R
-
-internal class GroundOverlays {
-
- private lateinit var map: GoogleMap
-
- private fun groundOverlays() {
- // [START maps_android_ground_overlays_add]
- val newarkLatLng = LatLng(40.714086, -74.228697)
- val newarkMap = GroundOverlayOptions()
- .image(BitmapDescriptorFactory.fromResource(R.drawable.newark_nj_1922))
- .position(newarkLatLng, 8600f, 6500f)
- map.addGroundOverlay(newarkMap)
- // [END maps_android_ground_overlays_add]
-
- // [START maps_android_ground_overlays_retain]
- // Add an overlay to the map, retaining a handle to the GroundOverlay object.
- val imageOverlay = map.addGroundOverlay(newarkMap)
- // [END maps_android_ground_overlays_retain]
-
- // [START maps_android_ground_overlays_remove]
- imageOverlay?.remove()
- // [END maps_android_ground_overlays_remove]
-
- // [START maps_android_ground_overlays_change_image]
- // Update the GroundOverlay with a new image of the same dimension
- imageOverlay?.setImage(BitmapDescriptorFactory.fromResource(R.drawable.newark_nj_1922))
- // [END maps_android_ground_overlays_change_image]
-
-
- // [START maps_android_ground_overlays_associate_data]
- val sydneyGroundOverlay = map.addGroundOverlay(
- GroundOverlayOptions()
- .image(BitmapDescriptorFactory.fromResource(R.drawable.harbour_bridge))
- .position(LatLng(-33.873, 151.206), 100f)
- .clickable(true)
- )
- sydneyGroundOverlay?.tag = "Sydney"
- // [END maps_android_ground_overlays_associate_data]
- }
-
- private fun positionImageLocation() {
- // [START maps_android_ground_overlays_position_image_location]
- val newarkMap = GroundOverlayOptions()
- .image(BitmapDescriptorFactory.fromResource(R.drawable.newark_nj_1922))
- .anchor(0f, 1f)
- .position(LatLng(40.714086, -74.228697), 8600f, 6500f)
- // [END maps_android_ground_overlays_position_image_location]
- }
-
- private fun positionImageBounds() {
- // [START maps_android_ground_overlays_position_image_bounds]
- val newarkBounds = LatLngBounds(
- LatLng(40.712216, -74.22655), // South west corner
- LatLng(40.773941, -74.12544) // North east corner
- )
- val newarkMap = GroundOverlayOptions()
- .image(BitmapDescriptorFactory.fromResource(R.drawable.newark_nj_1922))
- .positionFromBounds(newarkBounds)
- // [END maps_android_ground_overlays_position_image_bounds]
- }
-}
diff --git a/snippets/app/src/main/java/com/google/maps/example/kotlin/InfoWindows.kt b/snippets/app/src/main/java/com/google/maps/example/kotlin/InfoWindows.kt
deleted file mode 100644
index 2681c0871..000000000
--- a/snippets/app/src/main/java/com/google/maps/example/kotlin/InfoWindows.kt
+++ /dev/null
@@ -1,72 +0,0 @@
-// Copyright 2020 Google LLC
-//
-// 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.example.kotlin
-
-import android.widget.Toast
-import androidx.appcompat.app.AppCompatActivity
-import com.google.android.gms.maps.GoogleMap
-import com.google.android.gms.maps.GoogleMap.OnInfoWindowClickListener
-import com.google.android.gms.maps.OnMapReadyCallback
-import com.google.android.gms.maps.model.LatLng
-import com.google.android.gms.maps.model.Marker
-import com.google.android.gms.maps.model.MarkerOptions
-
-internal class InfoWindows {
- private lateinit var map: GoogleMap
-
- private fun addInfoWindow() {
- // [START maps_android_info_windows_add]
- val melbourneLatLng = LatLng(-37.81319, 144.96298)
- val melbourne = map.addMarker(
- MarkerOptions()
- .position(melbourneLatLng)
- .title("Melbourne")
- .snippet("Population: 4,137,400")
- )
- // [END maps_android_info_windows_add]
- }
-
- private fun showHideInfoWindow() {
- // [START maps_android_info_windows_show_hide]
- val melbourneLatLng = LatLng(-37.81319, 144.96298)
- val melbourne = map.addMarker(
- MarkerOptions()
- .position(melbourneLatLng)
- .title("Melbourne")
- )
- melbourne?.showInfoWindow()
- // [END maps_android_info_windows_show_hide]
- }
-
- // [START maps_android_info_windows_click_listener]
- internal inner class InfoWindowActivity : AppCompatActivity(),
- OnInfoWindowClickListener,
- OnMapReadyCallback {
- override fun onMapReady(googleMap: GoogleMap) {
- // Add markers to the map and do other map setup.
- // ...
- // Set a listener for info window events.
- googleMap.setOnInfoWindowClickListener(this)
- }
-
- override fun onInfoWindowClick(marker: Marker) {
- Toast.makeText(
- this, "Info window clicked",
- Toast.LENGTH_SHORT
- ).show()
- }
- }
- // [END maps_android_info_windows_click_listener]
-}
diff --git a/snippets/app/src/main/java/com/google/maps/example/kotlin/LiteMode.kt b/snippets/app/src/main/java/com/google/maps/example/kotlin/LiteMode.kt
deleted file mode 100644
index 4114562ab..000000000
--- a/snippets/app/src/main/java/com/google/maps/example/kotlin/LiteMode.kt
+++ /dev/null
@@ -1,24 +0,0 @@
-// Copyright 2020 Google LLC
-//
-// 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.example.kotlin
-
-import com.google.android.gms.maps.GoogleMapOptions
-
-private fun liteMode() {
- // [START maps_android_lite_mode_options]
- val options = GoogleMapOptions()
- .liteMode(true)
- // [END maps_android_lite_mode_options]
-}
diff --git a/snippets/app/src/main/java/com/google/maps/example/kotlin/MapId.kt b/snippets/app/src/main/java/com/google/maps/example/kotlin/MapId.kt
deleted file mode 100644
index ae10c2fcf..000000000
--- a/snippets/app/src/main/java/com/google/maps/example/kotlin/MapId.kt
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright 2023 Google LLC
- *
- * 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.example.kotlin
-
-import android.content.Context
-import com.google.android.gms.maps.GoogleMapOptions
-import com.google.android.gms.maps.MapView
-import com.google.android.gms.maps.SupportMapFragment
-
-internal class MapId {
- private fun fragment() {
- // [START maps_android_support_map_fragment_map_id]
- val options = GoogleMapOptions()
- .mapId("YOUR_MAP_ID")
- val mapFragment = SupportMapFragment.newInstance(options)
- // [END maps_android_support_map_fragment_map_id]
- }
-
- private fun mapView(context: Context) {
- // [START maps_android_mapview_map_id]
- val options = GoogleMapOptions()
- .mapId("YOUR_MAP_ID")
- val mapView = MapView(context, options)
- // [END maps_android_mapview_map_id]
- }
-}
\ No newline at end of file
diff --git a/snippets/app/src/main/java/com/google/maps/example/kotlin/MapRendererOptInApplication.kt b/snippets/app/src/main/java/com/google/maps/example/kotlin/MapRendererOptInApplication.kt
deleted file mode 100644
index f9c6795fa..000000000
--- a/snippets/app/src/main/java/com/google/maps/example/kotlin/MapRendererOptInApplication.kt
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// 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.example.kotlin
-
-import android.app.Application
-import android.util.Log
-// [START maps_android_renderer_opt_in]
-import com.google.android.gms.maps.MapsInitializer
-import com.google.android.gms.maps.MapsInitializer.Renderer
-import com.google.android.gms.maps.OnMapsSdkInitializedCallback
-
-internal class MapRendererOptInApplication : Application(), OnMapsSdkInitializedCallback {
- override fun onCreate() {
- super.onCreate()
- MapsInitializer.initialize(applicationContext, Renderer.LATEST, this)
- }
-
- override fun onMapsSdkInitialized(renderer: MapsInitializer.Renderer) {
- when (renderer) {
- Renderer.LATEST -> Log.d("MapsDemo", "The latest version of the renderer is used.")
- Renderer.LEGACY -> Log.d("MapsDemo", "The legacy version of the renderer is used.")
- }
- }
-}
-// [END maps_android_renderer_opt_in]
diff --git a/snippets/app/src/main/java/com/google/maps/example/kotlin/MapsActivity.kt b/snippets/app/src/main/java/com/google/maps/example/kotlin/MapsActivity.kt
deleted file mode 100644
index 339970e28..000000000
--- a/snippets/app/src/main/java/com/google/maps/example/kotlin/MapsActivity.kt
+++ /dev/null
@@ -1,64 +0,0 @@
-// Copyright 2020 Google LLC
-//
-// 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.example.kotlin
-
-//[START maps_android_mapsactivity]
-import androidx.appcompat.app.AppCompatActivity
-import android.os.Bundle
-
-import com.google.android.gms.maps.CameraUpdateFactory
-import com.google.android.gms.maps.GoogleMap
-import com.google.android.gms.maps.OnMapReadyCallback
-import com.google.android.gms.maps.SupportMapFragment
-import com.google.android.gms.maps.model.LatLng
-import com.google.android.gms.maps.model.MarkerOptions
-// [START_EXCLUDE silent]
-import com.google.maps.example.R
-// [END_EXCLUDE]
-
-internal class MapsActivity : AppCompatActivity(), OnMapReadyCallback {
-
- private lateinit var mMap: GoogleMap
-
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(R.layout.activity_maps)
- // Obtain the SupportMapFragment and get notified when the map is ready to be used.
- val mapFragment = supportFragmentManager
- .findFragmentById(R.id.map) as SupportMapFragment
- mapFragment.getMapAsync(this)
- }
-
- /**
- * Manipulates the map once available.
- * This callback is triggered when the map is ready to be used.
- * This is where we can add markers or lines, add listeners or move the camera. In this case,
- * we just add a marker near Sydney, Australia.
- * If Google Play services is not installed on the device, the user will be prompted to install
- * it inside the SupportMapFragment. This method will only be triggered once the user has
- * installed Google Play services and returned to the app.
- */
- override fun onMapReady(googleMap: GoogleMap) {
- mMap = googleMap
-
- // Add a marker in Sydney and move the camera
- val sydney = LatLng(-34.0, 151.0)
- mMap.addMarker(MarkerOptions()
- .position(sydney)
- .title("Marker in Sydney"))
- mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney))
- }
-}
-//[END maps_android_mapsactivity]
diff --git a/snippets/app/src/main/java/com/google/maps/example/kotlin/MapsObject.kt b/snippets/app/src/main/java/com/google/maps/example/kotlin/MapsObject.kt
deleted file mode 100644
index 421aa0519..000000000
--- a/snippets/app/src/main/java/com/google/maps/example/kotlin/MapsObject.kt
+++ /dev/null
@@ -1,89 +0,0 @@
-// Copyright 2020 Google LLC
-//
-// 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.example.kotlin
-
-import android.os.Bundle
-import androidx.appcompat.app.AppCompatActivity
-import com.google.android.gms.maps.GoogleMap
-import com.google.android.gms.maps.GoogleMapOptions
-import com.google.android.gms.maps.OnMapReadyCallback
-import com.google.android.gms.maps.SupportMapFragment
-import com.google.android.gms.maps.model.LatLng
-import com.google.android.gms.maps.model.MarkerOptions
-import com.google.maps.example.R
-
-internal class MapsObject : AppCompatActivity() {
- // [START maps_android_on_create_set_content_view]
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(R.layout.main)
- }
- // [END maps_android_on_create_set_content_view]
-
- private fun mapFragment() {
- // [START maps_android_map_fragment]
- val mapFragment = SupportMapFragment.newInstance()
- supportFragmentManager
- .beginTransaction()
- .add(R.id.my_container, mapFragment)
- .commit()
- // [END maps_android_map_fragment]
- }
-
- private fun mapType(map: GoogleMap) {
- // [START maps_android_map_type]
- // Sets the map type to be "hybrid"
- map.mapType = GoogleMap.MAP_TYPE_HYBRID
- // [END maps_android_map_type]
- }
-
- fun googleMapOptions() {
- // [START maps_android_google_map_options]
- val options = GoogleMapOptions()
- // [END maps_android_google_map_options]
-
- // [START maps_android_google_map_options_configure]
- options.mapType(GoogleMap.MAP_TYPE_SATELLITE)
- .compassEnabled(false)
- .rotateGesturesEnabled(false)
- .tiltGesturesEnabled(false)
- // [END maps_android_google_map_options_configure]
- }
-}
-
-// [START maps_android_on_map_ready_callback]
-class MainActivity : AppCompatActivity(), OnMapReadyCallback {
-
- // [START_EXCLUDE]
- // [START maps_android_on_map_ready_add_marker]
- override fun onMapReady(googleMap: GoogleMap) {
- googleMap.addMarker(
- MarkerOptions()
- .position(LatLng(0.0, 0.0))
- .title("Marker")
- )
- }
- // [END maps_android_on_map_ready_add_marker]
-
- private fun getMapAsync() {
- // [START maps_android_get_map_async]
- val mapFragment = supportFragmentManager
- .findFragmentById(R.id.map) as SupportMapFragment
- mapFragment.getMapAsync(this)
- // [END maps_android_get_map_async]
- }
- // [END_EXCLUDE]
-}
-// [END maps_android_on_map_ready_callback]
diff --git a/snippets/app/src/main/java/com/google/maps/example/kotlin/Markers.kt b/snippets/app/src/main/java/com/google/maps/example/kotlin/Markers.kt
deleted file mode 100644
index 53c241bb6..000000000
--- a/snippets/app/src/main/java/com/google/maps/example/kotlin/Markers.kt
+++ /dev/null
@@ -1,208 +0,0 @@
-// Copyright 2020 Google LLC
-//
-// 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.example.kotlin
-
-import android.os.Bundle
-import android.widget.Toast
-import androidx.appcompat.app.AppCompatActivity
-import com.google.android.gms.maps.CameraUpdateFactory
-import com.google.android.gms.maps.GoogleMap
-import com.google.android.gms.maps.GoogleMap.OnMarkerClickListener
-import com.google.android.gms.maps.OnMapReadyCallback
-import com.google.android.gms.maps.SupportMapFragment
-import com.google.android.gms.maps.model.BitmapDescriptorFactory
-import com.google.android.gms.maps.model.LatLng
-import com.google.android.gms.maps.model.Marker
-import com.google.android.gms.maps.model.MarkerOptions
-import com.google.maps.example.R
-
-internal class Markers : OnMapReadyCallback {
- // [START maps_android_markers_add_a_marker]
- override fun onMapReady(googleMap: GoogleMap) {
- // Add a marker in Sydney, Australia,
- // and move the map's camera to the same location.
- val sydney = LatLng(-33.852, 151.211)
- googleMap.addMarker(
- MarkerOptions()
- .position(sydney)
- .title("Marker in Sydney")
- )
- googleMap.moveCamera(CameraUpdateFactory.newLatLng(sydney))
- }
- // [END maps_android_markers_add_a_marker]
-
- private fun markerDraggable(map: GoogleMap) {
- // [START maps_android_markers_draggable]
- val perthLocation = LatLng(-31.90, 115.86)
- val perth = map.addMarker(
- MarkerOptions()
- .position(perthLocation)
- .draggable(true)
- )
- // [END maps_android_markers_draggable]
- }
-
- private fun defaultIcon(map: GoogleMap) {
- // [START maps_android_markers_default_icon]
- val melbourneLocation = LatLng(-37.813, 144.962)
- val melbourne = map.addMarker(
- MarkerOptions()
- .position(melbourneLocation)
- )
- // [END maps_android_markers_default_icon]
- }
-
- private fun customMarkerColor(map: GoogleMap) {
- // [START maps_android_markers_custom_marker_color]
- val melbourneLocation = LatLng(-37.813, 144.962)
- val melbourne = map.addMarker(
- MarkerOptions()
- .position(melbourneLocation)
- .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE))
- )
- // [END maps_android_markers_custom_marker_color]
- }
-
- private fun markerOpacity(map: GoogleMap) {
- // [START maps_android_markers_opacity]
- val melbourneLocation = LatLng(-37.813, 144.962)
- val melbourne = map.addMarker(
- MarkerOptions()
- .position(melbourneLocation)
- .alpha(0.7f)
- )
- // [END maps_android_markers_opacity]
- }
-
- private fun markerImage(map: GoogleMap) {
- // [START maps_android_markers_image]
- val melbourneLocation = LatLng(-37.813, 144.962)
- val melbourne = map.addMarker(
- MarkerOptions()
- .position(melbourneLocation)
- .title("Melbourne")
- .snippet("Population: 4,137,400")
- .icon(BitmapDescriptorFactory.fromResource(R.drawable.arrow))
- )
- // [END maps_android_markers_image]
- }
-
- private fun markerFlatten(map: GoogleMap) {
- // [START maps_android_markers_flatten]
- val perthLocation = LatLng(-31.90, 115.86)
- val perth = map.addMarker(
- MarkerOptions()
- .position(perthLocation)
- .flat(true)
- )
- // [END maps_android_markers_flatten]
- }
-
- private fun markerRotate(map: GoogleMap) {
- // [START maps_android_markers_rotate]
- val perthLocation = LatLng(-31.90, 115.86)
- val perth = map.addMarker(
- MarkerOptions()
- .position(perthLocation)
- .anchor(0.5f, 0.5f)
- .rotation(90.0f)
- )
- // [END maps_android_markers_rotate]
- }
-
- private fun markerZIndex(map: GoogleMap) {
- // [START maps_android_markers_z_index]
- map.addMarker(
- MarkerOptions()
- .position(LatLng(10.0, 10.0))
- .title("Marker z1")
- .zIndex(1.0f)
- )
- // [END maps_android_markers_z_index]
- }
-}
-
-// [START maps_android_markers_tag_sample]
-/**
- * A demo class that stores and retrieves data objects with each marker.
- */
-class MarkerDemoActivity : AppCompatActivity(),
- OnMarkerClickListener, OnMapReadyCallback {
- private val PERTH = LatLng(-31.952854, 115.857342)
- private val SYDNEY = LatLng(-33.87365, 151.20689)
- private val BRISBANE = LatLng(-27.47093, 153.0235)
-
- private var markerPerth: Marker? = null
- private var markerSydney: Marker? = null
- private var markerBrisbane: Marker? = null
-
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(R.layout.activity_markers)
- val mapFragment =
- supportFragmentManager.findFragmentById(R.id.map) as SupportMapFragment?
- mapFragment!!.getMapAsync(this)
- }
-
- /** Called when the map is ready. */
- override fun onMapReady(map: GoogleMap) {
- // Add some markers to the map, and add a data object to each marker.
- markerPerth = map.addMarker(
- MarkerOptions()
- .position(PERTH)
- .title("Perth")
- )
- markerPerth?.tag = 0
- markerSydney = map.addMarker(
- MarkerOptions()
- .position(SYDNEY)
- .title("Sydney")
- )
- markerSydney?.tag = 0
- markerBrisbane = map.addMarker(
- MarkerOptions()
- .position(BRISBANE)
- .title("Brisbane")
- )
- markerBrisbane?.tag = 0
-
- // Set a listener for marker click.
- map.setOnMarkerClickListener(this)
- }
-
- /** Called when the user clicks a marker. */
- override fun onMarkerClick(marker: Marker): Boolean {
-
- // Retrieve the data from the marker.
- val clickCount = marker.tag as? Int
-
- // Check if a click count was set, then display the click count.
- clickCount?.let {
- val newClickCount = it + 1
- marker.tag = newClickCount
- Toast.makeText(
- this,
- "${marker.title} has been clicked $newClickCount times.",
- Toast.LENGTH_SHORT
- ).show()
- }
-
- // Return false to indicate that we have not consumed the event and that we wish
- // for the default behavior to occur (which is for the camera to move such that the
- // marker is centered and for the marker's info window to open, if it has one).
- return false
- }
-}
-// [END maps_android_markers_tag_sample]
diff --git a/snippets/app/src/main/java/com/google/maps/example/kotlin/MyLocationLayerActivity.kt b/snippets/app/src/main/java/com/google/maps/example/kotlin/MyLocationLayerActivity.kt
deleted file mode 100644
index f3e1cbded..000000000
--- a/snippets/app/src/main/java/com/google/maps/example/kotlin/MyLocationLayerActivity.kt
+++ /dev/null
@@ -1,64 +0,0 @@
-// Copyright 2020 Google LLC
-//
-// 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.example.kotlin
-
-import android.annotation.SuppressLint
-import android.location.Location
-import android.os.Bundle
-import android.widget.Toast
-import androidx.appcompat.app.AppCompatActivity
-import com.google.android.gms.maps.GoogleMap
-import com.google.android.gms.maps.GoogleMap.OnMyLocationButtonClickListener
-import com.google.android.gms.maps.GoogleMap.OnMyLocationClickListener
-import com.google.android.gms.maps.OnMapReadyCallback
-import com.google.android.gms.maps.SupportMapFragment
-import com.google.maps.example.R
-
-internal class MyLocationLayerActivity : AppCompatActivity(),
- OnMyLocationButtonClickListener,
- OnMyLocationClickListener,
- OnMapReadyCallback {
-
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(R.layout.activity_my_location)
- val mapFragment =
- supportFragmentManager.findFragmentById(R.id.map) as SupportMapFragment
- mapFragment.getMapAsync(this)
- }
-
- @SuppressLint("MissingPermission")
- override fun onMapReady(map: GoogleMap) {
- // TODO: Before enabling the My Location layer, you must request
- // location permission from the user. This sample does not include
- // a request for location permission.
- map.isMyLocationEnabled = true
- map.setOnMyLocationButtonClickListener(this)
- map.setOnMyLocationClickListener(this)
- }
-
- override fun onMyLocationClick(location: Location) {
- Toast.makeText(this, "Current location:\n$location", Toast.LENGTH_LONG)
- .show()
- }
-
- override fun onMyLocationButtonClick(): Boolean {
- Toast.makeText(this, "MyLocation button clicked", Toast.LENGTH_SHORT)
- .show()
- // Return false so that we don't consume the event and the default behavior still occurs
- // (the camera animates to the user's current position).
- return false
- }
-}
diff --git a/snippets/app/src/main/java/com/google/maps/example/kotlin/OnPoiClickDemoActivity.kt b/snippets/app/src/main/java/com/google/maps/example/kotlin/OnPoiClickDemoActivity.kt
deleted file mode 100644
index e60867a99..000000000
--- a/snippets/app/src/main/java/com/google/maps/example/kotlin/OnPoiClickDemoActivity.kt
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright 2020 Google LLC
-//
-// 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.example.kotlin
-
-import android.os.Bundle
-import android.widget.Toast
-import androidx.appcompat.app.AppCompatActivity
-import com.google.android.gms.maps.GoogleMap
-import com.google.android.gms.maps.GoogleMap.OnPoiClickListener
-import com.google.android.gms.maps.OnMapReadyCallback
-import com.google.android.gms.maps.SupportMapFragment
-import com.google.android.gms.maps.model.PointOfInterest
-import com.google.maps.example.R
-
-// [START maps_android_on_poi_click_demo]
-internal class OnPoiClickDemoActivity : AppCompatActivity(), OnMapReadyCallback, OnPoiClickListener {
-
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(R.layout.poi_click_demo)
- val mapFragment = supportFragmentManager.findFragmentById(R.id.map)
- as SupportMapFragment
- mapFragment.getMapAsync(this)
- }
-
- override fun onMapReady(map: GoogleMap) {
- map.setOnPoiClickListener(this)
- }
-
- override fun onPoiClick(poi: PointOfInterest) {
- Toast.makeText(this, """Clicked: ${poi.name}
- Place ID:${poi.placeId}
- Latitude:${poi.latLng.latitude} Longitude:${poi.latLng.longitude}""",
- Toast.LENGTH_SHORT
- ).show()
- }
-}
-// [END maps_android_on_poi_click_demo]
diff --git a/snippets/app/src/main/java/com/google/maps/example/kotlin/PolylineCustomizationActivity.kt b/snippets/app/src/main/java/com/google/maps/example/kotlin/PolylineCustomizationActivity.kt
deleted file mode 100644
index 70ed29951..000000000
--- a/snippets/app/src/main/java/com/google/maps/example/kotlin/PolylineCustomizationActivity.kt
+++ /dev/null
@@ -1,71 +0,0 @@
-// Copyright 2024 Google LLC
-//
-// 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.example.kotlin
-
-import android.graphics.Color
-import androidx.appcompat.app.AppCompatActivity
-import com.google.android.gms.maps.GoogleMap
-import com.google.android.gms.maps.model.BitmapDescriptorFactory
-import com.google.android.gms.maps.model.LatLng
-import com.google.android.gms.maps.model.PolylineOptions
-import com.google.android.gms.maps.model.StrokeStyle
-import com.google.android.gms.maps.model.StyleSpan
-import com.google.android.gms.maps.model.TextureStyle
-import com.google.maps.example.R
-
-class PolylineCustomizationActivity : AppCompatActivity() {
- private lateinit var map: GoogleMap
-
- private fun multicoloredPolyline() {
- // [START maps_android_polyline_multicolored]
- val line = map.addPolyline(
- PolylineOptions()
- .add(LatLng(47.6677146, -122.3470447), LatLng(47.6442757, -122.2814693))
- .addSpan(StyleSpan(Color.RED))
- .addSpan(StyleSpan(Color.GREEN))
- )
- // [END maps_android_polyline_multicolored]
- }
-
- private fun multicoloredGradientPolyline() {
- // [START maps_android_polyline_gradient]
- val line = map.addPolyline(
- PolylineOptions()
- .add(LatLng(47.6677146, -122.3470447), LatLng(47.6442757, -122.2814693))
- .addSpan(
- StyleSpan(
- StrokeStyle.gradientBuilder(
- Color.RED,
- Color.YELLOW
- ).build()
- )
- )
- )
- // [END maps_android_polyline_gradient]
- }
-
- private fun stampedPolyline() {
- // [START maps_android_polyline_stamped]
- val stampStyle =
- TextureStyle.newBuilder(BitmapDescriptorFactory.fromResource(R.drawable.walking_dot)).build()
- val span = StyleSpan(StrokeStyle.colorBuilder(Color.RED).stamp(stampStyle).build())
- map.addPolyline(
- PolylineOptions()
- .add(LatLng(47.6677146, -122.3470447), LatLng(47.6442757, -122.2814693))
- .addSpan(span)
- )
- // [END maps_android_polyline_stamped]
- }
-}
diff --git a/snippets/app/src/main/java/com/google/maps/example/kotlin/Shapes.kt b/snippets/app/src/main/java/com/google/maps/example/kotlin/Shapes.kt
deleted file mode 100644
index 6d88c08e5..000000000
--- a/snippets/app/src/main/java/com/google/maps/example/kotlin/Shapes.kt
+++ /dev/null
@@ -1,187 +0,0 @@
-// Copyright 2020 Google LLC
-//
-// 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.example.kotlin
-
-import android.graphics.Color
-import com.google.android.gms.maps.GoogleMap
-import com.google.android.gms.maps.model.*
-import com.google.maps.example.R
-
-internal class Shapes {
-
- private lateinit var map: GoogleMap
-
- private fun polylines() {
- // [START maps_android_shapes_polylines_polylineoptions]
- // Instantiates a new Polyline object and adds points to define a rectangle
- val polylineOptions = PolylineOptions()
- .add(LatLng(37.35, -122.0))
- .add(LatLng(37.45, -122.0)) // North of the previous point, but at the same longitude
- .add(LatLng(37.45, -122.2)) // Same latitude, and 30km to the west
- .add(LatLng(37.35, -122.2)) // Same longitude, and 16km to the south
- .add(LatLng(37.35, -122.0)) // Closes the polyline.
-
- // Get back the mutable Polyline
- val polyline = map.addPolyline(polylineOptions)
- // [END maps_android_shapes_polylines_polylineoptions]
- }
-
- private fun polygons() {
- // [START maps_android_shapes_polygons_polygonoptions]
- // Instantiates a new Polygon object and adds points to define a rectangle
- val rectOptions = PolygonOptions()
- .add(
- LatLng(37.35, -122.0),
- LatLng(37.45, -122.0),
- LatLng(37.45, -122.2),
- LatLng(37.35, -122.2),
- LatLng(37.35, -122.0)
- )
-
- // Get back the mutable Polygon
- val polygon = map.addPolygon(rectOptions)
- // [END maps_android_shapes_polygons_polygonoptions]
- }
-
- private fun polygonAutocompletion() {
- // [START maps_android_shapes_polygons_autocompletion]
- val polygon1 = map.addPolygon(
- PolygonOptions()
- .add(
- LatLng(0.0, 0.0),
- LatLng(0.0, 5.0),
- LatLng(3.0, 5.0),
- LatLng(0.0, 0.0)
- )
- .strokeColor(Color.RED)
- .fillColor(Color.BLUE)
- )
- val polygon2 = map.addPolygon(
- PolygonOptions()
- .add(
- LatLng(0.0, 0.0),
- LatLng(0.0, 5.0),
- LatLng(3.0, 5.0)
- )
- .strokeColor(Color.RED)
- .fillColor(Color.BLUE)
- )
- // [END maps_android_shapes_polygons_autocompletion]
- }
-
- private fun polygonHollow() {
- // [START maps_android_shapes_polygons_hollow]
- val hole = listOf(
- LatLng(1.0, 1.0),
- LatLng(1.0, 2.0),
- LatLng(2.0, 2.0),
- LatLng(2.0, 1.0),
- LatLng(1.0, 1.0)
- )
- val hollowPolygon = map.addPolygon(
- PolygonOptions()
- .add(
- LatLng(0.0, 0.0),
- LatLng(0.0, 5.0),
- LatLng(3.0, 5.0),
- LatLng(3.0, 0.0),
- LatLng(0.0, 0.0)
- )
- .addHole(hole)
- .fillColor(Color.BLUE)
- )
- // [END maps_android_shapes_polygons_hollow]
- }
-
- private fun circles() {
- // [START maps_android_shapes_circles_circleoptions]
- // Instantiates a new CircleOptions object and defines the center and radius
- val circleOptions = CircleOptions()
- .center(LatLng(37.4, -122.1))
- .radius(1000.0) // In meters
-
- // Get back the mutable Circle
- val circle = map.addCircle(circleOptions)
- // [END maps_android_shapes_circles_circleoptions]
- }
-
- private fun circlesEvents() {
- // [START maps_android_shapes_circles_events]
- val circle = map.addCircle(
- CircleOptions()
- .center(LatLng(37.4, -122.1))
- .radius(1000.0)
- .strokeWidth(10f)
- .strokeColor(Color.GREEN)
- .fillColor(Color.argb(128, 255, 0, 0))
- .clickable(true)
- )
- map.setOnCircleClickListener {
- // Flip the r, g and b components of the circle's stroke color.
- val strokeColor = it.strokeColor xor 0x00ffffff
- it.strokeColor = strokeColor
- }
- // [END maps_android_shapes_circles_events]
- }
-
- private fun customAppearances() {
- // [START maps_android_shapes_custom_appearances]
- val polyline = map.addPolyline(
- PolylineOptions()
- .add(LatLng(-37.81319, 144.96298), LatLng(-31.95285, 115.85734))
- .width(25f)
- .color(Color.BLUE)
- .geodesic(true)
- )
- // [END maps_android_shapes_custom_appearances]
-
- // [START maps_android_shapes_custom_appearances_stroke_pattern]
- val pattern = listOf(
- Dot(), Gap(20F), Dash(30F), Gap(20F)
- )
- polyline.pattern = pattern
- // [END maps_android_shapes_custom_appearances_stroke_pattern]
-
- // [START maps_android_shapes_custom_appearances_joint_type]
- polyline.jointType = JointType.ROUND
- // [END maps_android_shapes_custom_appearances_joint_type]
-
- // [START maps_android_shapes_custom_appearances_start_cap]
- polyline.startCap = RoundCap()
- // [END maps_android_shapes_custom_appearances_start_cap]
-
- // [START maps_android_shapes_custom_appearances_end_cap]
- polyline.endCap = CustomCap(BitmapDescriptorFactory.fromResource(R.drawable.arrow), 16F)
- // [END maps_android_shapes_custom_appearances_end_cap]
- }
-
- private fun associateData() {
- // [START maps_android_shapes_associate_data]
- val polyline = map.addPolyline(
- PolylineOptions()
- .clickable(true)
- .add(
- LatLng(-35.016, 143.321),
- LatLng(-34.747, 145.592),
- LatLng(-34.364, 147.891),
- LatLng(-33.501, 150.217),
- LatLng(-32.306, 149.248),
- LatLng(-32.491, 147.309)
- )
- )
- polyline.tag = "A"
- // [END maps_android_shapes_associate_data]
- }
-}
\ No newline at end of file
diff --git a/snippets/app/src/main/java/com/google/maps/example/kotlin/StreetViewActivity.kt b/snippets/app/src/main/java/com/google/maps/example/kotlin/StreetViewActivity.kt
deleted file mode 100644
index 0dca07f72..000000000
--- a/snippets/app/src/main/java/com/google/maps/example/kotlin/StreetViewActivity.kt
+++ /dev/null
@@ -1,130 +0,0 @@
-// Copyright 2020 Google LLC
-//
-// 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.example.kotlin
-
-import android.os.Bundle
-import androidx.appcompat.app.AppCompatActivity
-import com.google.android.gms.maps.*
-import com.google.android.gms.maps.model.LatLng
-import com.google.android.gms.maps.model.StreetViewPanoramaCamera
-import com.google.android.gms.maps.model.StreetViewPanoramaLink
-import com.google.android.gms.maps.model.StreetViewSource
-import com.google.maps.example.R
-
-// [START maps_street_view_on_street_view_panorama_ready]
-class StreetViewActivity : AppCompatActivity(), OnStreetViewPanoramaReadyCallback {
- // [START_EXCLUDE]
- // [START maps_street_view_on_create]
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(R.layout.activity_street_view)
- // [START maps_street_view_find_fragment]
- val streetViewPanoramaFragment =
- supportFragmentManager
- .findFragmentById(R.id.street_view_panorama) as SupportStreetViewPanoramaFragment
- streetViewPanoramaFragment.getStreetViewPanoramaAsync(this)
- // [END maps_street_view_find_fragment]
- }
- // [END maps_street_view_on_create]
-
- // [START maps_street_view_on_street_view_panorama_ready_callback]
- override fun onStreetViewPanoramaReady(streetViewPanorama: StreetViewPanorama) {
- val sanFrancisco = LatLng(37.754130, -122.447129)
- streetViewPanorama.setPosition(sanFrancisco)
- }
- // [END maps_street_view_on_street_view_panorama_ready_callback]
-
- private fun newView() {
- // [START maps_street_view_new_panorama_view]
- val sanFrancisco = LatLng(37.754130, -122.447129)
- val view = StreetViewPanoramaView(
- this,
- StreetViewPanoramaOptions().position(sanFrancisco)
- )
- // [END maps_street_view_new_panorama_view]
- }
-
- private fun setLocationOfThePanorama(streetViewPanorama: StreetViewPanorama) {
- // [START maps_street_view_panorama_set_location]
- val sanFrancisco = LatLng(37.754130, -122.447129)
-
- // Set position with LatLng only.
- streetViewPanorama.setPosition(sanFrancisco)
-
- // Set position with LatLng and radius.
- streetViewPanorama.setPosition(sanFrancisco, 20)
-
- // Set position with LatLng and source.
- streetViewPanorama.setPosition(sanFrancisco, StreetViewSource.OUTDOOR)
-
- // Set position with LaLng, radius and source.
- streetViewPanorama.setPosition(sanFrancisco, 20, StreetViewSource.OUTDOOR)
- // [END maps_street_view_panorama_set_location]
-
- // [START maps_street_view_panorama_set_location_2]
- streetViewPanorama.location.links.firstOrNull()?.let { link: StreetViewPanoramaLink ->
- streetViewPanorama.setPosition(link.panoId)
- }
- // [END maps_street_view_panorama_set_location_2]
- }
-
- private fun zoom(streetViewPanorama: StreetViewPanorama) {
- // [START maps_street_view_panorama_zoom]
- val zoomBy = 0.5f
- val camera = StreetViewPanoramaCamera.Builder()
- .zoom(streetViewPanorama.panoramaCamera.zoom + zoomBy)
- .tilt(streetViewPanorama.panoramaCamera.tilt)
- .bearing(streetViewPanorama.panoramaCamera.bearing)
- .build()
- // [END maps_street_view_panorama_zoom]
- }
-
- private fun pan(streetViewPanorama: StreetViewPanorama) {
- // [START maps_street_view_panorama_pan]
- val panBy = 30f
- val camera = StreetViewPanoramaCamera.Builder()
- .zoom(streetViewPanorama.panoramaCamera.zoom)
- .tilt(streetViewPanorama.panoramaCamera.tilt)
- .bearing(streetViewPanorama.panoramaCamera.bearing - panBy)
- .build()
- // [END maps_street_view_panorama_pan]
- }
-
- private fun tilt(streetViewPanorama: StreetViewPanorama) {
- // [START maps_street_view_panorama_tilt]
- var tilt = streetViewPanorama.panoramaCamera.tilt + 30
- tilt = if (tilt > 90) 90f else tilt
- val previous = streetViewPanorama.panoramaCamera
- val camera = StreetViewPanoramaCamera.Builder(previous)
- .tilt(tilt)
- .build()
- // [END maps_street_view_panorama_tilt]
- }
-
- private fun animate(streetViewPanorama: StreetViewPanorama) {
- // [START maps_street_view_panorama_animate]
- // Keeping the zoom and tilt. Animate bearing by 60 degrees in 1000 milliseconds.
- val duration: Long = 1000
- val camera = StreetViewPanoramaCamera.Builder()
- .zoom(streetViewPanorama.panoramaCamera.zoom)
- .tilt(streetViewPanorama.panoramaCamera.tilt)
- .bearing(streetViewPanorama.panoramaCamera.bearing - 60)
- .build()
- streetViewPanorama.animateTo(camera, duration)
- // [END maps_street_view_panorama_animate]
- }
- // [END_EXCLUDE]
-}
-// [END maps_street_view_on_street_view_panorama_ready]
diff --git a/snippets/app/src/main/java/com/google/maps/example/kotlin/TileOverlays.kt b/snippets/app/src/main/java/com/google/maps/example/kotlin/TileOverlays.kt
deleted file mode 100644
index ce568539b..000000000
--- a/snippets/app/src/main/java/com/google/maps/example/kotlin/TileOverlays.kt
+++ /dev/null
@@ -1,96 +0,0 @@
-// Copyright 2020 Google LLC
-//
-// 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.example.kotlin
-
-import com.google.android.gms.maps.GoogleMap
-import com.google.android.gms.maps.OnMapReadyCallback
-import com.google.android.gms.maps.model.TileOverlay
-import com.google.android.gms.maps.model.TileOverlayOptions
-import com.google.android.gms.maps.model.TileProvider
-import com.google.android.gms.maps.model.UrlTileProvider
-import java.net.MalformedURLException
-import java.net.URL
-
-internal class TileOverlays : OnMapReadyCallback {
- // [START maps_android_tile_overlays_add]
- private lateinit var map: GoogleMap
-
- var tileProvider: TileProvider = object : UrlTileProvider(256, 256) {
- override fun getTileUrl(x: Int, y: Int, zoom: Int): URL? {
-
- /* Define the URL pattern for the tile images */
- val url = "http://my.image.server/images/$zoom/$x/$y.png"
- return if (!checkTileExists(x, y, zoom)) {
- null
- } else try {
- URL(url)
- } catch (e: MalformedURLException) {
- throw AssertionError(e)
- }
- }
-
- /*
- * Check that the tile server supports the requested x, y and zoom.
- * Complete this stub according to the tile range you support.
- * If you support a limited range of tiles at different zoom levels, then you
- * need to define the supported x, y range at each zoom level.
- */
- private fun checkTileExists(x: Int, y: Int, zoom: Int): Boolean {
- val minZoom = 12
- val maxZoom = 16
- return zoom in minZoom..maxZoom
- }
- }
-
- val tileOverlay = map.addTileOverlay(
- TileOverlayOptions()
- .tileProvider(tileProvider)
- )
- // [END maps_android_tile_overlays_add]
-
- // [START maps_android_tile_overlays_transparency]
- private var tileOverlayTransparent: TileOverlay? = null
-
- override fun onMapReady(map: GoogleMap) {
- tileOverlayTransparent = map.addTileOverlay(
- TileOverlayOptions()
- .tileProvider(object : UrlTileProvider(256, 256) {
- // [START_EXCLUDE]
- override fun getTileUrl(i: Int, i1: Int, i2: Int): URL? {
- return null
- } // [END_EXCLUDE]
- })
- .transparency(0.5f)
- )
- }
-
- // Switch between 0.0f and 0.5f transparency.
- fun toggleTileOverlayTransparency() {
- tileOverlayTransparent?.let {
- it.transparency = 0.5f - it.transparency
- }
- }
- // [END maps_android_tile_overlays_transparency]
-
- private fun removeAndClearCache() {
- // [START maps_android_tile_overlays_remove]
- tileOverlay?.remove()
- // [END maps_android_tile_overlays_remove]
-
- // [START maps_android_tile_overlays_clear_tile_cache]
- tileOverlay?.clearTileCache()
- // [END maps_android_tile_overlays_clear_tile_cache]
- }
-}
diff --git a/snippets/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/snippets/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
deleted file mode 100644
index adde62f66..000000000
--- a/snippets/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/snippets/app/src/main/res/drawable/ic_launcher_background.xml b/snippets/app/src/main/res/drawable/ic_launcher_background.xml
deleted file mode 100644
index 3e7e6865e..000000000
--- a/snippets/app/src/main/res/drawable/ic_launcher_background.xml
+++ /dev/null
@@ -1,186 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/snippets/app/src/main/res/mipmap-hdpi/ic_launcher.png b/snippets/app/src/main/res/mipmap-hdpi/ic_launcher.png
deleted file mode 100644
index a571e6009..000000000
Binary files a/snippets/app/src/main/res/mipmap-hdpi/ic_launcher.png and /dev/null differ
diff --git a/snippets/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/snippets/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
deleted file mode 100644
index 61da551c5..000000000
Binary files a/snippets/app/src/main/res/mipmap-hdpi/ic_launcher_round.png and /dev/null differ
diff --git a/snippets/app/src/main/res/mipmap-mdpi/ic_launcher.png b/snippets/app/src/main/res/mipmap-mdpi/ic_launcher.png
deleted file mode 100644
index c41dd2853..000000000
Binary files a/snippets/app/src/main/res/mipmap-mdpi/ic_launcher.png and /dev/null differ
diff --git a/snippets/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/snippets/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
deleted file mode 100644
index db5080a75..000000000
Binary files a/snippets/app/src/main/res/mipmap-mdpi/ic_launcher_round.png and /dev/null differ
diff --git a/snippets/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/snippets/app/src/main/res/mipmap-xhdpi/ic_launcher.png
deleted file mode 100644
index 6dba46dab..000000000
Binary files a/snippets/app/src/main/res/mipmap-xhdpi/ic_launcher.png and /dev/null differ
diff --git a/snippets/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/snippets/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
deleted file mode 100644
index da31a871c..000000000
Binary files a/snippets/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png and /dev/null differ
diff --git a/snippets/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/snippets/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
deleted file mode 100644
index 15ac68172..000000000
Binary files a/snippets/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and /dev/null differ
diff --git a/snippets/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/snippets/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
deleted file mode 100644
index b216f2d31..000000000
Binary files a/snippets/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png and /dev/null differ
diff --git a/snippets/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/snippets/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
deleted file mode 100644
index f25a41974..000000000
Binary files a/snippets/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ
diff --git a/snippets/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/snippets/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
deleted file mode 100644
index e96783ccc..000000000
Binary files a/snippets/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png and /dev/null differ
diff --git a/snippets/app/src/v3/AndroidManifest.xml b/snippets/app/src/v3/AndroidManifest.xml
deleted file mode 100644
index 9b2cfe183..000000000
--- a/snippets/app/src/v3/AndroidManifest.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/snippets/app/src/v3/java/com/google/maps/example/CloudBasedMapStylingActivity.java b/snippets/app/src/v3/java/com/google/maps/example/CloudBasedMapStylingActivity.java
deleted file mode 100644
index 932a624c3..000000000
--- a/snippets/app/src/v3/java/com/google/maps/example/CloudBasedMapStylingActivity.java
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2020 Google LLC
-//
-// 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.example;
-
-import androidx.appcompat.app.AppCompatActivity;
-
-import android.os.Bundle;
-
-import com.google.android.libraries.maps.GoogleMapOptions;
-import com.google.android.libraries.maps.MapFragment;
-
-public class CloudBasedMapStylingActivity extends AppCompatActivity {
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- // [START maps_android_cloud_based_map_styling]
- MapFragment mapFragment = MapFragment.newInstance(
- new GoogleMapOptions()
- .mapId(getResources().getString(R.string.map_id)));
- // [END maps_android_cloud_based_map_styling]
- }
-}
\ No newline at end of file
diff --git a/snippets/app/src/v3/java/com/google/maps/example/POIBehaviorActivity.java b/snippets/app/src/v3/java/com/google/maps/example/POIBehaviorActivity.java
deleted file mode 100644
index 8f95433f1..000000000
--- a/snippets/app/src/v3/java/com/google/maps/example/POIBehaviorActivity.java
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 2020 Google LLC
-//
-// 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.example;
-
-import android.os.Bundle;
-
-import androidx.annotation.Nullable;
-import androidx.appcompat.app.AppCompatActivity;
-
-import com.google.android.libraries.maps.GoogleMap;
-import com.google.android.libraries.maps.model.LatLng;
-import com.google.android.libraries.maps.model.Marker;
-import com.google.android.libraries.maps.model.MarkerOptions;
-
-class POIBehaviorActivity extends AppCompatActivity {
-
- private GoogleMap map;
-
- @Override
- protected void onCreate(@Nullable Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- // [START maps_android_marker_collision]
- Marker marker = map.addMarker(
- new MarkerOptions()
- .position(new LatLng(10, 10))
- .zIndex(10) // Optional.
- .collisionBehavior(Marker.CollisionBehavior.OPTIONAL_AND_HIDES_LOWER_PRIORITY));
- // [END maps_android_marker_collision]
- }
-}
diff --git a/snippets/app/src/v3/java/com/google/maps/example/PolylineCustomizationActivity.java b/snippets/app/src/v3/java/com/google/maps/example/PolylineCustomizationActivity.java
deleted file mode 100644
index 81d3d8ac2..000000000
--- a/snippets/app/src/v3/java/com/google/maps/example/PolylineCustomizationActivity.java
+++ /dev/null
@@ -1,61 +0,0 @@
-// Copyright 2020 Google LLC
-//
-// 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.example;
-
-import android.graphics.Color;
-import androidx.appcompat.app.AppCompatActivity;
-
-import com.google.android.libraries.maps.GoogleMap;
-import com.google.android.libraries.maps.model.BitmapDescriptorFactory;
-import com.google.android.libraries.maps.model.LatLng;
-import com.google.android.libraries.maps.model.Polyline;
-import com.google.android.libraries.maps.model.PolylineOptions;
-import com.google.android.libraries.maps.model.StampStyle;
-import com.google.android.libraries.maps.model.StrokeStyle;
-import com.google.android.libraries.maps.model.StyleSpan;
-import com.google.android.libraries.maps.model.TextureStyle;
-
-public class PolylineCustomizationActivity extends AppCompatActivity {
-
- private GoogleMap map;
-
- private void multicoloredPolyline() {
- // [START maps_android_polyline_multicolored]
- Polyline line = map.addPolyline(new PolylineOptions()
- .add(new LatLng(47.6677146,-122.3470447), new LatLng(47.6442757,-122.2814693))
- .addSpan(new StyleSpan(Color.RED))
- .addSpan(new StyleSpan(Color.GREEN)));
- // [END maps_android_polyline_multicolored]
- }
-
- private void multicoloredGradientPolyline() {
- // [START maps_android_polyline_gradient]
- Polyline line = map.addPolyline(new PolylineOptions()
- .add(new LatLng(47.6677146,-122.3470447), new LatLng(47.6442757,-122.2814693))
- .addSpan(new StyleSpan(StrokeStyle.gradientBuilder(Color.RED, Color.YELLOW).build())));
- // [END maps_android_polyline_gradient]
- }
-
- private void stampedPolyline() {
- // [START maps_android_polyline_stamped]
- StampStyle stampStyle =
- TextureStyle.newBuilder(BitmapDescriptorFactory.fromResource(R.drawable.walking_dot)).build();
- StyleSpan span = new StyleSpan(StrokeStyle.colorBuilder(Color.RED).stamp(stampStyle).build());
- map.addPolyline(new PolylineOptions()
- .add(new LatLng(47.6677146,-122.3470447), new LatLng(47.6442757,-122.2814693))
- .addSpan(span));
- // [END maps_android_polyline_stamped]
- }
-}
\ No newline at end of file
diff --git a/snippets/app/src/v3/java/com/google/maps/example/kotlin/CloudBasedMapStylingActivity.kt b/snippets/app/src/v3/java/com/google/maps/example/kotlin/CloudBasedMapStylingActivity.kt
deleted file mode 100644
index 5ca73cfa3..000000000
--- a/snippets/app/src/v3/java/com/google/maps/example/kotlin/CloudBasedMapStylingActivity.kt
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2020 Google LLC
-//
-// 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.example.kotlin
-
-import android.os.Bundle
-import androidx.appcompat.app.AppCompatActivity
-import com.google.android.libraries.maps.GoogleMapOptions
-import com.google.android.libraries.maps.MapFragment
-import com.google.maps.example.R
-
-class CloudBasedMapStylingActivity : AppCompatActivity() {
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- // [START maps_android_cloud_based_map_styling]
- val mapFragment = MapFragment.newInstance(
- GoogleMapOptions()
- .mapId(resources.getString(R.string.map_id))
- )
- // [END maps_android_cloud_based_map_styling]
- }
-}
\ No newline at end of file
diff --git a/snippets/app/src/v3/java/com/google/maps/example/kotlin/POIBehaviorActivity.kt b/snippets/app/src/v3/java/com/google/maps/example/kotlin/POIBehaviorActivity.kt
deleted file mode 100644
index 12f9c49d4..000000000
--- a/snippets/app/src/v3/java/com/google/maps/example/kotlin/POIBehaviorActivity.kt
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2020 Google LLC
-//
-// 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.example.kotlin
-
-import android.os.Bundle
-import androidx.appcompat.app.AppCompatActivity
-import com.google.android.libraries.maps.GoogleMap
-import com.google.android.libraries.maps.model.LatLng
-import com.google.android.libraries.maps.model.Marker
-import com.google.android.libraries.maps.model.MarkerOptions
-
-class POIBehaviorActivity : AppCompatActivity() {
-
- private lateinit var map: GoogleMap
-
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- // [START maps_android_marker_collision]
- val marker = map.addMarker(
- MarkerOptions()
- .position(LatLng(10.0, 10.0))
- .zIndex(10f) // Optional.
- .collisionBehavior(Marker.CollisionBehavior.OPTIONAL_AND_HIDES_LOWER_PRIORITY)
- )
- // [END maps_android_marker_collision]
- }
-}
\ No newline at end of file
diff --git a/snippets/app/src/v3/java/com/google/maps/example/kotlin/PolylineCustomizationActivity.kt b/snippets/app/src/v3/java/com/google/maps/example/kotlin/PolylineCustomizationActivity.kt
deleted file mode 100644
index 6472589ae..000000000
--- a/snippets/app/src/v3/java/com/google/maps/example/kotlin/PolylineCustomizationActivity.kt
+++ /dev/null
@@ -1,66 +0,0 @@
-// Copyright 2020 Google LLC
-//
-// 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.example.kotlin
-
-import android.graphics.Color
-import androidx.appcompat.app.AppCompatActivity
-import com.google.android.libraries.maps.GoogleMap
-import com.google.android.libraries.maps.model.*
-import com.google.maps.example.R
-
-class PolylineCustomizationActivity : AppCompatActivity() {
- private lateinit var map: GoogleMap
-
- private fun multicoloredPolyline() {
- // [START maps_android_polyline_multicolored]
- val line = map.addPolyline(
- PolylineOptions()
- .add(LatLng(47.6677146, -122.3470447), LatLng(47.6442757, -122.2814693))
- .addSpan(StyleSpan(Color.RED))
- .addSpan(StyleSpan(Color.GREEN))
- )
- // [END maps_android_polyline_multicolored]
- }
-
- private fun multicoloredGradientPolyline() {
- // [START maps_android_polyline_gradient]
- val line = map.addPolyline(
- PolylineOptions()
- .add(LatLng(47.6677146, -122.3470447), LatLng(47.6442757, -122.2814693))
- .addSpan(
- StyleSpan(
- StrokeStyle.gradientBuilder(
- Color.RED,
- Color.YELLOW
- ).build()
- )
- )
- )
- // [END maps_android_polyline_gradient]
- }
-
- private fun stampedPolyline() {
- // [START maps_android_polyline_stamped]
- val stampStyle =
- TextureStyle.newBuilder(BitmapDescriptorFactory.fromResource(R.drawable.walking_dot)).build()
- val span = StyleSpan(StrokeStyle.colorBuilder(Color.RED).stamp(stampStyle).build())
- map.addPolyline(
- PolylineOptions()
- .add(LatLng(47.6677146, -122.3470447), LatLng(47.6442757, -122.2814693))
- .addSpan(span)
- )
- // [END maps_android_polyline_stamped]
- }
-}
\ No newline at end of file
diff --git a/snippets/app/src/v3/res/values/dimens.xml b/snippets/app/src/v3/res/values/dimens.xml
deleted file mode 100644
index f2621273e..000000000
--- a/snippets/app/src/v3/res/values/dimens.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/snippets/app/src/v3/res/values/strings.xml b/snippets/app/src/v3/res/values/strings.xml
deleted file mode 100644
index 6182c5243..000000000
--- a/snippets/app/src/v3/res/values/strings.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
- PolylineCustomizationActivity
- 13564581852493597319
-
\ No newline at end of file
diff --git a/snippets/app/src/v3/res/values/styles.xml b/snippets/app/src/v3/res/values/styles.xml
deleted file mode 100644
index 1648d1e30..000000000
--- a/snippets/app/src/v3/res/values/styles.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/snippets/app/build.gradle.kts b/snippets/java-app/build.gradle.kts
similarity index 70%
rename from snippets/app/build.gradle.kts
rename to snippets/java-app/build.gradle.kts
index bf8744be5..33c2ffdda 100644
--- a/snippets/app/build.gradle.kts
+++ b/snippets/java-app/build.gradle.kts
@@ -1,5 +1,5 @@
/*
- * Copyright 2024 Google LLC
+ * Copyright 2026 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -23,16 +23,19 @@ plugins {
}
// [END maps_android_secrets_gradle_plugin]
+apply(from = rootProject.file("check_api_key.gradle.kts"))
+
android {
- namespace = "com.google.maps.example"
+ namespace = "com.example.snippets.java"
compileSdk = libs.versions.compileSdk.get().toInt()
defaultConfig {
- applicationId = "com.google.maps.example"
+ applicationId = "com.example.snippets.java"
minSdk = libs.versions.minSdk.get().toInt()
targetSdk = libs.versions.targetSdk.get().toInt()
versionCode = 1
versionName = libs.versions.versionName.get()
+
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
@@ -42,7 +45,7 @@ android {
buildTypes {
release {
- isMinifyEnabled = true
+ isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
@@ -50,43 +53,23 @@ android {
}
}
- flavorDimensions.add("version")
-
- productFlavors {
- create("gms") {
- dimension = "version"
- applicationIdSuffix = ".gms"
- versionNameSuffix = "-gms"
- }
- }
-
- java {
- toolchain {
- languageVersion.set(JavaLanguageVersion.of(21))
- }
- }
-
- lint {
- disable += setOf("MissingInflatedId")
- sarifOutput = layout.buildDirectory.file("reports/lint-results-debug.sarif").get().asFile
+ compileOptions {
+ sourceCompatibility = JavaVersion.VERSION_17
+ targetCompatibility = JavaVersion.VERSION_17
}
}
// [START maps_android_play_services_maps_dependency]
dependencies {
// [START_EXCLUDE silent]
- implementation(libs.kotlin.stdlib)
- implementation(libs.core.ktx)
+ implementation(project(":snippets:common"))
+ implementation(libs.volley)
+ implementation(libs.constraintlayout)
implementation(libs.appcompat)
- implementation(libs.compose.foundation)
- implementation(libs.compose.material)
+ implementation(libs.activity)
implementation(libs.material)
- implementation(libs.constraintlayout)
- implementation(libs.navigation.fragment.ktx)
- implementation(libs.navigation.ui.ktx)
- implementation(libs.volley)
- implementation(libs.lifecycle.runtime.ktx)
- implementation(libs.places)
+ androidTestImplementation(libs.ext.junit)
+ androidTestImplementation(libs.espresso.core)
// [END_EXCLUDE]
// Maps SDK for Android
@@ -94,6 +77,15 @@ dependencies {
}
// [END maps_android_play_services_maps_dependency]
+// [START maps_android_utils_install_snippet]
+dependencies {
+ // Utility Library for Maps SDK for Android
+ // You do not need to add a separate dependency for the Maps SDK for Android
+ // since this library builds in the compatible version of the Maps SDK.
+ implementation(libs.maps.utils)
+}
+// [END maps_android_utils_install_snippet]
+
// [START maps_android_secrets_gradle_plugin_config]
secrets {
// To add your Maps API key to this project:
@@ -106,4 +98,4 @@ secrets {
// checked in version control.
defaultPropertiesFileName = "local.defaults.properties"
}
-// [END maps_android_secrets_gradle_plugin_config]
\ No newline at end of file
+// [END maps_android_secrets_gradle_plugin_config]
diff --git a/snippets/java-app/src/androidTest/java/com/example/snippets/java/SnippetDiscoveryTest.java b/snippets/java-app/src/androidTest/java/com/example/snippets/java/SnippetDiscoveryTest.java
new file mode 100644
index 000000000..adb70783b
--- /dev/null
+++ b/snippets/java-app/src/androidTest/java/com/example/snippets/java/SnippetDiscoveryTest.java
@@ -0,0 +1,79 @@
+/*
+ * Copyright 2026 Google LLC
+ *
+ * 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.example.snippets.java;
+
+import android.content.Intent;
+import android.widget.FrameLayout;
+import androidx.test.core.app.ActivityScenario;
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+import com.example.snippets.common.R;
+import com.google.android.gms.maps.MapView;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
+@RunWith(AndroidJUnit4.class)
+public class SnippetDiscoveryTest {
+
+ @Test
+ public void verifySnippetGroupsLoaded() {
+ List groups = SnippetRegistry.getSnippetGroups();
+ Assert.assertFalse("Snippet groups should not be empty", groups.isEmpty());
+ for (SnippetGroupInfo group : groups) {
+ Assert.assertFalse("Group title should not be blank", group.getTitle().trim().isEmpty());
+ for (SnippetItemInfo item : group.getItems()) {
+ Assert.assertFalse("Item title should not be blank", item.getTitle().trim().isEmpty());
+ Assert.assertEquals("Item group title should match", group.getTitle(), item.getGroupTitle());
+ }
+ }
+ }
+
+ @Test
+ public void verifyAllSnippetsLaunchWithoutCrash() throws Exception {
+ Map snippets = SnippetRegistry.snippets;
+ Assert.assertFalse("Registry should contain snippets", snippets.isEmpty());
+
+ for (Map.Entry entry : snippets.entrySet()) {
+ String key = entry.getKey();
+ SnippetItemInfo snippet = entry.getValue();
+
+ Intent intent = new Intent(ApplicationProvider.getApplicationContext(), MapActivity.class);
+ intent.putExtra(MapActivity.EXTRA_SNIPPET_TITLE, snippet.getTitle());
+ intent.putExtra("group_title", snippet.getGroupTitle());
+
+ final CountDownLatch latch = new CountDownLatch(1);
+ final MapView[] mapViewHolder = new MapView[1];
+
+ try (ActivityScenario scenario = ActivityScenario.launch(intent)) {
+ scenario.onActivity(activity -> {
+ FrameLayout holder = activity.findViewById(R.id.map_view_holder);
+ mapViewHolder[0] = activity.mapView != null ? activity.mapView : (MapView) (holder != null && holder.getChildCount() > 0 ? holder.getChildAt(0) : null);
+ latch.countDown();
+ });
+
+ boolean loaded = latch.await(5, TimeUnit.SECONDS);
+ Assert.assertTrue("Timed out waiting for activity to launch for snippet: " + key, loaded);
+ Assert.assertNotNull("MapView should not be null for snippet: " + key, mapViewHolder[0]);
+ }
+ }
+ }
+}
diff --git a/snippets/java-app/src/androidTest/java/com/example/snippets/java/capabilities/CameraControlSnippetsTest.java b/snippets/java-app/src/androidTest/java/com/example/snippets/java/capabilities/CameraControlSnippetsTest.java
new file mode 100644
index 000000000..5d1d4d379
--- /dev/null
+++ b/snippets/java-app/src/androidTest/java/com/example/snippets/java/capabilities/CameraControlSnippetsTest.java
@@ -0,0 +1,140 @@
+/*
+ * Copyright 2026 Google LLC
+ *
+ * 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.example.snippets.java.capabilities;
+
+import android.content.Intent;
+import android.widget.FrameLayout;
+import androidx.annotation.NonNull;
+import androidx.test.core.app.ActivityScenario;
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+import androidx.test.platform.app.InstrumentationRegistry;
+import com.example.snippets.common.R;
+import com.example.snippets.java.MapActivity;
+import com.google.android.gms.maps.CameraUpdateFactory;
+import com.google.android.gms.maps.GoogleMap;
+import com.google.android.gms.maps.MapView;
+import com.google.android.gms.maps.model.LatLng;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * Falsifiable Java capability tests for Camera Controls (`2a3e0c25`, `0e6b228f`).
+ * Proves that breaking or removing zoom constraints or panning restrictions strictly causes these tests to fail.
+ */
+@RunWith(AndroidJUnit4.class)
+public class CameraControlSnippetsTest {
+
+ private interface MapVerification {
+ void verify(@NonNull GoogleMap googleMap);
+ }
+
+ private void runWithMap(String groupTitle, String snippetTitle, MapVerification verification) throws InterruptedException {
+ Intent intent = new Intent(ApplicationProvider.getApplicationContext(), MapActivity.class);
+ intent.putExtra("group_title", groupTitle);
+ intent.putExtra(MapActivity.EXTRA_SNIPPET_TITLE, snippetTitle);
+
+ CountDownLatch latch = new CountDownLatch(1);
+ final GoogleMap[] googleMapHolder = new GoogleMap[1];
+
+ try (ActivityScenario scenario = ActivityScenario.launch(intent)) {
+ scenario.onActivity(activity -> {
+ FrameLayout holder = activity.findViewById(R.id.map_view_holder);
+ MapView mapView = activity.mapView != null ? activity.mapView : (MapView) (holder != null && holder.getChildCount() > 0 ? holder.getChildAt(0) : null);
+ if (mapView != null) {
+ mapView.getMapAsync(map -> {
+ googleMapHolder[0] = map;
+ latch.countDown();
+ });
+ }
+ });
+
+ boolean loaded = latch.await(10, TimeUnit.SECONDS);
+ Assert.assertTrue("Timed out waiting for Java GoogleMap initialization for: " + snippetTitle, loaded);
+ Assert.assertNotNull("GoogleMap must not be null for snippet: " + snippetTitle, googleMapHolder[0]);
+
+ verification.verify(googleMapHolder[0]);
+ }
+ }
+
+ @Test
+ public void verifyCameraMovementsAndZoomConstraints_falsifiable() throws InterruptedException {
+ // Capability 2a3e0c25: Zoom Level Constraints
+ runWithMap("Camera", "1. Zoom Level Constraints", map -> {
+ final float[] clampedZoomHolder = new float[2]; // [0] = min, [1] = max
+
+ // Run camera mutations and reads strictly on UI main thread using runOnMainSync
+ InstrumentationRegistry.getInstrumentation().runOnMainSync(() -> {
+ // Attempt to zoom out below minZoom (6.0f)
+ map.moveCamera(CameraUpdateFactory.zoomTo(2.0f));
+ clampedZoomHolder[0] = map.getCameraPosition().zoom;
+
+ // Attempt to zoom in above maxZoom (14.0f)
+ map.moveCamera(CameraUpdateFactory.zoomTo(21.0f));
+ clampedZoomHolder[1] = map.getCameraPosition().zoom;
+ });
+
+ float clampedMinZoom = clampedZoomHolder[0];
+ float clampedMaxZoom = clampedZoomHolder[1];
+
+ Assert.assertTrue(
+ "Zoom level (" + clampedMinZoom + ") must strictly clamp to >= 6.0f when minZoomPreference is enabled! " +
+ "If setMinZoomPreference(6.0f) is removed or broken in the snippet, this test fails.",
+ clampedMinZoom >= 5.9f
+ );
+ Assert.assertTrue(
+ "Zoom level (" + clampedMaxZoom + ") must strictly clamp to <= 14.0f when maxZoomPreference is enabled! " +
+ "If setMaxZoomPreference(14.0f) is removed or broken in the snippet, this test fails.",
+ clampedMaxZoom <= 14.1f
+ );
+ });
+ }
+
+ @Test
+ public void verifyCameraClampingToAustralia_falsifiable() throws InterruptedException {
+ // Capability 0e6b228f: Panning Restrictions (Constrain target to geographic bounds)
+ runWithMap("Camera", "4. Panning Restrictions", map -> {
+ final LatLng[] targetHolder = new LatLng[1];
+
+ // Run camera mutations strictly on UI main thread using runOnMainSync
+ InstrumentationRegistry.getInstrumentation().runOnMainSync(() -> {
+ // Attempt to pan camera to London, UK (51.5074, -0.1278)
+ LatLng london = new LatLng(51.5074, -0.1278);
+ map.moveCamera(CameraUpdateFactory.newLatLng(london));
+ targetHolder[0] = map.getCameraPosition().target;
+ });
+
+ LatLng currentTarget = targetHolder[0];
+ Assert.assertNotNull("Camera target must not be null", currentTarget);
+ // Adelaide bounds are LatLng(-35.0, 138.58) to LatLng(-34.9, 138.61).
+ // When clamped, target latitude MUST NOT be near London (51.5), but clamped inside/near Adelaide (-35 to -34.9).
+ Assert.assertTrue(
+ "Camera target latitude (" + currentTarget.latitude + ") must be clamped near Adelaide bounds (-35.0 to -34.9) and NOT allowed to move to London (51.5)! " +
+ "If setLatLngBoundsForCameraTarget() is removed from the snippet, this test fails.",
+ currentTarget.latitude < -30.0
+ );
+ Assert.assertTrue(
+ "Camera target longitude (" + currentTarget.longitude + ") must be clamped near Adelaide bounds (138.58 to 138.61) and NOT London (-0.12)! " +
+ "If setLatLngBoundsForCameraTarget() is removed from the snippet, this test fails.",
+ currentTarget.longitude > 130.0
+ );
+ });
+ }
+}
diff --git a/snippets/java-app/src/androidTest/java/com/example/snippets/java/capabilities/CatalogCapabilitiesTestSuite.java b/snippets/java-app/src/androidTest/java/com/example/snippets/java/capabilities/CatalogCapabilitiesTestSuite.java
new file mode 100644
index 000000000..3f931645c
--- /dev/null
+++ b/snippets/java-app/src/androidTest/java/com/example/snippets/java/capabilities/CatalogCapabilitiesTestSuite.java
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2026 Google LLC
+ *
+ * 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.example.snippets.java.capabilities;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+
+/**
+ * Master falsifiable capability test suite for all Java verified capabilities.
+ * Runs MarkerSnippetsTest, CameraControlSnippetsTest, EventsSnippetsTest, and MapInitSnippetsTest together.
+ */
+@RunWith(Suite.class)
+@Suite.SuiteClasses({
+ MarkerSnippetsTest.class,
+ CameraControlSnippetsTest.class,
+ EventsSnippetsTest.class,
+ MapInitSnippetsTest.class
+})
+public class CatalogCapabilitiesTestSuite {}
diff --git a/snippets/java-app/src/androidTest/java/com/example/snippets/java/capabilities/EventsSnippetsTest.java b/snippets/java-app/src/androidTest/java/com/example/snippets/java/capabilities/EventsSnippetsTest.java
new file mode 100644
index 000000000..58d8f5722
--- /dev/null
+++ b/snippets/java-app/src/androidTest/java/com/example/snippets/java/capabilities/EventsSnippetsTest.java
@@ -0,0 +1,114 @@
+/*
+ * Copyright 2026 Google LLC
+ *
+ * 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.example.snippets.java.capabilities;
+
+import android.content.Intent;
+import android.widget.FrameLayout;
+import androidx.annotation.NonNull;
+import androidx.test.core.app.ActivityScenario;
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+import androidx.test.platform.app.InstrumentationRegistry;
+import com.example.snippets.common.R;
+import com.example.snippets.java.MapActivity;
+import com.example.snippets.java.TrackedMap;
+import com.google.android.gms.maps.GoogleMap;
+import com.google.android.gms.maps.MapView;
+import com.google.android.gms.maps.model.LatLng;
+import com.google.android.gms.maps.model.PointOfInterest;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * Falsifiable Java capability tests for Map Events & Interactions (`b34458f3`).
+ * Proves that breaking or removing click disabling or POI event registration strictly causes these tests to fail.
+ */
+@RunWith(AndroidJUnit4.class)
+public class EventsSnippetsTest {
+
+ private interface MapVerification {
+ void verify(@NonNull GoogleMap googleMap, @NonNull ActivityScenario scenario);
+ }
+
+ private void runWithMap(String groupTitle, String snippetTitle, MapVerification verification) throws InterruptedException {
+ Intent intent = new Intent(ApplicationProvider.getApplicationContext(), MapActivity.class);
+ intent.putExtra("group_title", groupTitle);
+ intent.putExtra(MapActivity.EXTRA_SNIPPET_TITLE, snippetTitle);
+
+ CountDownLatch latch = new CountDownLatch(1);
+ final GoogleMap[] googleMapHolder = new GoogleMap[1];
+
+ try (ActivityScenario scenario = ActivityScenario.launch(intent)) {
+ scenario.onActivity(activity -> {
+ FrameLayout holder = activity.findViewById(R.id.map_view_holder);
+ MapView mapView = activity.mapView != null ? activity.mapView : (MapView) (holder != null && holder.getChildCount() > 0 ? holder.getChildAt(0) : null);
+ if (mapView != null) {
+ mapView.getMapAsync(map -> {
+ googleMapHolder[0] = map;
+ latch.countDown();
+ });
+ }
+ });
+
+ boolean loaded = latch.await(10, TimeUnit.SECONDS);
+ Assert.assertTrue("Timed out waiting for Java GoogleMap initialization for: " + snippetTitle, loaded);
+ Assert.assertNotNull("GoogleMap must not be null for snippet: " + snippetTitle, googleMapHolder[0]);
+
+ verification.verify(googleMapHolder[0], scenario);
+ }
+ }
+
+ @Test
+ public void verifyMapClickListenerAndEvents_falsifiable() throws InterruptedException {
+ // Capability b34458f3 Check 1: MapView Disable Click Event (maps_android_events_disable_clicks_mapview)
+ runWithMap("Events", "1. MapView Disable Click Event", (map, scenario) -> {
+ final boolean[] isClickableHolder = new boolean[] { true };
+ InstrumentationRegistry.getInstrumentation().runOnMainSync(() -> {
+ scenario.onActivity(activity -> {
+ FrameLayout holder = activity.findViewById(R.id.map_view_holder);
+ MapView mapView = activity.mapView != null ? activity.mapView : (MapView) (holder != null && holder.getChildCount() > 0 ? holder.getChildAt(0) : null);
+ isClickableHolder[0] = mapView != null ? mapView.isClickable() : true;
+ });
+ });
+ Assert.assertFalse(
+ "MapView.isClickable must be strictly false when '1. MapView Disable Click Event' is executed! " +
+ "If mapView.setClickable(false) is removed or broken in EventsSnippets.java, this test fails.",
+ isClickableHolder[0]
+ );
+ });
+
+ // Capability b34458f3 Check 2: POI Click Listener (maps_android_on_poi_click_demo) & Event Simulation (Pillar 3)
+ runWithMap("Events", "4. POI Click Listener", (map, scenario) -> {
+ final GoogleMap.OnPoiClickListener[] listenerHolder = new GoogleMap.OnPoiClickListener[1];
+ InstrumentationRegistry.getInstrumentation().runOnMainSync(() -> {
+ listenerHolder[0] = TrackedMap.lastInstance != null ? TrackedMap.lastInstance.registeredPoiClickListener : null;
+ if (listenerHolder[0] != null) {
+ listenerHolder[0].onPoiClick(new PointOfInterest(new LatLng(-33.88, 151.21), "ChIJN1t_tDeuEmsRUsoyG83frY4", "Sydney Opera House"));
+ }
+ });
+
+ Assert.assertNotNull(
+ "OnPoiClickListener must be registered in TrackedMap when '4. POI Click Listener' is run! " +
+ "If map.setOnPoiClickListener is removed or broken in EventsSnippets.java, this test fails.",
+ listenerHolder[0]
+ );
+ });
+ }
+}
diff --git a/snippets/java-app/src/androidTest/java/com/example/snippets/java/capabilities/MapInitSnippetsTest.java b/snippets/java-app/src/androidTest/java/com/example/snippets/java/capabilities/MapInitSnippetsTest.java
new file mode 100644
index 000000000..fbf643b47
--- /dev/null
+++ b/snippets/java-app/src/androidTest/java/com/example/snippets/java/capabilities/MapInitSnippetsTest.java
@@ -0,0 +1,123 @@
+/*
+ * Copyright 2026 Google LLC
+ *
+ * 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.example.snippets.java.capabilities;
+
+import android.content.Intent;
+import android.widget.FrameLayout;
+import androidx.annotation.NonNull;
+import androidx.test.core.app.ActivityScenario;
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+import com.example.snippets.common.R;
+import com.example.snippets.java.MapActivity;
+import com.example.snippets.java.TrackedMap;
+import com.google.android.gms.maps.GoogleMap;
+import com.google.android.gms.maps.MapView;
+import com.google.android.gms.maps.OnMapReadyCallback;
+import com.google.android.gms.maps.model.LatLng;
+import com.google.android.gms.maps.model.Marker;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * Falsifiable Java capability tests for Map Initialization (`232ecd00`, `20793ebb`, `25bf9dfd`, `c511ea57`).
+ * Proves that breaking or mutating the Java sample code strictly causes these tests to fail.
+ */
+@RunWith(AndroidJUnit4.class)
+public class MapInitSnippetsTest {
+
+ private interface MapVerification {
+ void verify(@NonNull GoogleMap googleMap);
+ }
+
+ private Marker getFirstMarker() {
+ if (TrackedMap.lastInstance == null || TrackedMap.lastInstance.getItems() == null) return null;
+ for (Object item : TrackedMap.lastInstance.getItems()) {
+ if (item instanceof Marker) {
+ return (Marker) item;
+ }
+ }
+ return null;
+ }
+
+ private void runWithMap(String groupTitle, String snippetTitle, MapVerification verification) throws InterruptedException {
+ Intent intent = new Intent(ApplicationProvider.getApplicationContext(), MapActivity.class);
+ intent.putExtra("group_title", groupTitle);
+ intent.putExtra(MapActivity.EXTRA_SNIPPET_TITLE, snippetTitle);
+
+ CountDownLatch latch = new CountDownLatch(1);
+ final GoogleMap[] googleMapHolder = new GoogleMap[1];
+
+ try (ActivityScenario scenario = ActivityScenario.launch(intent)) {
+ scenario.onActivity(activity -> {
+ FrameLayout holder = activity.findViewById(R.id.map_view_holder);
+ MapView mapView = activity.mapView != null ? activity.mapView : (MapView) (holder != null && holder.getChildCount() > 0 ? holder.getChildAt(0) : null);
+ if (mapView != null) {
+ mapView.getMapAsync(map -> {
+ googleMapHolder[0] = map;
+ latch.countDown();
+ });
+ }
+ });
+
+ boolean loaded = latch.await(10, TimeUnit.SECONDS);
+ Assert.assertTrue("Timed out waiting for Java GoogleMap initialization for: " + snippetTitle, loaded);
+ Assert.assertNotNull("GoogleMap must not be null for snippet: " + snippetTitle, googleMapHolder[0]);
+
+ // Allow map layout and camera animations to settle while UI main thread is unblocked
+ Thread.sleep(1000);
+
+ androidx.test.platform.app.InstrumentationRegistry.getInstrumentation().runOnMainSync(() -> {
+ verification.verify(googleMapHolder[0]);
+ });
+ }
+ }
+
+ @Test
+ public void verifyBasicMapActivity_falsifiable() throws InterruptedException {
+ // Capability 232ecd00: Add a customizable, interactive map to a web page or mobile app
+ runWithMap("Map Initialization", "1. Basic Map Activity", map -> {
+ LatLng sydney = new LatLng(-34.0, 151.0);
+ Marker marker = getFirstMarker();
+ Assert.assertNotNull("Basic Map Activity snippet must add Marker in Sydney", marker);
+ Assert.assertEquals("Marker title must be exactly 'Marker in Sydney'", "Marker in Sydney", marker.getTitle());
+ Assert.assertEquals("Marker latitude must exactly match Sydney (-34.0)", sydney.latitude, marker.getPosition().latitude, 0.001);
+ Assert.assertEquals("Marker longitude must exactly match Sydney (151.0)", sydney.longitude, marker.getPosition().longitude, 0.001);
+ });
+ }
+
+ @Test
+ public void verifyEnableTrafficLayer_falsifiable() throws InterruptedException {
+ // Capability 20793ebb: Add a traffic layer to a map
+ runWithMap("Map Initialization", "11. Enable Traffic Layer", map -> {
+ // Falsifiability Check: If snippet code is removed or changed to isTrafficEnabled = false, this test STRICTLY FAILS!
+ Assert.assertTrue("googleMap.isTrafficEnabled() MUST be true after Java snippet execution", map.isTrafficEnabled());
+ });
+ }
+
+ @Test
+ public void verifySetMapTypeToHybrid_falsifiable() throws InterruptedException {
+ // Capability c511ea57: Change the map type
+ runWithMap("Map Initialization", "3. Set Map Type", map -> {
+ // Falsifiability Check: If changed to MAP_TYPE_NORMAL or commented out, this test STRICTLY FAILS!
+ Assert.assertEquals("GoogleMap type must be exactly MAP_TYPE_HYBRID (4)", GoogleMap.MAP_TYPE_HYBRID, map.getMapType());
+ });
+ }
+}
diff --git a/snippets/java-app/src/androidTest/java/com/example/snippets/java/capabilities/MarkerSnippetsTest.java b/snippets/java-app/src/androidTest/java/com/example/snippets/java/capabilities/MarkerSnippetsTest.java
new file mode 100644
index 000000000..48b5cdb8e
--- /dev/null
+++ b/snippets/java-app/src/androidTest/java/com/example/snippets/java/capabilities/MarkerSnippetsTest.java
@@ -0,0 +1,177 @@
+/*
+ * Copyright 2026 Google LLC
+ *
+ * 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.example.snippets.java.capabilities;
+
+import android.content.Intent;
+import android.widget.FrameLayout;
+import androidx.annotation.NonNull;
+import androidx.test.core.app.ActivityScenario;
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+import androidx.test.platform.app.InstrumentationRegistry;
+import com.example.snippets.common.R;
+import com.example.snippets.java.MapActivity;
+import com.example.snippets.java.TrackedMap;
+import com.google.android.gms.maps.GoogleMap;
+import com.google.android.gms.maps.MapView;
+import com.google.android.gms.maps.model.Marker;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * Falsifiable Java capability tests for Markers (`7bbfe87e`, `bdbefba5`, `de757d41`, `4c2a9906`).
+ * Proves that breaking, mutating, or removing marker creation, styling, and drag properties causes these tests to strictly fail.
+ */
+@RunWith(AndroidJUnit4.class)
+public class MarkerSnippetsTest {
+
+ private interface MapVerification {
+ void verify(@NonNull GoogleMap googleMap);
+ }
+
+ private void runWithMap(String groupTitle, String snippetTitle, MapVerification verification) throws InterruptedException {
+ Intent intent = new Intent(ApplicationProvider.getApplicationContext(), MapActivity.class);
+ intent.putExtra("group_title", groupTitle);
+ intent.putExtra(MapActivity.EXTRA_SNIPPET_TITLE, snippetTitle);
+
+ CountDownLatch latch = new CountDownLatch(1);
+ final GoogleMap[] googleMapHolder = new GoogleMap[1];
+
+ try (ActivityScenario scenario = ActivityScenario.launch(intent)) {
+ scenario.onActivity(activity -> {
+ FrameLayout holder = activity.findViewById(R.id.map_view_holder);
+ MapView mapView = activity.mapView != null ? activity.mapView : (MapView) (holder != null && holder.getChildCount() > 0 ? holder.getChildAt(0) : null);
+ if (mapView != null) {
+ mapView.getMapAsync(map -> {
+ googleMapHolder[0] = map;
+ latch.countDown();
+ });
+ }
+ });
+
+ boolean loaded = latch.await(10, TimeUnit.SECONDS);
+ Assert.assertTrue("Timed out waiting for Java GoogleMap initialization for: " + snippetTitle, loaded);
+ Assert.assertNotNull("GoogleMap must not be null for snippet: " + snippetTitle, googleMapHolder[0]);
+
+ InstrumentationRegistry.getInstrumentation().runOnMainSync(() -> {
+ verification.verify(googleMapHolder[0]);
+ });
+ }
+ }
+
+ private Marker getFirstMarker() {
+ if (TrackedMap.lastInstance == null || TrackedMap.lastInstance.getItems() == null) return null;
+ for (Object item : TrackedMap.lastInstance.getItems()) {
+ if (item instanceof Marker) {
+ return (Marker) item;
+ }
+ }
+ return null;
+ }
+
+ @Test
+ public void verifyAddMarkerProperties_falsifiable() throws InterruptedException {
+ // Capability 7bbfe87e: Add a marker to a map
+ runWithMap("Markers", "1. Add a Marker", map -> {
+ Marker marker = getFirstMarker();
+ Assert.assertNotNull(
+ "Marker must be added by '1. Add a Marker'! If addMarker() snippet code is removed or broken, this test fails.",
+ marker
+ );
+ Assert.assertEquals(
+ "Marker latitude must exactly match Sydney (-33.852)",
+ -33.852, marker.getPosition().latitude, 0.001
+ );
+ Assert.assertEquals(
+ "Marker longitude must exactly match Sydney (151.211)",
+ 151.211, marker.getPosition().longitude, 0.001
+ );
+ Assert.assertEquals(
+ "Marker title must be exactly 'Marker in Sydney'",
+ "Marker in Sydney", marker.getTitle()
+ );
+ });
+ }
+
+ @Test
+ public void verifyInfoWindowCustomizationAndDisplay_falsifiable() throws InterruptedException {
+ // Capability bdbefba5: Add an info window to a map
+ runWithMap("Markers", "11. Add Info Window", map -> {
+ Marker marker = getFirstMarker();
+ Assert.assertNotNull(
+ "Marker must be added by '11. Add Info Window'! If snippet code is removed, this test fails.",
+ marker
+ );
+ Assert.assertEquals("Marker title must be exactly 'Melbourne'", "Melbourne", marker.getTitle());
+ Assert.assertEquals("Marker snippet must be exactly 'Population: 4,137,400'", "Population: 4,137,400", marker.getSnippet());
+ });
+ }
+
+ @Test
+ public void verifyMarkerCustomColorAndIcon_falsifiable() throws InterruptedException {
+ // Capability de757d41: Customize a marker on a map
+ runWithMap("Markers", "5. Marker Opacity", map -> {
+ Marker marker = getFirstMarker();
+ Assert.assertNotNull("Marker must be added by '5. Marker Opacity'", marker);
+ Assert.assertEquals(
+ "Marker alpha must exactly match 0.7f! If .alpha(0.7f) is removed or mutated in snippet, this test fails.",
+ 0.7f, marker.getAlpha(), 0.001f
+ );
+ });
+
+ runWithMap("Markers", "7. Flat Marker", map -> {
+ Marker marker = getFirstMarker();
+ Assert.assertNotNull("Marker must be added by '7. Flat Marker'", marker);
+ Assert.assertTrue(
+ "Marker isFlat must exactly match true! If .flat(true) is removed in snippet, this test fails.",
+ marker.isFlat()
+ );
+ });
+
+ runWithMap("Markers", "8. Rotate Marker", map -> {
+ Marker marker = getFirstMarker();
+ Assert.assertNotNull("Marker must be added by '8. Rotate Marker'", marker);
+ Assert.assertEquals(
+ "Marker rotation must exactly match 90.0f! If .rotation(90.0f) is removed in snippet, this test fails.",
+ 90.0f, marker.getRotation(), 0.001f
+ );
+ });
+ }
+
+ @Test
+ public void verifyMarkerDraggableProperty_falsifiable() throws InterruptedException {
+ // Capability 4c2a9906: Respond to user interactions with markers on a map
+ runWithMap("Markers", "2. Draggable Marker", map -> {
+ Marker marker = getFirstMarker();
+ Assert.assertNotNull("Draggable marker must be added by '2. Draggable Marker'", marker);
+ Assert.assertTrue(
+ "Marker isDraggable must strictly be true! If .draggable(true) is removed in snippet, this test fails.",
+ marker.isDraggable()
+ );
+
+ // Adversarial negative check (Pillar 2): Mutate to false and verify constraint enforcement
+ marker.setDraggable(false);
+ Assert.assertFalse(
+ "Marker should strictly reject drag interactions when isDraggable is set to false",
+ marker.isDraggable()
+ );
+ });
+ }
+}
diff --git a/snippets/java-app/src/main/AndroidManifest.xml b/snippets/java-app/src/main/AndroidManifest.xml
new file mode 100644
index 000000000..8c0db4cc8
--- /dev/null
+++ b/snippets/java-app/src/main/AndroidManifest.xml
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/snippets/java-app/src/main/java/com/example/snippets/java/JavaSnippetsActivity.java b/snippets/java-app/src/main/java/com/example/snippets/java/JavaSnippetsActivity.java
new file mode 100644
index 000000000..18d81a070
--- /dev/null
+++ b/snippets/java-app/src/main/java/com/example/snippets/java/JavaSnippetsActivity.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2026 Google LLC
+ *
+ * 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.example.snippets.java;
+
+import android.content.Intent;
+import android.os.Bundle;
+import androidx.activity.EdgeToEdge;
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+import com.example.snippets.common.R;
+
+public class JavaSnippetsActivity extends AppCompatActivity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ EdgeToEdge.enable(this);
+ setContentView(R.layout.activity_main);
+ if (getSupportActionBar() != null) {
+ getSupportActionBar().setTitle("Maps SDK Snippets (Java)");
+ }
+
+ android.view.View mainView = findViewById(R.id.main);
+ androidx.core.view.ViewCompat.setOnApplyWindowInsetsListener(mainView, (v, insets) -> {
+ androidx.core.graphics.Insets systemBars = insets.getInsets(androidx.core.view.WindowInsetsCompat.Type.systemBars());
+ v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
+ return insets;
+ });
+
+ RecyclerView recyclerView = findViewById(R.id.recyclerView);
+ recyclerView.setLayoutManager(new LinearLayoutManager(this));
+
+ SnippetGroupAdapter adapter = new SnippetGroupAdapter(
+ SnippetRegistry.getSnippetGroups(),
+ item -> {
+ Intent intent = new Intent(this, MapActivity.class);
+ intent.putExtra("group_title", item.getGroupTitle());
+ intent.putExtra(MapActivity.EXTRA_SNIPPET_TITLE, item.getTitle());
+ startActivity(intent);
+ }
+ );
+ recyclerView.setAdapter(adapter);
+ }
+}
diff --git a/snippets/java-app/src/main/java/com/example/snippets/java/MapActivity.java b/snippets/java-app/src/main/java/com/example/snippets/java/MapActivity.java
new file mode 100644
index 000000000..2d1a305b2
--- /dev/null
+++ b/snippets/java-app/src/main/java/com/example/snippets/java/MapActivity.java
@@ -0,0 +1,364 @@
+/*
+ * Copyright 2026 Google LLC
+ *
+ * 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.example.snippets.java;
+
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Looper;
+import android.util.Log;
+import android.widget.Toast;
+import androidx.activity.EdgeToEdge;
+import androidx.annotation.NonNull;
+import androidx.appcompat.app.AppCompatActivity;
+import com.example.snippets.common.R;
+import com.google.android.gms.maps.CameraUpdateFactory;
+import com.google.android.gms.maps.GoogleMap;
+import com.google.android.gms.maps.MapView;
+import com.google.android.gms.maps.OnMapReadyCallback;
+import com.google.android.gms.maps.model.CameraPosition;
+import com.google.android.gms.maps.model.LatLng;
+import java.util.ArrayList;
+import java.util.List;
+import android.widget.FrameLayout;
+import com.google.android.gms.maps.GoogleMapOptions;
+
+public class MapActivity extends AppCompatActivity {
+
+ public static final String EXTRA_SNIPPET_TITLE = "snippet_title";
+
+ public MapView mapView;
+ private String snippetTitle;
+ private String groupTitle;
+ public GoogleMap googleMap;
+ private int currentIndex = -1;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ EdgeToEdge.enable(this);
+ setContentView(R.layout.activity_map);
+ if (getSupportActionBar() != null) {
+ getSupportActionBar().setBackgroundDrawable(new android.graphics.drawable.ColorDrawable(android.graphics.Color.parseColor("#E76F00")));
+ }
+ getWindow().setStatusBarColor(android.graphics.Color.parseColor("#C05D00"));
+ android.view.View mainView = findViewById(R.id.map_container);
+ if (mainView != null) {
+ androidx.core.view.ViewCompat.setOnApplyWindowInsetsListener(mainView, (v, insets) -> {
+ androidx.core.graphics.Insets systemBars = insets.getInsets(androidx.core.view.WindowInsetsCompat.Type.systemBars());
+ v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
+ return insets;
+ });
+ }
+ // MapView will be dynamically initialized and added to map_view_holder in runSnippet()
+ try {
+ android.content.pm.ApplicationInfo appInfo = getPackageManager().getApplicationInfo(
+ getPackageName(), android.content.pm.PackageManager.GET_META_DATA);
+ if (appInfo.metaData != null) {
+ String apiKey = appInfo.metaData.getString("com.google.android.geo.API_KEY");
+ if (apiKey != null) {
+ apiKey = apiKey.trim();
+ }
+ if (apiKey == null || apiKey.isEmpty() || apiKey.equals("DEFAULT_API_KEY") || apiKey.equals("YOUR_API_KEY") || !apiKey.startsWith("AIza")) {
+ Toast.makeText(this, "ERROR: Invalid Google Maps API Key configured in secrets.properties", Toast.LENGTH_LONG).show();
+ Log.e("MapActivity", "Invalid MAPS_API_KEY configured in manifest");
+ finish();
+ return;
+ }
+ }
+ } catch (Exception e) {
+ Log.e("MapActivity", "Failed to verify API key metadata", e);
+ }
+
+ if (getSupportActionBar() != null) {
+ getSupportActionBar().setDisplayHomeAsUpEnabled(true);
+ }
+
+ findViewById(R.id.snapshot_button)
+ .setOnClickListener(
+ v -> {
+ if (googleMap != null) {
+ CameraPosition cam = googleMap.getCameraPosition();
+ LatLng target = cam.target;
+ double rawBearing = cam.bearing;
+ double bearing = (rawBearing % 360.0 + 360.0) % 360.0;
+
+ String codeSnippet = String.format(
+ java.util.Locale.US,
+ "CameraPosition.builder()\n .target(new LatLng(%.6f, %.6f))\n .zoom(%.1ff)\n .tilt(%.1ff)\n .bearing(%.1ff)\n .build()",
+ target.latitude,
+ target.longitude,
+ cam.zoom,
+ cam.tilt,
+ bearing);
+
+ android.content.ClipboardManager cm = (android.content.ClipboardManager) getSystemService(android.content.Context.CLIPBOARD_SERVICE);
+ if (cm != null) {
+ cm.setPrimaryClip(android.content.ClipData.newPlainText("CameraPosition", codeSnippet));
+ }
+ Toast.makeText(MapActivity.this, "📷 Camera Pose copied to clipboard!\n" + codeSnippet, Toast.LENGTH_LONG).show();
+ Log.d("MapActivity", "Camera Pose copied:\n" + codeSnippet);
+ } else {
+ Toast.makeText(MapActivity.this, "Map not initialized yet", Toast.LENGTH_SHORT).show();
+ }
+ });
+
+ findViewById(R.id.reset_view_button).setOnClickListener(v -> runSnippet());
+
+ groupTitle = getIntent().getStringExtra("group_title");
+ snippetTitle = getIntent().getStringExtra(EXTRA_SNIPPET_TITLE);
+ final List snippetList = new ArrayList<>();
+ for (SnippetGroupInfo group : SnippetRegistry.getSnippetGroups()) {
+ snippetList.addAll(group.getItems());
+ }
+ for (int i = 0; i < snippetList.size(); i++) {
+ SnippetItemInfo item = snippetList.get(i);
+ if (item.getTitle().equals(snippetTitle)
+ && (groupTitle == null || item.getGroupTitle().equals(groupTitle))) {
+ currentIndex = i;
+ break;
+ }
+ }
+ if (currentIndex == -1 && !snippetList.isEmpty()) {
+ currentIndex = 0;
+ }
+ if (currentIndex >= 0 && currentIndex < snippetList.size()) {
+ SnippetItemInfo item = snippetList.get(currentIndex);
+ groupTitle = item.getGroupTitle();
+ snippetTitle = item.getTitle();
+ }
+
+ findViewById(R.id.purpose_button)
+ .setOnClickListener(
+ v -> {
+ String desc = "Demonstrates " + snippetTitle;
+ if (currentIndex >= 0 && currentIndex < snippetList.size()) {
+ SnippetItemInfo item = snippetList.get(currentIndex);
+ if (item.getDescription() != null && !item.getDescription().isEmpty()) {
+ desc = item.getDescription();
+ }
+ }
+ new androidx.appcompat.app.AlertDialog.Builder(MapActivity.this)
+ .setTitle("ℹ️ " + (snippetTitle != null ? snippetTitle : "Snippet Purpose"))
+ .setMessage("🎯 Purpose & Point:\n" + desc + "\n\n👀 What you should see / do:\nInteract with the live map on your device screen to test this capability.")
+ .setPositiveButton("Got It", null)
+ .show();
+ });
+
+ findViewById(R.id.previous_button)
+ .setOnClickListener(
+ v -> {
+ if (snippetList.isEmpty()) return;
+ if (currentIndex > 0) {
+ currentIndex--;
+ } else {
+ currentIndex = snippetList.size() - 1;
+ }
+ SnippetItemInfo item = snippetList.get(currentIndex);
+ groupTitle = item.getGroupTitle();
+ snippetTitle = item.getTitle();
+ runSnippet();
+ });
+
+ findViewById(R.id.next_button)
+ .setOnClickListener(
+ v -> {
+ if (snippetList.isEmpty()) return;
+ if (currentIndex < snippetList.size() - 1) {
+ currentIndex++;
+ } else {
+ currentIndex = 0;
+ }
+ SnippetItemInfo item = snippetList.get(currentIndex);
+ groupTitle = item.getGroupTitle();
+ snippetTitle = item.getTitle();
+ runSnippet();
+ });
+
+ runSnippet();
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(@NonNull android.view.MenuItem item) {
+ if (item.getItemId() == android.R.id.home) {
+ android.content.Intent intent = new android.content.Intent(this, JavaSnippetsActivity.class);
+ intent.addFlags(android.content.Intent.FLAG_ACTIVITY_CLEAR_TOP);
+ startActivity(intent);
+ finish();
+ return true;
+ }
+ return super.onOptionsItemSelected(item);
+ }
+
+ @Override
+ protected void onNewIntent(@NonNull android.content.Intent intent) {
+ super.onNewIntent(intent);
+ setIntent(intent);
+ groupTitle = intent.getStringExtra("group_title");
+ snippetTitle = intent.getStringExtra(EXTRA_SNIPPET_TITLE);
+ runSnippet();
+ }
+
+ private void recreateMapView(String mapId) {
+ FrameLayout holder = findViewById(R.id.map_view_holder);
+ if (holder == null) return;
+
+ if (this.mapView != null) {
+ this.mapView.onPause();
+ this.mapView.onStop();
+ this.mapView.onDestroy();
+ holder.removeView(this.mapView);
+ this.mapView = null;
+ this.googleMap = null;
+ }
+
+ GoogleMapOptions options = new GoogleMapOptions();
+ if (mapId != null && !mapId.isEmpty() && !mapId.equals("YOUR_MAP_ID")) {
+ options.mapId(mapId);
+ Log.d("MapActivity", "Recreating MapView with Map ID: " + mapId);
+ } else {
+ Log.d("MapActivity", "Recreating MapView with default options (No Map ID)");
+ }
+
+ this.mapView = new MapView(this, options);
+ holder.addView(this.mapView, new FrameLayout.LayoutParams(
+ FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT));
+
+ // Sync lifecycle
+ this.mapView.onCreate(null);
+ this.mapView.onStart();
+ this.mapView.onResume();
+ }
+
+ protected void runSnippet() {
+ if (snippetTitle != null) {
+ String key = groupTitle != null ? groupTitle + " - " + snippetTitle : snippetTitle;
+ SnippetItemInfo snippet = SnippetRegistry.snippets.get(key);
+ if (snippet == null) {
+ for (SnippetGroupInfo g : SnippetRegistry.getSnippetGroups()) {
+ for (SnippetItemInfo item : g.getItems()) {
+ if (item.getTitle().equals(snippetTitle)) {
+ snippet = item;
+ break;
+ }
+ }
+ }
+ }
+ final SnippetItemInfo finalSnippet = snippet;
+ if (finalSnippet != null) {
+ final List allSnippets = new ArrayList<>();
+ for (SnippetGroupInfo g : SnippetRegistry.getSnippetGroups()) {
+ allSnippets.addAll(g.getItems());
+ }
+ for (int i = 0; i < allSnippets.size(); i++) {
+ if (allSnippets.get(i).getTitle().equals(finalSnippet.getTitle()) &&
+ (groupTitle == null || allSnippets.get(i).getGroupTitle().equals(finalSnippet.getGroupTitle()))) {
+ currentIndex = i;
+ break;
+ }
+ }
+
+ if (getSupportActionBar() != null) {
+ getSupportActionBar().setTitle("☕ " + finalSnippet.getTitle());
+ }
+ android.view.View topBar = findViewById(androidx.appcompat.R.id.action_bar);
+ if (topBar != null) {
+ topBar.setOnClickListener(v -> {
+ android.view.View pb = findViewById(R.id.purpose_button);
+ if (pb != null) pb.performClick();
+ });
+ }
+
+ // Aggressively recreate MapView
+ recreateMapView(BuildConfig.MAP_ID);
+ SnippetRegistry.clearTrackedItems();
+ android.widget.LinearLayout controlsContainer = findViewById(R.id.custom_controls_container);
+ if (controlsContainer != null) {
+ controlsContainer.removeAllViews();
+ controlsContainer.setVisibility(android.view.View.GONE);
+ }
+
+ this.mapView.getMapAsync(new OnMapReadyCallback() {
+ @Override
+ public void onMapReady(@NonNull GoogleMap map) {
+ MapActivity.this.googleMap = map;
+ TrackedMap.resetMapToDefaults(map);
+ try {
+ finalSnippet.getAction().execute(MapActivity.this, map);
+ map.setOnMapLoadedCallback(() -> {
+ if (mapView != null) mapView.setContentDescription("MapLoaded");
+ });
+ new Handler(Looper.getMainLooper()).postDelayed(() -> {
+ if (mapView != null) mapView.setContentDescription("MapLoaded");
+ }, 2000);
+ } catch (Exception e) {
+ Toast.makeText(MapActivity.this, "Error: " + e.getMessage(), Toast.LENGTH_LONG).show();
+ e.printStackTrace();
+ }
+ }
+ });
+ } else {
+ Toast.makeText(
+ MapActivity.this,
+ "Snippet not found: " + snippetTitle,
+ Toast.LENGTH_LONG)
+ .show();
+ }
+ }
+ }
+
+ @Override
+ protected void onStart() {
+ super.onStart();
+ if (mapView != null) mapView.onStart();
+ }
+
+ @Override
+ protected void onResume() {
+ super.onResume();
+ if (mapView != null) mapView.onResume();
+ }
+
+ @Override
+ protected void onPause() {
+ if (mapView != null) mapView.onPause();
+ super.onPause();
+ }
+
+ @Override
+ protected void onStop() {
+ if (mapView != null) mapView.onStop();
+ super.onStop();
+ }
+
+ @Override
+ protected void onDestroy() {
+ if (mapView != null) mapView.onDestroy();
+ super.onDestroy();
+ }
+
+ @Override
+ public void onLowMemory() {
+ super.onLowMemory();
+ if (mapView != null) mapView.onLowMemory();
+ }
+
+ @Override
+ protected void onSaveInstanceState(@NonNull Bundle outState) {
+ super.onSaveInstanceState(outState);
+ if (mapView != null) mapView.onSaveInstanceState(outState);
+ }
+}
diff --git a/snippets/java-app/src/main/java/com/example/snippets/java/MapsObject.java b/snippets/java-app/src/main/java/com/example/snippets/java/MapsObject.java
new file mode 100644
index 000000000..ac13d63be
--- /dev/null
+++ b/snippets/java-app/src/main/java/com/example/snippets/java/MapsObject.java
@@ -0,0 +1,61 @@
+/*
+ * Copyright 2026 Google LLC
+ *
+ * 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.example.snippets.java;
+
+import android.os.Bundle;
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AppCompatActivity;
+import com.example.snippets.java.R;
+import com.google.android.gms.maps.GoogleMap;
+import com.google.android.gms.maps.OnMapReadyCallback;
+import com.google.android.gms.maps.SupportMapFragment;
+import com.google.android.gms.maps.model.LatLng;
+import com.google.android.gms.maps.model.MarkerOptions;
+
+class MapsObject extends AppCompatActivity {
+
+ // [START maps_android_on_create_set_content_view]
+ @Override
+ protected void onCreate(@Nullable Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.main);
+ }
+ // [END maps_android_on_create_set_content_view]
+
+ // [START maps_android_on_map_ready_callback]
+ class MainActivity extends AppCompatActivity implements OnMapReadyCallback {
+ // [START_EXCLUDE]
+ // [START maps_android_on_map_ready_add_marker]
+ @Override
+ public void onMapReady(GoogleMap googleMap) {
+ googleMap.addMarker(new MarkerOptions()
+ .position(new LatLng(0, 0))
+ .title("Marker"));
+ }
+ // [END maps_android_on_map_ready_add_marker]
+
+ private void getMapAsync() {
+ // [START maps_android_get_map_async]
+ SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
+ .findFragmentById(R.id.map);
+ mapFragment.getMapAsync(this);
+ // [END maps_android_get_map_async]
+ }
+ // [END_EXCLUDE]
+ }
+ // [END maps_android_on_map_ready_callback]
+}
diff --git a/snippets/java-app/src/main/java/com/example/snippets/java/SnippetAction.java b/snippets/java-app/src/main/java/com/example/snippets/java/SnippetAction.java
new file mode 100644
index 000000000..2f07aecae
--- /dev/null
+++ b/snippets/java-app/src/main/java/com/example/snippets/java/SnippetAction.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2026 Google LLC
+ *
+ * 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.example.snippets.java;
+
+import android.content.Context;
+import com.google.android.gms.maps.GoogleMap;
+
+public interface SnippetAction {
+ void execute(Context context, GoogleMap map);
+}
diff --git a/snippets/java-app/src/main/java/com/example/snippets/java/SnippetGroupAdapter.java b/snippets/java-app/src/main/java/com/example/snippets/java/SnippetGroupAdapter.java
new file mode 100644
index 000000000..6c6b80928
--- /dev/null
+++ b/snippets/java-app/src/main/java/com/example/snippets/java/SnippetGroupAdapter.java
@@ -0,0 +1,134 @@
+/*
+ * Copyright 2026 Google LLC
+ *
+ * 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.example.snippets.java;
+
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.RecyclerView;
+import com.example.snippets.common.R;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+public class SnippetGroupAdapter extends RecyclerView.Adapter {
+ private static final int TYPE_HEADER = 0;
+ private static final int TYPE_ITEM = 1;
+
+ private final List allGroups;
+ private final Set collapsedGroups = new HashSet<>();
+ private final List