From 4acc43cadf5d6ffef97e3beeacaa416abf302b11 Mon Sep 17 00:00:00 2001 From: Dale Hawkins <107309+dkhawk@users.noreply.github.com> Date: Mon, 14 Sep 2026 18:16:12 -0600 Subject: [PATCH] feat: modernize Java snippets module with capabilities test suite - Create :snippets:java-app with 14 snippet categories and documentation region tags - Add Java snippet infrastructure (JavaSnippetsActivity, MapActivity, SnippetRegistry, TrackedMap) - Add Java capabilities test suite (CatalogCapabilitiesTestSuite, CameraControl, Events, MapInit, Marker) - Remove legacy Java snippet modules (snippets/app, snippets/app-rx, snippets/app-utils) - Update root settings.gradle.kts --- .github/workflows/build.yml | 3 +- .github/workflows/lint.yml | 15 +- settings.gradle.kts | 6 +- snippets/app-rx/.gitignore | 1 - snippets/app-rx/build.gradle.kts | 106 ---- snippets/app-rx/proguard-rules.pro | 21 - snippets/app-rx/src/main/AndroidManifest.xml | 33 - .../main/java/com/example/app_rx/MapsRx.kt | 50 -- .../main/java/com/example/app_rx/PlacesRx.kt | 41 -- .../drawable-v24/ic_launcher_foreground.xml | 46 -- .../res/drawable/ic_launcher_background.xml | 186 ------ .../res/mipmap-anydpi-v26/ic_launcher.xml | 22 - .../src/main/res/mipmap-hdpi/ic_launcher.webp | Bin 1404 -> 0 bytes .../res/mipmap-hdpi/ic_launcher_round.webp | Bin 2898 -> 0 bytes .../src/main/res/mipmap-mdpi/ic_launcher.webp | Bin 982 -> 0 bytes .../res/mipmap-mdpi/ic_launcher_round.webp | Bin 1772 -> 0 bytes .../main/res/mipmap-xhdpi/ic_launcher.webp | Bin 1900 -> 0 bytes .../res/mipmap-xhdpi/ic_launcher_round.webp | Bin 3918 -> 0 bytes .../main/res/mipmap-xxhdpi/ic_launcher.webp | Bin 2884 -> 0 bytes .../res/mipmap-xxhdpi/ic_launcher_round.webp | Bin 5914 -> 0 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.webp | Bin 3844 -> 0 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.webp | Bin 7778 -> 0 bytes .../src/main/res/values-night/themes.xml | 32 - .../app-rx/src/main/res/values/colors.xml | 26 - .../app-rx/src/main/res/values/strings.xml | 19 - .../app-rx/src/main/res/values/themes.xml | 32 - snippets/app-utils/.gitignore | 1 - snippets/app-utils/build.gradle.kts | 112 ---- snippets/app-utils/proguard-rules.pro | 21 - .../app-utils/src/main/AndroidManifest.xml | 33 - .../com/example/app_utils/Clustering.java | 128 ---- .../java/com/example/app_utils/GeoJSON.java | 130 ---- .../java/com/example/app_utils/Heatmaps.java | 122 ---- .../main/java/com/example/app_utils/KML.java | 98 --- .../com/example/app_utils/Multilayer.java | 115 ---- .../drawable-v24/ic_launcher_foreground.xml | 46 -- .../res/drawable/ic_launcher_background.xml | 186 ------ .../res/mipmap-anydpi-v26/ic_launcher.xml | 22 - .../mipmap-anydpi-v26/ic_launcher_round.xml | 22 - .../src/main/res/mipmap-hdpi/ic_launcher.webp | Bin 1404 -> 0 bytes .../res/mipmap-hdpi/ic_launcher_round.webp | Bin 2898 -> 0 bytes .../src/main/res/mipmap-mdpi/ic_launcher.webp | Bin 982 -> 0 bytes .../res/mipmap-mdpi/ic_launcher_round.webp | Bin 1772 -> 0 bytes .../main/res/mipmap-xhdpi/ic_launcher.webp | Bin 1900 -> 0 bytes .../res/mipmap-xhdpi/ic_launcher_round.webp | Bin 3918 -> 0 bytes .../main/res/mipmap-xxhdpi/ic_launcher.webp | Bin 2884 -> 0 bytes .../res/mipmap-xxhdpi/ic_launcher_round.webp | Bin 5914 -> 0 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.webp | Bin 3844 -> 0 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.webp | Bin 7778 -> 0 bytes .../src/main/res/raw/geojson_file.json | 518 ---------------- .../app-utils/src/main/res/raw/kml_file.kml | 194 ------ .../src/main/res/raw/police_stations.json | 347 ----------- .../app-utils/src/main/res/values/colors.xml | 26 - .../app-utils/src/main/res/values/strings.xml | 19 - .../app-utils/src/main/res/values/styles.xml | 26 - snippets/app/.gitignore | 1 - snippets/app/build.gradle.kts | 109 ---- snippets/app/proguard-rules.pro | 21 - snippets/app/src/main/AndroidManifest.xml | 37 -- .../AdvancedMarkersCollisionActivity.java | 45 -- .../google/maps/example/CameraAndView.java | 94 --- .../example/CloudBasedMapStylingActivity.java | 35 -- .../google/maps/example/EventsActivity.java | 64 -- .../google/maps/example/GroundOverlays.java | 81 --- .../com/google/maps/example/InfoWindows.java | 72 --- .../com/google/maps/example/LiteMode.java | 26 - .../java/com/google/maps/example/MapId.java | 41 -- .../example/MapRendererOptInApplication.java | 45 -- .../com/google/maps/example/MapsActivity.java | 63 -- .../com/google/maps/example/MapsObject.java | 91 --- .../java/com/google/maps/example/Markers.java | 198 ------ .../maps/example/MyLocationLayerActivity.java | 69 --- .../maps/example/OnPoiClickDemoActivity.java | 54 -- .../PolylineCustomizationActivity.java | 62 -- .../java/com/google/maps/example/Shapes.java | 185 ------ .../com/google/maps/example/TileOverlays.java | 103 --- .../AdvancedMarkersCollisionActivity.kt | 43 -- .../maps/example/kotlin/CameraAndView.kt | 94 --- .../kotlin/CloudBasedMapStylingActivity.kt | 33 - .../maps/example/kotlin/EventsActivity.kt | 56 -- .../maps/example/kotlin/GroundOverlays.kt | 83 --- .../google/maps/example/kotlin/InfoWindows.kt | 72 --- .../google/maps/example/kotlin/LiteMode.kt | 24 - .../com/google/maps/example/kotlin/MapId.kt | 40 -- .../kotlin/MapRendererOptInApplication.kt | 37 -- .../maps/example/kotlin/MapsActivity.kt | 64 -- .../google/maps/example/kotlin/MapsObject.kt | 89 --- .../com/google/maps/example/kotlin/Markers.kt | 208 ------- .../example/kotlin/MyLocationLayerActivity.kt | 64 -- .../example/kotlin/OnPoiClickDemoActivity.kt | 50 -- .../kotlin/PolylineCustomizationActivity.kt | 71 --- .../com/google/maps/example/kotlin/Shapes.kt | 187 ------ .../maps/example/kotlin/StreetViewActivity.kt | 130 ---- .../maps/example/kotlin/TileOverlays.kt | 96 --- .../drawable-v24/ic_launcher_foreground.xml | 46 -- .../res/drawable/ic_launcher_background.xml | 186 ------ .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 3593 -> 0 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 5339 -> 0 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 2636 -> 0 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 3388 -> 0 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 4926 -> 0 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 7472 -> 0 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 7909 -> 0 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 11873 -> 0 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 10652 -> 0 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 16570 -> 0 bytes snippets/app/src/v3/AndroidManifest.xml | 28 - .../example/CloudBasedMapStylingActivity.java | 35 -- .../maps/example/POIBehaviorActivity.java | 42 -- .../PolylineCustomizationActivity.java | 61 -- .../kotlin/CloudBasedMapStylingActivity.kt | 33 - .../example/kotlin/POIBehaviorActivity.kt | 39 -- .../kotlin/PolylineCustomizationActivity.kt | 66 -- snippets/app/src/v3/res/values/dimens.xml | 18 - snippets/app/src/v3/res/values/strings.xml | 20 - snippets/app/src/v3/res/values/styles.xml | 24 - snippets/java-app/build.gradle.kts | 73 +++ .../snippets/java/SnippetDiscoveryTest.java | 79 +++ .../CameraControlSnippetsTest.java | 140 +++++ .../CatalogCapabilitiesTestSuite.java | 33 + .../java/capabilities/EventsSnippetsTest.java | 114 ++++ .../capabilities/MapInitSnippetsTest.java | 123 ++++ .../java/capabilities/MarkerSnippetsTest.java | 177 ++++++ .../java-app/src/main/AndroidManifest.xml | 57 ++ .../snippets/java/JavaSnippetsActivity.java | 59 ++ .../example/snippets/java/MapActivity.java | 360 +++++++++++ .../example/snippets/java/SnippetAction.java | 24 + .../snippets/java/SnippetGroupAdapter.java | 134 ++++ .../snippets/java/SnippetGroupInfo.java | 44 ++ .../snippets/java/SnippetItemInfo.java | 49 ++ .../snippets/java/SnippetRegistry.java | 155 +++++ .../snippets/java}/StreetViewActivity.java | 4 +- .../com/example/snippets/java/TrackedMap.java | 262 ++++++++ .../java/annotations/SnippetGroup.java | 37 ++ .../java/annotations/SnippetItem.java | 37 ++ .../java/snippets/CameraControlSnippets.java | 124 ++++ .../snippets/CloudCustomizationSnippets.java | 144 +++++ .../snippets/DataDrivenBoundarySnippets.java | 204 ++++++ .../java/snippets/DatasetLayerSnippets.java | 311 ++++++++++ .../java/snippets/EventsSnippets.java | 126 ++++ .../java/snippets/MapInitSnippets.java | 197 ++++++ .../java/snippets/MarkerSnippets.java | 300 +++++++++ .../java/snippets/MyLocationSnippets.java | 71 +++ .../java/snippets/OverlaySnippets.java | 204 ++++++ .../java/snippets/ShapesSnippets.java | 303 +++++++++ .../java/snippets/StreetViewSnippets.java | 81 +++ .../snippets/java/snippets/UtilsSnippets.java | 584 ++++++++++++++++++ .../res/drawable-xhdpi/harbour_bridge.jpg | Bin .../res/drawable-xhdpi/newark_nj_1922.png | Bin .../src/main/res/drawable/arrow.xml | 0 .../res/drawable/ic_launcher_background.xml} | 16 +- .../res/drawable/ic_launcher_foreground.xml | 56 ++ .../src/main/res/drawable/walking_dot.xml | 0 .../src/main/res/layout/activity_events.xml | 0 .../src/main/res/layout/activity_maps.xml | 0 .../src/main/res/layout/activity_markers.xml | 0 .../main/res/layout/activity_my_location.xml | 0 .../main/res/layout/activity_street_view.xml | 0 .../src/main/res/layout/main.xml | 0 .../src/main/res/layout/poi_click_demo.xml | 0 .../res/mipmap-anydpi-v26/ic_launcher.xml | 0 .../mipmap-anydpi-v26/ic_launcher_round.xml | 0 .../src/main/res/values/colors.xml | 6 +- .../src/main/res/values/strings.xml | 2 +- .../src/main/res/values/styles.xml | 2 +- 165 files changed, 4686 insertions(+), 6346 deletions(-) delete mode 100644 snippets/app-rx/.gitignore delete mode 100644 snippets/app-rx/build.gradle.kts delete mode 100644 snippets/app-rx/proguard-rules.pro delete mode 100644 snippets/app-rx/src/main/AndroidManifest.xml delete mode 100644 snippets/app-rx/src/main/java/com/example/app_rx/MapsRx.kt delete mode 100644 snippets/app-rx/src/main/java/com/example/app_rx/PlacesRx.kt delete mode 100644 snippets/app-rx/src/main/res/drawable-v24/ic_launcher_foreground.xml delete mode 100644 snippets/app-rx/src/main/res/drawable/ic_launcher_background.xml delete mode 100644 snippets/app-rx/src/main/res/mipmap-anydpi-v26/ic_launcher.xml delete mode 100644 snippets/app-rx/src/main/res/mipmap-hdpi/ic_launcher.webp delete mode 100644 snippets/app-rx/src/main/res/mipmap-hdpi/ic_launcher_round.webp delete mode 100644 snippets/app-rx/src/main/res/mipmap-mdpi/ic_launcher.webp delete mode 100644 snippets/app-rx/src/main/res/mipmap-mdpi/ic_launcher_round.webp delete mode 100644 snippets/app-rx/src/main/res/mipmap-xhdpi/ic_launcher.webp delete mode 100644 snippets/app-rx/src/main/res/mipmap-xhdpi/ic_launcher_round.webp delete mode 100644 snippets/app-rx/src/main/res/mipmap-xxhdpi/ic_launcher.webp delete mode 100644 snippets/app-rx/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp delete mode 100644 snippets/app-rx/src/main/res/mipmap-xxxhdpi/ic_launcher.webp delete mode 100644 snippets/app-rx/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp delete mode 100644 snippets/app-rx/src/main/res/values-night/themes.xml delete mode 100644 snippets/app-rx/src/main/res/values/colors.xml delete mode 100644 snippets/app-rx/src/main/res/values/strings.xml delete mode 100644 snippets/app-rx/src/main/res/values/themes.xml delete mode 100644 snippets/app-utils/.gitignore delete mode 100644 snippets/app-utils/build.gradle.kts delete mode 100644 snippets/app-utils/proguard-rules.pro delete mode 100644 snippets/app-utils/src/main/AndroidManifest.xml delete mode 100644 snippets/app-utils/src/main/java/com/example/app_utils/Clustering.java delete mode 100644 snippets/app-utils/src/main/java/com/example/app_utils/GeoJSON.java delete mode 100644 snippets/app-utils/src/main/java/com/example/app_utils/Heatmaps.java delete mode 100644 snippets/app-utils/src/main/java/com/example/app_utils/KML.java delete mode 100644 snippets/app-utils/src/main/java/com/example/app_utils/Multilayer.java delete mode 100644 snippets/app-utils/src/main/res/drawable-v24/ic_launcher_foreground.xml delete mode 100644 snippets/app-utils/src/main/res/drawable/ic_launcher_background.xml delete mode 100644 snippets/app-utils/src/main/res/mipmap-anydpi-v26/ic_launcher.xml delete mode 100644 snippets/app-utils/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml delete mode 100644 snippets/app-utils/src/main/res/mipmap-hdpi/ic_launcher.webp delete mode 100644 snippets/app-utils/src/main/res/mipmap-hdpi/ic_launcher_round.webp delete mode 100644 snippets/app-utils/src/main/res/mipmap-mdpi/ic_launcher.webp delete mode 100644 snippets/app-utils/src/main/res/mipmap-mdpi/ic_launcher_round.webp delete mode 100644 snippets/app-utils/src/main/res/mipmap-xhdpi/ic_launcher.webp delete mode 100644 snippets/app-utils/src/main/res/mipmap-xhdpi/ic_launcher_round.webp delete mode 100644 snippets/app-utils/src/main/res/mipmap-xxhdpi/ic_launcher.webp delete mode 100644 snippets/app-utils/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp delete mode 100644 snippets/app-utils/src/main/res/mipmap-xxxhdpi/ic_launcher.webp delete mode 100644 snippets/app-utils/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp delete mode 100644 snippets/app-utils/src/main/res/raw/geojson_file.json delete mode 100644 snippets/app-utils/src/main/res/raw/kml_file.kml delete mode 100644 snippets/app-utils/src/main/res/raw/police_stations.json delete mode 100644 snippets/app-utils/src/main/res/values/colors.xml delete mode 100644 snippets/app-utils/src/main/res/values/strings.xml delete mode 100644 snippets/app-utils/src/main/res/values/styles.xml delete mode 100644 snippets/app/.gitignore delete mode 100644 snippets/app/build.gradle.kts delete mode 100644 snippets/app/proguard-rules.pro delete mode 100644 snippets/app/src/main/AndroidManifest.xml delete mode 100644 snippets/app/src/main/java/com/google/maps/example/AdvancedMarkersCollisionActivity.java delete mode 100644 snippets/app/src/main/java/com/google/maps/example/CameraAndView.java delete mode 100644 snippets/app/src/main/java/com/google/maps/example/CloudBasedMapStylingActivity.java delete mode 100644 snippets/app/src/main/java/com/google/maps/example/EventsActivity.java delete mode 100644 snippets/app/src/main/java/com/google/maps/example/GroundOverlays.java delete mode 100644 snippets/app/src/main/java/com/google/maps/example/InfoWindows.java delete mode 100644 snippets/app/src/main/java/com/google/maps/example/LiteMode.java delete mode 100644 snippets/app/src/main/java/com/google/maps/example/MapId.java delete mode 100644 snippets/app/src/main/java/com/google/maps/example/MapRendererOptInApplication.java delete mode 100644 snippets/app/src/main/java/com/google/maps/example/MapsActivity.java delete mode 100644 snippets/app/src/main/java/com/google/maps/example/MapsObject.java delete mode 100644 snippets/app/src/main/java/com/google/maps/example/Markers.java delete mode 100644 snippets/app/src/main/java/com/google/maps/example/MyLocationLayerActivity.java delete mode 100644 snippets/app/src/main/java/com/google/maps/example/OnPoiClickDemoActivity.java delete mode 100644 snippets/app/src/main/java/com/google/maps/example/PolylineCustomizationActivity.java delete mode 100644 snippets/app/src/main/java/com/google/maps/example/Shapes.java delete mode 100644 snippets/app/src/main/java/com/google/maps/example/TileOverlays.java delete mode 100644 snippets/app/src/main/java/com/google/maps/example/kotlin/AdvancedMarkersCollisionActivity.kt delete mode 100644 snippets/app/src/main/java/com/google/maps/example/kotlin/CameraAndView.kt delete mode 100644 snippets/app/src/main/java/com/google/maps/example/kotlin/CloudBasedMapStylingActivity.kt delete mode 100644 snippets/app/src/main/java/com/google/maps/example/kotlin/EventsActivity.kt delete mode 100644 snippets/app/src/main/java/com/google/maps/example/kotlin/GroundOverlays.kt delete mode 100644 snippets/app/src/main/java/com/google/maps/example/kotlin/InfoWindows.kt delete mode 100644 snippets/app/src/main/java/com/google/maps/example/kotlin/LiteMode.kt delete mode 100644 snippets/app/src/main/java/com/google/maps/example/kotlin/MapId.kt delete mode 100644 snippets/app/src/main/java/com/google/maps/example/kotlin/MapRendererOptInApplication.kt delete mode 100644 snippets/app/src/main/java/com/google/maps/example/kotlin/MapsActivity.kt delete mode 100644 snippets/app/src/main/java/com/google/maps/example/kotlin/MapsObject.kt delete mode 100644 snippets/app/src/main/java/com/google/maps/example/kotlin/Markers.kt delete mode 100644 snippets/app/src/main/java/com/google/maps/example/kotlin/MyLocationLayerActivity.kt delete mode 100644 snippets/app/src/main/java/com/google/maps/example/kotlin/OnPoiClickDemoActivity.kt delete mode 100644 snippets/app/src/main/java/com/google/maps/example/kotlin/PolylineCustomizationActivity.kt delete mode 100644 snippets/app/src/main/java/com/google/maps/example/kotlin/Shapes.kt delete mode 100644 snippets/app/src/main/java/com/google/maps/example/kotlin/StreetViewActivity.kt delete mode 100644 snippets/app/src/main/java/com/google/maps/example/kotlin/TileOverlays.kt delete mode 100644 snippets/app/src/main/res/drawable-v24/ic_launcher_foreground.xml delete mode 100644 snippets/app/src/main/res/drawable/ic_launcher_background.xml delete mode 100644 snippets/app/src/main/res/mipmap-hdpi/ic_launcher.png delete mode 100644 snippets/app/src/main/res/mipmap-hdpi/ic_launcher_round.png delete mode 100644 snippets/app/src/main/res/mipmap-mdpi/ic_launcher.png delete mode 100644 snippets/app/src/main/res/mipmap-mdpi/ic_launcher_round.png delete mode 100644 snippets/app/src/main/res/mipmap-xhdpi/ic_launcher.png delete mode 100644 snippets/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png delete mode 100644 snippets/app/src/main/res/mipmap-xxhdpi/ic_launcher.png delete mode 100644 snippets/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png delete mode 100644 snippets/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 snippets/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png delete mode 100644 snippets/app/src/v3/AndroidManifest.xml delete mode 100644 snippets/app/src/v3/java/com/google/maps/example/CloudBasedMapStylingActivity.java delete mode 100644 snippets/app/src/v3/java/com/google/maps/example/POIBehaviorActivity.java delete mode 100644 snippets/app/src/v3/java/com/google/maps/example/PolylineCustomizationActivity.java delete mode 100644 snippets/app/src/v3/java/com/google/maps/example/kotlin/CloudBasedMapStylingActivity.kt delete mode 100644 snippets/app/src/v3/java/com/google/maps/example/kotlin/POIBehaviorActivity.kt delete mode 100644 snippets/app/src/v3/java/com/google/maps/example/kotlin/PolylineCustomizationActivity.kt delete mode 100644 snippets/app/src/v3/res/values/dimens.xml delete mode 100644 snippets/app/src/v3/res/values/strings.xml delete mode 100644 snippets/app/src/v3/res/values/styles.xml create mode 100644 snippets/java-app/build.gradle.kts create mode 100644 snippets/java-app/src/androidTest/java/com/example/snippets/java/SnippetDiscoveryTest.java create mode 100644 snippets/java-app/src/androidTest/java/com/example/snippets/java/capabilities/CameraControlSnippetsTest.java create mode 100644 snippets/java-app/src/androidTest/java/com/example/snippets/java/capabilities/CatalogCapabilitiesTestSuite.java create mode 100644 snippets/java-app/src/androidTest/java/com/example/snippets/java/capabilities/EventsSnippetsTest.java create mode 100644 snippets/java-app/src/androidTest/java/com/example/snippets/java/capabilities/MapInitSnippetsTest.java create mode 100644 snippets/java-app/src/androidTest/java/com/example/snippets/java/capabilities/MarkerSnippetsTest.java create mode 100644 snippets/java-app/src/main/AndroidManifest.xml create mode 100644 snippets/java-app/src/main/java/com/example/snippets/java/JavaSnippetsActivity.java create mode 100644 snippets/java-app/src/main/java/com/example/snippets/java/MapActivity.java create mode 100644 snippets/java-app/src/main/java/com/example/snippets/java/SnippetAction.java create mode 100644 snippets/java-app/src/main/java/com/example/snippets/java/SnippetGroupAdapter.java create mode 100644 snippets/java-app/src/main/java/com/example/snippets/java/SnippetGroupInfo.java create mode 100644 snippets/java-app/src/main/java/com/example/snippets/java/SnippetItemInfo.java create mode 100644 snippets/java-app/src/main/java/com/example/snippets/java/SnippetRegistry.java rename snippets/{app/src/main/java/com/google/maps/example => java-app/src/main/java/com/example/snippets/java}/StreetViewActivity.java (97%) create mode 100644 snippets/java-app/src/main/java/com/example/snippets/java/TrackedMap.java create mode 100644 snippets/java-app/src/main/java/com/example/snippets/java/annotations/SnippetGroup.java create mode 100644 snippets/java-app/src/main/java/com/example/snippets/java/annotations/SnippetItem.java create mode 100644 snippets/java-app/src/main/java/com/example/snippets/java/snippets/CameraControlSnippets.java create mode 100644 snippets/java-app/src/main/java/com/example/snippets/java/snippets/CloudCustomizationSnippets.java create mode 100644 snippets/java-app/src/main/java/com/example/snippets/java/snippets/DataDrivenBoundarySnippets.java create mode 100644 snippets/java-app/src/main/java/com/example/snippets/java/snippets/DatasetLayerSnippets.java create mode 100644 snippets/java-app/src/main/java/com/example/snippets/java/snippets/EventsSnippets.java create mode 100644 snippets/java-app/src/main/java/com/example/snippets/java/snippets/MapInitSnippets.java create mode 100644 snippets/java-app/src/main/java/com/example/snippets/java/snippets/MarkerSnippets.java create mode 100644 snippets/java-app/src/main/java/com/example/snippets/java/snippets/MyLocationSnippets.java create mode 100644 snippets/java-app/src/main/java/com/example/snippets/java/snippets/OverlaySnippets.java create mode 100644 snippets/java-app/src/main/java/com/example/snippets/java/snippets/ShapesSnippets.java create mode 100644 snippets/java-app/src/main/java/com/example/snippets/java/snippets/StreetViewSnippets.java create mode 100644 snippets/java-app/src/main/java/com/example/snippets/java/snippets/UtilsSnippets.java rename snippets/{app => java-app}/src/main/res/drawable-xhdpi/harbour_bridge.jpg (100%) rename snippets/{app => java-app}/src/main/res/drawable-xhdpi/newark_nj_1922.png (100%) rename snippets/{app => java-app}/src/main/res/drawable/arrow.xml (100%) rename snippets/{app-rx/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml => java-app/src/main/res/drawable/ic_launcher_background.xml} (63%) create mode 100644 snippets/java-app/src/main/res/drawable/ic_launcher_foreground.xml rename snippets/{app => java-app}/src/main/res/drawable/walking_dot.xml (100%) rename snippets/{app => java-app}/src/main/res/layout/activity_events.xml (100%) rename snippets/{app => java-app}/src/main/res/layout/activity_maps.xml (100%) rename snippets/{app => java-app}/src/main/res/layout/activity_markers.xml (100%) rename snippets/{app => java-app}/src/main/res/layout/activity_my_location.xml (100%) rename snippets/{app => java-app}/src/main/res/layout/activity_street_view.xml (100%) rename snippets/{app => java-app}/src/main/res/layout/main.xml (100%) rename snippets/{app => java-app}/src/main/res/layout/poi_click_demo.xml (100%) rename snippets/{app => java-app}/src/main/res/mipmap-anydpi-v26/ic_launcher.xml (100%) rename snippets/{app => java-app}/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml (100%) rename snippets/{app => java-app}/src/main/res/values/colors.xml (82%) rename snippets/{app => java-app}/src/main/res/values/strings.xml (91%) rename snippets/{app => java-app}/src/main/res/values/styles.xml (91%) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0f7fe1095..3a2b43448 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 930a11e7c..21036e9e1 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@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7 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@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7 - 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@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7 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-rx/.gitignore b/snippets/app-rx/.gitignore deleted file mode 100644 index 42afabfd2..000000000 --- a/snippets/app-rx/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build \ No newline at end of file diff --git a/snippets/app-rx/build.gradle.kts b/snippets/app-rx/build.gradle.kts deleted file mode 100644 index bb48fd8fc..000000000 --- a/snippets/app-rx/build.gradle.kts +++ /dev/null @@ -1,106 +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.jetbrains.kotlin.android) - alias(libs.plugins.secrets.gradle.plugin) -} - -android { - namespace = "com.google.maps.example.rx" - compileSdk = libs.versions.compileSdk.get().toInt() - defaultConfig { - applicationId = "com.google.maps.example.rx" - 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_maps_rx_install] -dependencies { - // RxJava bindings for the Maps SDK - implementation(libs.maps.rx) - - // RxJava bindings for the Places SDK - implementation(libs.places.rx) - - // It is recommended to also include the latest Maps SDK, Places SDK and RxJava so you - // have the latest features and bug fixes. - implementation("com.google.android.gms:play-services-maps:20.0.0") - implementation("com.google.android.libraries.places:places:5.3.0") - implementation("io.reactivex.rxjava3:rxjava:3.1.12") - - // [START_EXCLUDE silent] - implementation(libs.appcompat) - implementation(libs.lifecycle.runtime.ktx) - implementation(libs.material) - implementation(libs.rxlifecycle.android.lifecycle.kotlin) - implementation(libs.maps.ktx) - implementation(libs.kotlin.stdlib.jdk8) - // [END_EXCLUDE silent] -} -// [END maps_android_maps_rx_install] - -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-rx/proguard-rules.pro b/snippets/app-rx/proguard-rules.pro deleted file mode 100644 index 481bb4348..000000000 --- a/snippets/app-rx/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-rx/src/main/AndroidManifest.xml b/snippets/app-rx/src/main/AndroidManifest.xml deleted file mode 100644 index d8ce849b3..000000000 --- a/snippets/app-rx/src/main/AndroidManifest.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/snippets/app-rx/src/main/java/com/example/app_rx/MapsRx.kt b/snippets/app-rx/src/main/java/com/example/app_rx/MapsRx.kt deleted file mode 100644 index de1033604..000000000 --- a/snippets/app-rx/src/main/java/com/example/app_rx/MapsRx.kt +++ /dev/null @@ -1,50 +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.example.app_rx - -import android.util.Log -import com.google.android.gms.maps.GoogleMap -import com.google.maps.android.rx.cameraIdleEvents -import com.google.maps.android.rx.cameraMoveCanceledEvents -import com.google.maps.android.rx.cameraMoveEvents -import com.google.maps.android.rx.cameraMoveStartedEvents -import com.google.maps.android.rx.markerClickEvents -import io.reactivex.rxjava3.core.Observable - -internal class MapsRx { - private fun markerClicks(googleMap: GoogleMap) { - // [START maps_android_maps_rx_marker_click_events] - googleMap.markerClickEvents() - .subscribe { marker -> - Log.d("MapsRx", "Marker ${marker.title} was clicked") - } - // [END maps_android_maps_rx_marker_click_events] - } - - private fun cameraEvents(googleMap: GoogleMap) { - // [START maps_android_maps_rx_camera_merge_events] - Observable.merge( - googleMap.cameraIdleEvents(), - googleMap.cameraMoveEvents(), - googleMap.cameraMoveCanceledEvents(), - googleMap.cameraMoveStartedEvents() - ).subscribe { - // Notified when any camera event occurs - } - // [END maps_android_maps_rx_camera_merge_events] - } -} \ No newline at end of file diff --git a/snippets/app-rx/src/main/java/com/example/app_rx/PlacesRx.kt b/snippets/app-rx/src/main/java/com/example/app_rx/PlacesRx.kt deleted file mode 100644 index e31413c2b..000000000 --- a/snippets/app-rx/src/main/java/com/example/app_rx/PlacesRx.kt +++ /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.example.app_rx - -import android.util.Log -import com.google.android.libraries.places.api.model.Place -import com.google.android.libraries.places.api.net.PlacesClient -import com.google.maps.android.rx.places.fetchPlace - -internal class PlacesRx { - fun fetchPlace(placesClient: PlacesClient) { - // [START maps_android_places_rx_marker_click_events] - placesClient.fetchPlace( - placeId = "thePlaceId", - placeFields = listOf(Place.Field.ID, Place.Field.NAME, Place.Field.ADDRESS), - actions = {} - ).subscribe( - { response -> - Log.d("PlacesRx", "Successfully got place ${response.place.id}") - }, - { error -> - Log.e("PlacesRx", "Could not get place: ${error.message}") - } - ) - } - // [END maps_android_places_rx_marker_click_events] -} \ No newline at end of file diff --git a/snippets/app-rx/src/main/res/drawable-v24/ic_launcher_foreground.xml b/snippets/app-rx/src/main/res/drawable-v24/ic_launcher_foreground.xml deleted file mode 100644 index ab975bf3c..000000000 --- a/snippets/app-rx/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-rx/src/main/res/drawable/ic_launcher_background.xml b/snippets/app-rx/src/main/res/drawable/ic_launcher_background.xml deleted file mode 100644 index 2e6ea5e9b..000000000 --- a/snippets/app-rx/src/main/res/drawable/ic_launcher_background.xml +++ /dev/null @@ -1,186 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/snippets/app-rx/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/snippets/app-rx/src/main/res/mipmap-anydpi-v26/ic_launcher.xml deleted file mode 100644 index b89ac5f12..000000000 --- a/snippets/app-rx/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-rx/src/main/res/mipmap-hdpi/ic_launcher.webp b/snippets/app-rx/src/main/res/mipmap-hdpi/ic_launcher.webp deleted file mode 100644 index c209e78ecd372343283f4157dcfd918ec5165bb3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1404 zcmV-?1%vuhNk&F=1pok7MM6+kP&il$0000G0000-002h-06|PpNX!5L00Dqw+t%{r zzW2vH!KF=w&cMnnN@{whkTw+#mAh0SV?YL=)3MimFYCWp#fpdtz~8$hD5VPuQgtcN zXl<@<#Cme5f5yr2h%@8TWh?)bSK`O z^Z@d={gn7J{iyxL_y_%J|L>ep{dUxUP8a{byupH&!UNR*OutO~0{*T4q5R6@ApLF! z5{w?Z150gC7#>(VHFJZ-^6O@PYp{t!jH(_Z*nzTK4 zkc{fLE4Q3|mA2`CWQ3{8;gxGizgM!zccbdQoOLZc8hThi-IhN90RFT|zlxh3Ty&VG z?Fe{#9RrRnxzsu|Lg2ddugg7k%>0JeD+{XZ7>Z~{=|M+sh1MF7~ zz>To~`~LVQe1nNoR-gEzkpe{Ak^7{{ZBk2i_<+`Bq<^GB!RYG+z)h;Y3+<{zlMUYd zrd*W4w&jZ0%kBuDZ1EW&KLpyR7r2=}fF2%0VwHM4pUs}ZI2egi#DRMYZPek*^H9YK zay4Iy3WXFG(F14xYsoDA|KXgGc5%2DhmQ1gFCkrgHBm!lXG8I5h*uf{rn48Z!_@ z4Bk6TJAB2CKYqPjiX&mWoW>OPFGd$wqroa($ne7EUK;#3VYkXaew%Kh^3OrMhtjYN?XEoY`tRPQsAkH-DSL^QqyN0>^ zmC>{#F14jz4GeW{pJoRpLFa_*GI{?T93^rX7SPQgT@LbLqpNA}<@2wH;q493)G=1Y z#-sCiRNX~qf3KgiFzB3I>4Z%AfS(3$`-aMIBU+6?gbgDb!)L~A)je+;fR0jWLL-Fu z4)P{c7{B4Hp91&%??2$v9iRSFnuckHUm}or9seH6 z>%NbT+5*@L5(I9j@06@(!{ZI?U0=pKn8uwIg&L{JV14+8s2hnvbRrU|hZCd}IJu7*;;ECgO%8_*W Kmw_-CKmY()leWbG diff --git a/snippets/app-rx/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/snippets/app-rx/src/main/res/mipmap-hdpi/ic_launcher_round.webp deleted file mode 100644 index b2dfe3d1ba5cf3ee31b3ecc1ced89044a1f3b7a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2898 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 diff --git a/snippets/app-rx/src/main/res/mipmap-mdpi/ic_launcher.webp b/snippets/app-rx/src/main/res/mipmap-mdpi/ic_launcher.webp deleted file mode 100644 index 4f0f1d64e58ba64d180ce43ee13bf9a17835fbca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 982 zcmV;{11bDcNk&G_0{{S5MM6+kP&il$0000G0000l001ul06|PpNU8t;00Dqo+t#w^ z^1csucXz7-Qrhzl9HuHB%l>&>1tG2^vb*E&k^T3$FG1eQZ51g$uv4V+kI`0<^1Z@N zk?Jjh$olyC%l>)Xq;7!>{iBj&BjJ`P&$fsCfpve_epJOBkTF?nu-B7D!hO=2ZR}

C%4 zc_9eOXvPbC4kzU8YowIA8cW~Uv|eB&yYwAObSwL2vY~UYI7NXPvf3b+c^?wcs~_t{ ze_m66-0)^{JdOMKPwjpQ@Sna!*?$wTZ~su*tNv7o!gXT!GRgivP}ec?5>l1!7<(rT zds|8x(qGc673zrvYIz;J23FG{9nHMnAuP}NpAED^laz3mAN1sy+NXK)!6v1FxQ;lh zOBLA>$~P3r4b*NcqR;y6pwyhZ3_PiDb|%n1gGjl3ZU}ujInlP{eks-#oA6>rh&g+!f`hv#_%JrgYPu z(U^&XLW^QX7F9Z*SRPpQl{B%x)_AMp^}_v~?j7 zapvHMKxSf*Mtyx8I}-<*UGn3)oHd(nn=)BZ`d$lDBwq_GL($_TPaS{UeevT(AJ`p0 z9%+hQb6z)U9qjbuXjg|dExCLjpS8$VKQ55VsIC%@{N5t{NsW)=hNGI`J=x97_kbz@ E0Of=7!TQj4N+cqN`nQhxvX7dAV-`K|Ub$-q+H-5I?Tx0g9jWxd@A|?POE8`3b8fO$T))xP* z(X?&brZw({`)WU&rdAs1iTa0x6F@PIxJ&&L|dpySV!ID|iUhjCcKz(@mE z!x@~W#3H<)4Ae(4eQJRk`Iz3<1)6^m)0b_4_TRZ+cz#eD3f8V;2r-1fE!F}W zEi0MEkTTx}8i1{`l_6vo0(Vuh0HD$I4SjZ=?^?k82R51bC)2D_{y8mi_?X^=U?2|F{Vr7s!k(AZC$O#ZMyavHhlQ7 zUR~QXuH~#o#>(b$u4?s~HLF*3IcF7023AlwAYudn0FV~|odGH^05AYPEfR)8p`i{n zwg3zPVp{+wOsxKc>)(pMupKF!Y2HoUqQ3|Yu|8lwR=?5zZuhG6J?H`bSNk_wPoM{u zSL{c@pY7+c2kck>`^q1^^gR0QB7Y?KUD{vz-uVX~;V-rW)PDcI)$_UjgVV?S?=oLR zf4}zz{#*R_{LkiJ#0RdQLNC^2Vp%JPEUvG9ra2BVZ92(p9h7Ka@!yf9(lj#}>+|u* z;^_?KWdzkM`6gqPo9;;r6&JEa)}R3X{(CWv?NvgLeOTq$cZXqf7|sPImi-7cS8DCN zGf;DVt3Am`>hH3{4-WzH43Ftx)SofNe^-#|0HdCo<+8Qs!}TZP{HH8~z5n`ExcHuT zDL1m&|DVpIy=xsLO>8k92HcmfSKhflQ0H~9=^-{#!I1g(;+44xw~=* zxvNz35vfsQE)@)Zsp*6_GjYD};Squ83<_?^SbALb{a`j<0Gn%6JY!zhp=Fg}Ga2|8 z52e1WU%^L1}15Ex0fF$e@eCT(()_P zvV?CA%#Sy08_U6VPt4EtmVQraWJX` zh=N|WQ>LgrvF~R&qOfB$!%D3cGv?;Xh_z$z7k&s4N)$WYf*k=|*jCEkO19{h_(%W4 zPuOqbCw`SeAX*R}UUsbVsgtuG?xs(#Ikx9`JZoQFz0n*7ZG@Fv@kZk`gzO$HoA9kN z8U5{-yY zvV{`&WKU2$mZeoBmiJrEdzUZAv1sRxpePdg1)F*X^Y)zp^Y*R;;z~vOv-z&)&G)JQ{m!C9cmziu1^nHA z`#`0c>@PnQ9CJKgC5NjJD8HM3|KC(g5nnCq$n0Gsu_DXk36@ql%npEye|?%RmG)

FJ$wK}0tWNB{uH;AM~i diff --git a/snippets/app-rx/src/main/res/mipmap-xhdpi/ic_launcher.webp b/snippets/app-rx/src/main/res/mipmap-xhdpi/ic_launcher.webp deleted file mode 100644 index 948a3070fe34c611c42c0d3ad3013a0dce358be0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1900 zcmV-y2b1_xNk&Fw2LJ$9MM6+kP&il$0000G0001A003VA06|PpNH75a00DqwTbm-~ zullQTcXxO9ki!OCRx^i?oR|n!<8G0=kI^!JSjFi-LL*`V;ET0H2IXfU0*i>o6o6Gy zRq6Ap5(_{XLdXcL-MzlN`ugSdZY_`jXhcENAu)N_0?GhF))9R;E`!bo9p?g?SRgw_ zEXHhFG$0{qYOqhdX<(wE4N@es3VIo$%il%6xP9gjiBri+2pI6aY4 zJbgh-Ud|V%3O!IcHKQx1FQH(_*TK;1>FQWbt^$K1zNn^cczkBs=QHCYZ8b&l!UV{K z{L0$KCf_&KR^}&2Fe|L&?1I7~pBENnCtCuH3sjcx6$c zwqkNkru);ie``q+_QI;IYLD9OV0ZxkuyBz|5<$1BH|vtey$> z5oto4=l-R-Aaq`Dk0}o9N0VrkqW_#;!u{!bJLDq%0092{Ghe=F;(kn} z+sQ@1=UlX30+2nWjkL$B^b!H2^QYO@iFc0{(-~yXj2TWz?VG{v`Jg zg}WyYnwGgn>{HFaG7E~pt=)sOO}*yd(UU-D(E&x{xKEl6OcU?pl)K%#U$dn1mDF19 zSw@l8G!GNFB3c3VVK0?uyqN&utT-D5%NM4g-3@Sii9tSXKtwce~uF zS&Jn746EW^wV~8zdQ1XC28~kXu8+Yo9p!<8h&(Q({J*4DBglPdpe4M_mD8AguZFn~ ztiuO~{6Bx?SfO~_ZV(GIboeR9~hAym{{fV|VM=77MxDrbW6`ujX z<3HF(>Zr;#*uCvC*bpoSr~C$h?_%nXps@A)=l_;({Fo#6Y1+Zv`!T5HB+)#^-Ud_; zBwftPN=d8Vx)*O1Mj+0oO=mZ+NVH*ptNDC-&zZ7Hwho6UQ#l-yNvc0Cm+2$$6YUk2D2t#vdZX-u3>-Be1u9gtTBiMB^xwWQ_rgvGpZ6(C@e23c!^K=>ai-Rqu zhqT`ZQof;9Bu!AD(i^PCbYV%yha9zuoKMp`U^z;3!+&d@Hud&_iy!O-$b9ZLcSRh? z)R|826w}TU!J#X6P%@Zh=La$I6zXa#h!B;{qfug}O%z@K{EZECu6zl)7CiNi%xti0 zB{OKfAj83~iJvmpTU|&q1^?^cIMn2RQ?jeSB95l}{DrEPTW{_gmU_pqTc)h@4T>~& zluq3)GM=xa(#^VU5}@FNqpc$?#SbVsX!~RH*5p0p@w z;~v{QMX0^bFT1!cXGM8K9FP+=9~-d~#TK#ZE{4umGT=;dfvWi?rYj;^l_Zxywze`W z^Cr{55U@*BalS}K%Czii_80e0#0#Zkhlij4-~I@}`-JFJ7$5{>LnoJSs??J8kWVl6|8A}RCGAu9^rAsfCE=2}tHwl93t0C?#+jMpvr7O3`2=tr{Hg$=HlnjVG^ewm|Js0J*kfPa6*GhtB>`fN!m#9J(sU!?(OSfzY*zS(FJ<-Vb zfAIg+`U)YaXv#sY(c--|X zEB+TVyZ%Ie4L$gi#Fc++`h6%vzsS$pjz9aLt+ZL(g;n$Dzy5=m=_TV(3H8^C{r0xd zp#a%}ht55dOq?yhwYPrtp-m1xXp;4X;)NhxxUpgP%XTLmO zcjaFva^}dP3$&sfFTIR_jC=2pHh9kpI@2(6V*GQo7Ws)`j)hd+tr@P~gR*2gO@+1? zG<`_tB+LJuF|SZ9tIec;h%}}6WClT`L>HSW?E{Hp1h^+mlbf_$9zA>!ug>NALJsO{ mU%z=YwVD?}XMya)Bp;vlyE5&E_6!fzx9pwrdz474!~g(M6R?N? diff --git a/snippets/app-rx/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/snippets/app-rx/src/main/res/mipmap-xhdpi/ic_launcher_round.webp deleted file mode 100644 index 1b9a6956b3acdc11f40ce2bb3f6efbd845cc243f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3918 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�(p-{x$&=IACIfoAR!za)F-^da-t3#0Dycnp zwO~NVXwXCl;jE<}>%@xz|=8fIJAB?>+E{7)|4l${4ngA3G|=r z2Dyv;VVWSgZx9Wj>qUjleGl3Ei9K4>h!(lPS%8VOG>Xu0%6VDz^O=bjJmuP7>DeUv zrbI}MlHB^^d?{zv6d=@_ZD2lg1&G7UjnVN{1}9WkaM3H~btX0GtSzB+tZ^qRgWo4m z!GmimlG$=wgXCnr6j@m<1gAL46#T~5Bnm=2{^@>|t&`9mkEPddj zAvG~@Tv~TAm2i%VW}R-g(Z0)z-Y|szHr@rk>4MAyG*Ma*7Yh#H7(!-5>DZ@8r;_dx z{prSe<>~099F8vsYd2xff7uAS%7{S)f(|@me3t2$iy&NEc7OUEchp@9A|X;;IA>8!oX+y(BKJ$EzV* znR$z;!L$s7uy@{OT~nG#B!NRraT8(X##Ho!0r_o@gg0CA-9H^;-uE&?$2$nHv_00o z%cbuUc-tCx$Uh&EZ4Nf4Zgqv)Y6>usG3>GeQnxx_Z6+PcbX-+ysbt1hQ`K1LDpOE? zrAhIZhSN9yVIAOa22gn577tbc&i3|3V8NWy&!tw##`}9*x}gtI^h1DzZRA>UuaJG) zaZ7j)dq!O}{?#8Y7~7i6fHh4{`pL?>-18|p!S75Y#^DM>-S3)vuZG+Q7l@ek zQP~#cBpWgg#mApc_sPYjpw8odQuRokmTkzcNl`^CcKB7e&;zViV;{Y{o^Y$%7i0m# z62%#1Lq!RC?}lK>%mp}T!3Xv;L*0v*>USLm``N%>w>@fwC+#T&Tx2bN4w(20JB}oU zuSa6v^kXi0xPs?pbaOHnyiqq6By1EZY9OZ^^QA>{q-Hsd&m`pbQ%8121aWG-F5xf zlZ%;B{;C>X19|`^_?dVyCq>n+41w7|!tUS!{9rHlbhX=SZO5CQ^;!Du_E7*`GiR^Q w)2!4MKjfSAeNo!9>IaV6aUZ*?W>} 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

UmY2RIYtNPVDpE$%vda+HD#3m z&VuXJ{BK&Qe+rBa7eq}Q(bq|tn(RrJAk|ztj2(i{d>nmQnM?;HF2k&9sA6up5tmjl z7lySlzMbifH17-m-Lwa_F&e7nOH?ESi3#ckR3tsM+jsck3`oG!uMS}|eAwVXv>}qxwq?QY%QJ0}r@^;fhuUA9W z*BVl>TGo&N004@xSiwDUXUvp51sVmqO3m)=B55aPwf@0=e}cN+$-BdKxY`YrT_4)0 z_d10#i44Q*rFr8MC>*)v$EJvz``(pb{e&*6k+b zsMz%($|1+8hn8c2?P(l@;Rb&CsZeYoCI3?2!LqjbwPXW3z4G$Qfj=cT5Yb%vY0(AX oeb?AaKtwrnc|$|zzw9vfvn^aJJ!zd)XFXqqy0000001=f@-~a#s diff --git a/snippets/app-rx/src/main/res/values-night/themes.xml b/snippets/app-rx/src/main/res/values-night/themes.xml deleted file mode 100644 index 0109254fc..000000000 --- a/snippets/app-rx/src/main/res/values-night/themes.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/snippets/app-rx/src/main/res/values/colors.xml b/snippets/app-rx/src/main/res/values/colors.xml deleted file mode 100644 index df4601b36..000000000 --- a/snippets/app-rx/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-rx/src/main/res/values/strings.xml b/snippets/app-rx/src/main/res/values/strings.xml deleted file mode 100644 index 2af553ee4..000000000 --- a/snippets/app-rx/src/main/res/values/strings.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - app-rx - \ No newline at end of file diff --git a/snippets/app-rx/src/main/res/values/themes.xml b/snippets/app-rx/src/main/res/values/themes.xml deleted file mode 100644 index e01e9a7fd..000000000 --- a/snippets/app-rx/src/main/res/values/themes.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - \ No newline at end of file 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-anydpi-v26/ic_launcher_round.xml b/snippets/app-utils/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml deleted file mode 100644 index b89ac5f12..000000000 --- a/snippets/app-utils/src/main/res/mipmap-anydpi-v26/ic_launcher_round.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 c209e78ecd372343283f4157dcfd918ec5165bb3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1404 zcmV-?1%vuhNk&F=1pok7MM6+kP&il$0000G0000-002h-06|PpNX!5L00Dqw+t%{r zzW2vH!KF=w&cMnnN@{whkTw+#mAh0SV?YL=)3MimFYCWp#fpdtz~8$hD5VPuQgtcN zXl<@<#Cme5f5yr2h%@8TWh?)bSK`O z^Z@d={gn7J{iyxL_y_%J|L>ep{dUxUP8a{byupH&!UNR*OutO~0{*T4q5R6@ApLF! z5{w?Z150gC7#>(VHFJZ-^6O@PYp{t!jH(_Z*nzTK4 zkc{fLE4Q3|mA2`CWQ3{8;gxGizgM!zccbdQoOLZc8hThi-IhN90RFT|zlxh3Ty&VG z?Fe{#9RrRnxzsu|Lg2ddugg7k%>0JeD+{XZ7>Z~{=|M+sh1MF7~ zz>To~`~LVQe1nNoR-gEzkpe{Ak^7{{ZBk2i_<+`Bq<^GB!RYG+z)h;Y3+<{zlMUYd zrd*W4w&jZ0%kBuDZ1EW&KLpyR7r2=}fF2%0VwHM4pUs}ZI2egi#DRMYZPek*^H9YK zay4Iy3WXFG(F14xYsoDA|KXgGc5%2DhmQ1gFCkrgHBm!lXG8I5h*uf{rn48Z!_@ z4Bk6TJAB2CKYqPjiX&mWoW>OPFGd$wqroa($ne7EUK;#3VYkXaew%Kh^3OrMhtjYN?XEoY`tRPQsAkH-DSL^QqyN0>^ zmC>{#F14jz4GeW{pJoRpLFa_*GI{?T93^rX7SPQgT@LbLqpNA}<@2wH;q493)G=1Y z#-sCiRNX~qf3KgiFzB3I>4Z%AfS(3$`-aMIBU+6?gbgDb!)L~A)je+;fR0jWLL-Fu z4)P{c7{B4Hp91&%??2$v9iRSFnuckHUm}or9seH6 z>%NbT+5*@L5(I9j@06@(!{ZI?U0=pKn8uwIg&L{JV14+8s2hnvbRrU|hZCd}IJu7*;;ECgO%8_*W Kmw_-CKmY()leWbG 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 b2dfe3d1ba5cf3ee31b3ecc1ced89044a1f3b7a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2898 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 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 4f0f1d64e58ba64d180ce43ee13bf9a17835fbca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 982 zcmV;{11bDcNk&G_0{{S5MM6+kP&il$0000G0000l001ul06|PpNU8t;00Dqo+t#w^ z^1csucXz7-Qrhzl9HuHB%l>&>1tG2^vb*E&k^T3$FG1eQZ51g$uv4V+kI`0<^1Z@N zk?Jjh$olyC%l>)Xq;7!>{iBj&BjJ`P&$fsCfpve_epJOBkTF?nu-B7D!hO=2ZR}

C%4 zc_9eOXvPbC4kzU8YowIA8cW~Uv|eB&yYwAObSwL2vY~UYI7NXPvf3b+c^?wcs~_t{ ze_m66-0)^{JdOMKPwjpQ@Sna!*?$wTZ~su*tNv7o!gXT!GRgivP}ec?5>l1!7<(rT zds|8x(qGc673zrvYIz;J23FG{9nHMnAuP}NpAED^laz3mAN1sy+NXK)!6v1FxQ;lh zOBLA>$~P3r4b*NcqR;y6pwyhZ3_PiDb|%n1gGjl3ZU}ujInlP{eks-#oA6>rh&g+!f`hv#_%JrgYPu z(U^&XLW^QX7F9Z*SRPpQl{B%x)_AMp^}_v~?j7 zapvHMKxSf*Mtyx8I}-<*UGn3)oHd(nn=)BZ`d$lDBwq_GL($_TPaS{UeevT(AJ`p0 z9%+hQb6z)U9qjbuXjg|dExCLjpS8$VKQ55VsIC%@{N5t{NsW)=hNGI`J=x97_kbz@ E0Of=7!TQj4N+cqN`nQhxvX7dAV-`K|Ub$-q+H-5I?Tx0g9jWxd@A|?POE8`3b8fO$T))xP* z(X?&brZw({`)WU&rdAs1iTa0x6F@PIxJ&&L|dpySV!ID|iUhjCcKz(@mE z!x@~W#3H<)4Ae(4eQJRk`Iz3<1)6^m)0b_4_TRZ+cz#eD3f8V;2r-1fE!F}W zEi0MEkTTx}8i1{`l_6vo0(Vuh0HD$I4SjZ=?^?k82R51bC)2D_{y8mi_?X^=U?2|F{Vr7s!k(AZC$O#ZMyavHhlQ7 zUR~QXuH~#o#>(b$u4?s~HLF*3IcF7023AlwAYudn0FV~|odGH^05AYPEfR)8p`i{n zwg3zPVp{+wOsxKc>)(pMupKF!Y2HoUqQ3|Yu|8lwR=?5zZuhG6J?H`bSNk_wPoM{u zSL{c@pY7+c2kck>`^q1^^gR0QB7Y?KUD{vz-uVX~;V-rW)PDcI)$_UjgVV?S?=oLR zf4}zz{#*R_{LkiJ#0RdQLNC^2Vp%JPEUvG9ra2BVZ92(p9h7Ka@!yf9(lj#}>+|u* z;^_?KWdzkM`6gqPo9;;r6&JEa)}R3X{(CWv?NvgLeOTq$cZXqf7|sPImi-7cS8DCN zGf;DVt3Am`>hH3{4-WzH43Ftx)SofNe^-#|0HdCo<+8Qs!}TZP{HH8~z5n`ExcHuT zDL1m&|DVpIy=xsLO>8k92HcmfSKhflQ0H~9=^-{#!I1g(;+44xw~=* zxvNz35vfsQE)@)Zsp*6_GjYD};Squ83<_?^SbALb{a`j<0Gn%6JY!zhp=Fg}Ga2|8 z52e1WU%^L1}15Ex0fF$e@eCT(()_P zvV?CA%#Sy08_U6VPt4EtmVQraWJX` zh=N|WQ>LgrvF~R&qOfB$!%D3cGv?;Xh_z$z7k&s4N)$WYf*k=|*jCEkO19{h_(%W4 zPuOqbCw`SeAX*R}UUsbVsgtuG?xs(#Ikx9`JZoQFz0n*7ZG@Fv@kZk`gzO$HoA9kN z8U5{-yY zvV{`&WKU2$mZeoBmiJrEdzUZAv1sRxpePdg1)F*X^Y)zp^Y*R;;z~vOv-z&)&G)JQ{m!C9cmziu1^nHA z`#`0c>@PnQ9CJKgC5NjJD8HM3|KC(g5nnCq$n0Gsu_DXk36@ql%npEye|?%RmG)

FJ$wK}0tWNB{uH;AM~i 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 948a3070fe34c611c42c0d3ad3013a0dce358be0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1900 zcmV-y2b1_xNk&Fw2LJ$9MM6+kP&il$0000G0001A003VA06|PpNH75a00DqwTbm-~ zullQTcXxO9ki!OCRx^i?oR|n!<8G0=kI^!JSjFi-LL*`V;ET0H2IXfU0*i>o6o6Gy zRq6Ap5(_{XLdXcL-MzlN`ugSdZY_`jXhcENAu)N_0?GhF))9R;E`!bo9p?g?SRgw_ zEXHhFG$0{qYOqhdX<(wE4N@es3VIo$%il%6xP9gjiBri+2pI6aY4 zJbgh-Ud|V%3O!IcHKQx1FQH(_*TK;1>FQWbt^$K1zNn^cczkBs=QHCYZ8b&l!UV{K z{L0$KCf_&KR^}&2Fe|L&?1I7~pBENnCtCuH3sjcx6$c zwqkNkru);ie``q+_QI;IYLD9OV0ZxkuyBz|5<$1BH|vtey$> z5oto4=l-R-Aaq`Dk0}o9N0VrkqW_#;!u{!bJLDq%0092{Ghe=F;(kn} z+sQ@1=UlX30+2nWjkL$B^b!H2^QYO@iFc0{(-~yXj2TWz?VG{v`Jg zg}WyYnwGgn>{HFaG7E~pt=)sOO}*yd(UU-D(E&x{xKEl6OcU?pl)K%#U$dn1mDF19 zSw@l8G!GNFB3c3VVK0?uyqN&utT-D5%NM4g-3@Sii9tSXKtwce~uF zS&Jn746EW^wV~8zdQ1XC28~kXu8+Yo9p!<8h&(Q({J*4DBglPdpe4M_mD8AguZFn~ ztiuO~{6Bx?SfO~_ZV(GIboeR9~hAym{{fV|VM=77MxDrbW6`ujX z<3HF(>Zr;#*uCvC*bpoSr~C$h?_%nXps@A)=l_;({Fo#6Y1+Zv`!T5HB+)#^-Ud_; zBwftPN=d8Vx)*O1Mj+0oO=mZ+NVH*ptNDC-&zZ7Hwho6UQ#l-yNvc0Cm+2$$6YUk2D2t#vdZX-u3>-Be1u9gtTBiMB^xwWQ_rgvGpZ6(C@e23c!^K=>ai-Rqu zhqT`ZQof;9Bu!AD(i^PCbYV%yha9zuoKMp`U^z;3!+&d@Hud&_iy!O-$b9ZLcSRh? z)R|826w}TU!J#X6P%@Zh=La$I6zXa#h!B;{qfug}O%z@K{EZECu6zl)7CiNi%xti0 zB{OKfAj83~iJvmpTU|&q1^?^cIMn2RQ?jeSB95l}{DrEPTW{_gmU_pqTc)h@4T>~& zluq3)GM=xa(#^VU5}@FNqpc$?#SbVsX!~RH*5p0p@w z;~v{QMX0^bFT1!cXGM8K9FP+=9~-d~#TK#ZE{4umGT=;dfvWi?rYj;^l_Zxywze`W z^Cr{55U@*BalS}K%Czii_80e0#0#Zkhlij4-~I@}`-JFJ7$5{>LnoJSs??J8kWVl6|8A}RCGAu9^rAsfCE=2}tHwl93t0C?#+jMpvr7O3`2=tr{Hg$=HlnjVG^ewm|Js0J*kfPa6*GhtB>`fN!m#9J(sU!?(OSfzY*zS(FJ<-Vb zfAIg+`U)YaXv#sY(c--|X zEB+TVyZ%Ie4L$gi#Fc++`h6%vzsS$pjz9aLt+ZL(g;n$Dzy5=m=_TV(3H8^C{r0xd zp#a%}ht55dOq?yhwYPrtp-m1xXp;4X;)NhxxUpgP%XTLmO zcjaFva^}dP3$&sfFTIR_jC=2pHh9kpI@2(6V*GQo7Ws)`j)hd+tr@P~gR*2gO@+1? zG<`_tB+LJuF|SZ9tIec;h%}}6WClT`L>HSW?E{Hp1h^+mlbf_$9zA>!ug>NALJsO{ mU%z=YwVD?}XMya)Bp;vlyE5&E_6!fzx9pwrdz474!~g(M6R?N? 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 1b9a6956b3acdc11f40ce2bb3f6efbd845cc243f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3918 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�(p-{x$&=IACIfoAR!za)F-^da-t3#0Dycnp zwO~NVXwXCl;jE<}>%@xz|=8fIJAB?>+E{7)|4l${4ngA3G|=r z2Dyv;VVWSgZx9Wj>qUjleGl3Ei9K4>h!(lPS%8VOG>Xu0%6VDz^O=bjJmuP7>DeUv zrbI}MlHB^^d?{zv6d=@_ZD2lg1&G7UjnVN{1}9WkaM3H~btX0GtSzB+tZ^qRgWo4m z!GmimlG$=wgXCnr6j@m<1gAL46#T~5Bnm=2{^@>|t&`9mkEPddj zAvG~@Tv~TAm2i%VW}R-g(Z0)z-Y|szHr@rk>4MAyG*Ma*7Yh#H7(!-5>DZ@8r;_dx z{prSe<>~099F8vsYd2xff7uAS%7{S)f(|@me3t2$iy&NEc7OUEchp@9A|X;;IA>8!oX+y(BKJ$EzV* znR$z;!L$s7uy@{OT~nG#B!NRraT8(X##Ho!0r_o@gg0CA-9H^;-uE&?$2$nHv_00o z%cbuUc-tCx$Uh&EZ4Nf4Zgqv)Y6>usG3>GeQnxx_Z6+PcbX-+ysbt1hQ`K1LDpOE? zrAhIZhSN9yVIAOa22gn577tbc&i3|3V8NWy&!tw##`}9*x}gtI^h1DzZRA>UuaJG) zaZ7j)dq!O}{?#8Y7~7i6fHh4{`pL?>-18|p!S75Y#^DM>-S3)vuZG+Q7l@ek zQP~#cBpWgg#mApc_sPYjpw8odQuRokmTkzcNl`^CcKB7e&;zViV;{Y{o^Y$%7i0m# z62%#1Lq!RC?}lK>%mp}T!3Xv;L*0v*>USLm``N%>w>@fwC+#T&Tx2bN4w(20JB}oU zuSa6v^kXi0xPs?pbaOHnyiqq6By1EZY9OZ^^QA>{q-Hsd&m`pbQ%8121aWG-F5xf zlZ%;B{;C>X19|`^_?dVyCq>n+41w7|!tUS!{9rHlbhX=SZO5CQ^;!Du_E7*`GiR^Q w)2!4MKjfSAeNo!9>IaV6aUZ*?W>} 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

UmY2RIYtNPVDpE$%vda+HD#3m z&VuXJ{BK&Qe+rBa7eq}Q(bq|tn(RrJAk|ztj2(i{d>nmQnM?;HF2k&9sA6up5tmjl z7lySlzMbifH17-m-Lwa_F&e7nOH?ESi3#ckR3tsM+jsck3`oG!uMS}|eAwVXv>}qxwq?QY%QJ0}r@^;fhuUA9W z*BVl>TGo&N004@xSiwDUXUvp51sVmqO3m)=B55aPwf@0=e}cN+$-BdKxY`YrT_4)0 z_d10#i44Q*rFr8MC>*)v$EJvz``(pb{e&*6k+b zsMz%($|1+8hn8c2?P(l@;Rb&CsZeYoCI3?2!LqjbwPXW3z4G$Qfj=cT5Yb%vY0(AX oeb?AaKtwrnc|$|zzw9vfvn^aJJ!zd)XFXqqy0000001=f@-~a#s 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/build.gradle.kts b/snippets/app/build.gradle.kts deleted file mode 100644 index bf8744be5..000000000 --- a/snippets/app/build.gradle.kts +++ /dev/null @@ -1,109 +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. - */ - -// [START maps_android_secrets_gradle_plugin] -plugins { - // [START_EXCLUDE] - alias(libs.plugins.android.application) - // [END_EXCLUDE] - alias(libs.plugins.secrets.gradle.plugin) -} -// [END maps_android_secrets_gradle_plugin] - -android { - namespace = "com.google.maps.example" - compileSdk = libs.versions.compileSdk.get().toInt() - - defaultConfig { - applicationId = "com.google.maps.example" - 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" - ) - } - } - - 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 - } -} - -// [START maps_android_play_services_maps_dependency] -dependencies { - // [START_EXCLUDE silent] - implementation(libs.kotlin.stdlib) - implementation(libs.core.ktx) - implementation(libs.appcompat) - implementation(libs.compose.foundation) - implementation(libs.compose.material) - 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) - // [END_EXCLUDE] - - // Maps SDK for Android - implementation(libs.play.services.maps) -} -// [END maps_android_play_services_maps_dependency] - -// [START maps_android_secrets_gradle_plugin_config] -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" -} -// [END maps_android_secrets_gradle_plugin_config] \ 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 a571e60098c92c2baca8a5df62f2929cbff01b52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3593 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 P00000NkvXXu0mjfP=x?Y 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 61da551c5594a1f9d26193983d2cd69189014603..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5339 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 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 b216f2d313cc673d8b8c4da591c174ebed52795c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11873 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 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 @@ - - - - -