From cc03f14492aec6075ec3a5e834ccf795240040c1 Mon Sep 17 00:00:00 2001 From: Stephen McDonald Date: Fri, 5 Feb 2016 13:51:54 +1100 Subject: [PATCH 1/7] Update analytics --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8a103c66..a43a30d1 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,7 @@ https://github.com/googlemaps/android-samples/issues Patches are encouraged, and may be submitted according to the instructions in CONTRIBUTING.md. -![Analytics](https://ga-beacon.appspot.com/UA-12846745-20/android-samples/readme?pixel) +![Analytics](https://maps-ga-beacon.appspot.com/UA-12846745-20/android-samples/readme?pixel) License ------- From ebf2e4bbe3870548f6071ab7428582f7a8fddfcc Mon Sep 17 00:00:00 2001 From: Brett Morgan Date: Tue, 1 Mar 2016 10:19:35 +1100 Subject: [PATCH 2/7] Updating README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a43a30d1..bfddaf39 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,8 @@ Google Maps Android API v2 Samples =================================== -Samples that use the [Google Maps Android API v2](https://developers.google.com/maps/documentation/android/). +Samples demonstrating how to use +[Google Maps Android API v2](https://developers.google.com/maps/documentation/android/). This repo contains the following sample: From 2e18bb727d8904c11878b1f87286218cc92733f4 Mon Sep 17 00:00:00 2001 From: Stephen McDonald Date: Fri, 24 Jun 2016 12:58:24 +1000 Subject: [PATCH 3/7] Update gradle version Change-Id: Id205ea6e26252fb16c67cdb95b0ef5f1e0e531d7 --- ApiDemos/build.gradle | 4 +++- ApiDemos/gradle/wrapper/gradle-wrapper.properties | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/ApiDemos/build.gradle b/ApiDemos/build.gradle index e0b366a7..0bb49154 100644 --- a/ApiDemos/build.gradle +++ b/ApiDemos/build.gradle @@ -2,10 +2,11 @@ buildscript { repositories { + mavenLocal() jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:1.5.0' + classpath 'com.android.tools.build:gradle:2.1.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files @@ -14,6 +15,7 @@ buildscript { allprojects { repositories { + mavenLocal() jcenter() } } diff --git a/ApiDemos/gradle/wrapper/gradle-wrapper.properties b/ApiDemos/gradle/wrapper/gradle-wrapper.properties index 45ae1edf..691ed324 100644 --- a/ApiDemos/gradle/wrapper/gradle-wrapper.properties +++ b/ApiDemos/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Wed Oct 07 13:01:26 AEDT 2015 +#Mon Jun 20 10:42:35 AEST 2016 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip From 9ffc6b9d12cd7c7cf2dd574e158dfb609b9eeef5 Mon Sep 17 00:00:00 2001 From: Stephen McDonald Date: Fri, 24 Jun 2016 13:03:08 +1000 Subject: [PATCH 4/7] Update Google Play Services version Change-Id: Idda47b09e39a85b35753f14a1e2f3455f2499432 --- ApiDemos/app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ApiDemos/app/build.gradle b/ApiDemos/app/build.gradle index 6e0b3ee3..3a7e0762 100644 --- a/ApiDemos/app/build.gradle +++ b/ApiDemos/app/build.gradle @@ -23,5 +23,5 @@ dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.1.1' - compile 'com.google.android.gms:play-services-maps:8.4.0' + compile 'com.google.android.gms:play-services-maps:9.2.0' } From b33eba6764f574200f4694fedc4a57fc74e2a2d5 Mon Sep 17 00:00:00 2001 From: Stephen McDonald Date: Fri, 24 Jun 2016 13:03:47 +1000 Subject: [PATCH 5/7] Add circle clickability example Change-Id: I6706a1f3ad3503970c1f252d6258a0037fc91293 --- .../example/mapdemo/CircleDemoActivity.java | 60 ++++++++++++------- .../app/src/main/res/layout/circle_demo.xml | 18 +++++- 2 files changed, 56 insertions(+), 22 deletions(-) diff --git a/ApiDemos/app/src/main/java/com/example/mapdemo/CircleDemoActivity.java b/ApiDemos/app/src/main/java/com/example/mapdemo/CircleDemoActivity.java index fa69e332..b6d3bd9a 100755 --- a/ApiDemos/app/src/main/java/com/example/mapdemo/CircleDemoActivity.java +++ b/ApiDemos/app/src/main/java/com/example/mapdemo/CircleDemoActivity.java @@ -17,6 +17,7 @@ package com.example.mapdemo; import com.google.android.gms.maps.CameraUpdateFactory; import com.google.android.gms.maps.GoogleMap; +import com.google.android.gms.maps.GoogleMap.OnCircleClickListener; import com.google.android.gms.maps.GoogleMap.OnMapLongClickListener; import com.google.android.gms.maps.GoogleMap.OnMarkerDragListener; import com.google.android.gms.maps.OnMapReadyCallback; @@ -34,6 +35,7 @@ import android.location.Location; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; +import android.widget.CheckBox; import android.widget.SeekBar; import android.widget.SeekBar.OnSeekBarChangeListener; @@ -46,17 +48,12 @@ import java.util.List; */ public class CircleDemoActivity extends AppCompatActivity implements OnSeekBarChangeListener, OnMarkerDragListener, OnMapLongClickListener, OnMapReadyCallback { - private static final LatLng SYDNEY = new LatLng(-33.87365, 151.20689); - private static final double DEFAULT_RADIUS = 1000000; - public static final double RADIUS_OF_EARTH_METERS = 6371009; private static final int WIDTH_MAX = 50; - private static final int HUE_MAX = 360; - private static final int ALPHA_MAX = 255; private GoogleMap mMap; @@ -64,26 +61,18 @@ public class CircleDemoActivity extends AppCompatActivity implements OnSeekBarCh private List mCircles = new ArrayList(1); private SeekBar mColorBar; - private SeekBar mAlphaBar; - private SeekBar mWidthBar; - private int mStrokeColor; - private int mFillColor; + private CheckBox mClickabilityCheckbox; private class DraggableCircle { - private final Marker centerMarker; - private final Marker radiusMarker; - private final Circle circle; - private double radius; - - public DraggableCircle(LatLng center, double radius) { + public DraggableCircle(LatLng center, double radius, boolean clickable) { this.radius = radius; centerMarker = mMap.addMarker(new MarkerOptions() .position(center) @@ -98,10 +87,11 @@ public class CircleDemoActivity extends AppCompatActivity implements OnSeekBarCh .radius(radius) .strokeWidth(mWidthBar.getProgress()) .strokeColor(mStrokeColor) - .fillColor(mFillColor)); + .fillColor(mFillColor) + .clickable(clickable)); } - public DraggableCircle(LatLng center, LatLng radiusLatLng) { + public DraggableCircle(LatLng center, LatLng radiusLatLng, boolean clickable) { this.radius = toRadiusMeters(center, radiusLatLng); centerMarker = mMap.addMarker(new MarkerOptions() .position(center) @@ -116,7 +106,8 @@ public class CircleDemoActivity extends AppCompatActivity implements OnSeekBarCh .radius(radius) .strokeWidth(mWidthBar.getProgress()) .strokeColor(mStrokeColor) - .fillColor(mFillColor)); + .fillColor(mFillColor) + .clickable(clickable)); } public boolean onMarkerMoved(Marker marker) { @@ -138,6 +129,10 @@ public class CircleDemoActivity extends AppCompatActivity implements OnSeekBarCh circle.setFillColor(mFillColor); circle.setStrokeColor(mStrokeColor); } + + public void setClickable(boolean clickable) { + circle.setClickable(clickable); + } } /** Generate LatLng of radius marker */ @@ -174,6 +169,8 @@ public class CircleDemoActivity extends AppCompatActivity implements OnSeekBarCh SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map); mapFragment.getMapAsync(this); + + mClickabilityCheckbox = (CheckBox) findViewById(R.id.toggleClickability); } @Override @@ -193,11 +190,22 @@ public class CircleDemoActivity extends AppCompatActivity implements OnSeekBarCh mAlphaBar.getProgress(), new float[]{mColorBar.getProgress(), 1, 1}); mStrokeColor = Color.BLACK; - DraggableCircle circle = new DraggableCircle(SYDNEY, DEFAULT_RADIUS); + DraggableCircle circle = + new DraggableCircle(SYDNEY, DEFAULT_RADIUS, mClickabilityCheckbox.isChecked()); mCircles.add(circle); // Move the map so that it is centered on the initial circle mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(SYDNEY, 4.0f)); + + // Set up the click listener for the circle. + map.setOnCircleClickListener(new 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); + } + }); } @Override @@ -256,7 +264,17 @@ public class CircleDemoActivity extends AppCompatActivity implements OnSeekBarCh view.getHeight() * 3 / 4, view.getWidth() * 3 / 4)); // ok create it - DraggableCircle circle = new DraggableCircle(point, radiusLatLng); + DraggableCircle circle = + new DraggableCircle(point, radiusLatLng, mClickabilityCheckbox.isChecked()); mCircles.add(circle); } -} + + public void toggleClickability(View view) { + boolean clickable = ((CheckBox) view).isChecked(); + // Set each of the circles to be clickable or not, based on the + // state of the checkbox. + for (DraggableCircle draggableCircle : mCircles) { + draggableCircle.setClickable(clickable); + } + } +} \ No newline at end of file diff --git a/ApiDemos/app/src/main/res/layout/circle_demo.xml b/ApiDemos/app/src/main/res/layout/circle_demo.xml index 6adc204a..18edc26b 100755 --- a/ApiDemos/app/src/main/res/layout/circle_demo.xml +++ b/ApiDemos/app/src/main/res/layout/circle_demo.xml @@ -58,11 +58,27 @@ + + + + + + + class="com.google.android.gms.maps.SupportMapFragment"/> + From e68951bac2330d53901d5834fe188ec917da72a7 Mon Sep 17 00:00:00 2001 From: Stephen McDonald Date: Fri, 24 Jun 2016 13:04:11 +1000 Subject: [PATCH 6/7] Add marker zindex example Change-Id: If530a2b5a3e1393b8cb51434614354fc0cb10a00 --- .../main/java/com/example/mapdemo/MarkerDemoActivity.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ApiDemos/app/src/main/java/com/example/mapdemo/MarkerDemoActivity.java b/ApiDemos/app/src/main/java/com/example/mapdemo/MarkerDemoActivity.java index 840606df..dd09b28d 100644 --- a/ApiDemos/app/src/main/java/com/example/mapdemo/MarkerDemoActivity.java +++ b/ApiDemos/app/src/main/java/com/example/mapdemo/MarkerDemoActivity.java @@ -411,6 +411,12 @@ public class MarkerDemoActivity extends AppCompatActivity implements marker.setAlpha(mRandom.nextFloat()); } + // Markers have a z-index that is settable and gettable. + float zIndex = marker.getZIndex() + 1.0f; + marker.setZIndex(zIndex); + Toast.makeText(this, marker.getTitle() + " z-index set to " + zIndex, + Toast.LENGTH_SHORT).show(); + mLastSelectedMarker = marker; // We 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 @@ -425,7 +431,7 @@ public class MarkerDemoActivity extends AppCompatActivity implements @Override public void onInfoWindowClose(Marker marker) { - Toast.makeText(this, "Close Info Window", Toast.LENGTH_SHORT).show(); + //Toast.makeText(this, "Close Info Window", Toast.LENGTH_SHORT).show(); } @Override From 089d3f9a0593abf14c294eb8d9188f184b806130 Mon Sep 17 00:00:00 2001 From: Stephen McDonald Date: Fri, 24 Jun 2016 13:04:29 +1000 Subject: [PATCH 7/7] Add tile transparency example Change-Id: Ice5bbddf63badf7fb4992e9f1810f81aa1610dac --- .../mapdemo/TileOverlayDemoActivity.java | 30 +++++++++++++++++-- .../src/main/res/layout/tile_overlay_demo.xml | 12 ++++++++ 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/ApiDemos/app/src/main/java/com/example/mapdemo/TileOverlayDemoActivity.java b/ApiDemos/app/src/main/java/com/example/mapdemo/TileOverlayDemoActivity.java index 960b7e80..6cc6c66c 100644 --- a/ApiDemos/app/src/main/java/com/example/mapdemo/TileOverlayDemoActivity.java +++ b/ApiDemos/app/src/main/java/com/example/mapdemo/TileOverlayDemoActivity.java @@ -28,6 +28,8 @@ import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.CheckBox; +import android.widget.SeekBar; +import android.widget.SeekBar.OnSeekBarChangeListener; import java.net.MalformedURLException; import java.net.URL; @@ -36,19 +38,27 @@ import java.util.Locale; /** * This demonstrates how to add a tile overlay to a map. */ -public class TileOverlayDemoActivity extends AppCompatActivity implements OnMapReadyCallback { +public class TileOverlayDemoActivity extends AppCompatActivity + implements OnSeekBarChangeListener, OnMapReadyCallback { + + private static final int TRANSPARENCY_MAX = 100; /** This returns moon tiles. */ private static final String MOON_MAP_URL_FORMAT = "http://mw1.google.com/mw-planetary/lunar/lunarmaps_v1/clem_bw/%d/%d/%d.jpg"; private TileOverlay mMoonTiles; + private SeekBar mTransparencyBar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.tile_overlay_demo); + mTransparencyBar = (SeekBar) findViewById(R.id.transparencySeekBar); + mTransparencyBar.setMax(TRANSPARENCY_MAX); + mTransparencyBar.setProgress(0); + SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map); mapFragment.getMapAsync(this); @@ -75,6 +85,7 @@ public class TileOverlayDemoActivity extends AppCompatActivity implements OnMapR }; mMoonTiles = map.addTileOverlay(new TileOverlayOptions().tileProvider(tileProvider)); + mTransparencyBar.setOnSeekBarChangeListener(this); } public void setFadeIn(View v) { @@ -83,4 +94,19 @@ public class TileOverlayDemoActivity extends AppCompatActivity implements OnMapR } mMoonTiles.setFadeIn(((CheckBox) v).isChecked()); } -} + + @Override + public void onStopTrackingTouch(SeekBar seekBar) { + } + + @Override + public void onStartTrackingTouch(SeekBar seekBar) { + } + + @Override + public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { + if (mMoonTiles != null) { + mMoonTiles.setTransparency((float) progress / (float) TRANSPARENCY_MAX); + } + } +} \ No newline at end of file diff --git a/ApiDemos/app/src/main/res/layout/tile_overlay_demo.xml b/ApiDemos/app/src/main/res/layout/tile_overlay_demo.xml index b976d1d5..af5e171c 100755 --- a/ApiDemos/app/src/main/res/layout/tile_overlay_demo.xml +++ b/ApiDemos/app/src/main/res/layout/tile_overlay_demo.xml @@ -40,5 +40,17 @@ android:checked="true" android:onClick="setFadeIn" android:text="@string/fade_in" /> + + + + +