Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions mapbox/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ dependencies {
compile rootProject.ext.dep.supportAppcompat
compile rootProject.ext.dep.supportDesign
compile rootProject.ext.dep.supportRecyclerview
compile rootProject.ext.dep.supportCardView

// Mapbox SDK
compile(rootProject.ext.dep.mapbox) {
Expand Down
7 changes: 7 additions & 0 deletions mapbox/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,13 @@
android:name="android.support.PARENT_ACTIVITY"
android:value=".MainActivity"/>
</activity>
<activity
android:name=".staticimage.StaticImageWithAnnotationsActivity"
android:label="@string/title_static_image_with_annotations">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".MainActivity"/>
</activity>
<activity
android:name=".optimizedtrip.OptimizedTripActivity"
android:label="@string/title_optimized_trip">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
import com.mapbox.services.android.testapp.optimizedtrip.OptimizedTripActivity;

import com.mapbox.services.android.testapp.staticimage.StaticImageActivity;
import com.mapbox.services.android.testapp.staticimage.StaticImageWithAnnotationsActivity;
import com.mapbox.services.android.testapp.turf.TurfBearingActivity;
import com.mapbox.services.android.testapp.turf.TurfDestinationActivity;
import com.mapbox.services.android.testapp.turf.TurfDistanceActivity;
Expand Down Expand Up @@ -88,6 +89,11 @@ protected void onCreate(Bundle savedInstanceState) {
getString(R.string.description_static_image),
StaticImageActivity.class
),
new SampleItem(
getString(R.string.title_static_image_with_annotations),
getString(R.string.description_static_image_with_annotations),
StaticImageWithAnnotationsActivity.class
),
new SampleItem(
getString(R.string.title_simplify_polyline),
getString(R.string.description_simplify_polyline),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@ public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
public void onBindViewHolder(ViewHolder holder, int position) {
Picasso.with(context)
.load(dataset[position])
.fit()
.centerCrop()
.placeholder(R.drawable.mapbox)
.error(R.drawable.mapbox_error)
.into(holder.imageView);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
package com.mapbox.services.android.testapp.staticimage;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.ImageView;

import com.mapbox.mapboxsdk.Mapbox;
import com.mapbox.services.Constants;
import com.mapbox.services.android.testapp.R;
import com.mapbox.services.api.staticimage.v1.MapboxStaticImage;
import com.mapbox.services.api.staticimage.v1.models.StaticMarkerAnnotation;
import com.mapbox.services.api.staticimage.v1.models.StaticPolylineAnnotation;
import com.mapbox.services.commons.geojson.Feature;
import com.mapbox.services.commons.geojson.Point;
import com.mapbox.services.commons.models.Position;
import com.squareup.picasso.Picasso;

public class StaticImageWithAnnotationsActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_static_image_annotations);

ImageView veniceImageView = (ImageView) findViewById(R.id.veniceImageView);
ImageView parisImageView = (ImageView) findViewById(R.id.parisImageView);
ImageView londonImageView = (ImageView) findViewById(R.id.londonImageView);

StaticMarkerAnnotation firstStaticMarkerAnnotation = new StaticMarkerAnnotation.Builder()
.setName(Constants.PIN_SMALL)
.setPosition(Position.fromCoordinates(-122.46589, 37.77343))
.setColor("9ed4bd")
.setLabel("a")
.build();

StaticMarkerAnnotation secondStaticMarkerAnnotation = new StaticMarkerAnnotation.Builder()
.setName(Constants.PIN_SMALL)
.setPosition(Position.fromCoordinates(-122.42816, 37.75965))
.setColor("000")
.setLabel("b")
.build();

StaticPolylineAnnotation staticPolylineAnnotation = new StaticPolylineAnnotation.Builder()
.setPolyline("%7DrpeFxbnjVsFwdAvr@cHgFor@jEmAlFmEMwM_FuItCkOi@wc@bg@wBSgM")
.setStrokeOpacity(0.5f)
.setStrokeColor("f44")
.setStrokeWidth(5)
.build();

MapboxStaticImage veniceStaticImage = new MapboxStaticImage.Builder()
.setAccessToken(Mapbox.getAccessToken())
.setStyleId("streets-v10")
.setStaticMarkerAnnotations(firstStaticMarkerAnnotation, secondStaticMarkerAnnotation)
.setStaticPolylineAnnotations(staticPolylineAnnotation)
.setAuto(true)
.setWidth(320)
.setHeight(320)
.setRetina(true)
.build();

Picasso.with(this).load(veniceStaticImage.getUrl().toString()).into(veniceImageView);

StaticMarkerAnnotation customStaticMarkerAnnotation = new StaticMarkerAnnotation.Builder()
.setUrl("https://www.mapbox.com/img/rocket.png")
.setPosition(Position.fromCoordinates(2.29450, 48.85826))
.build();

MapboxStaticImage parisStaticImage = new MapboxStaticImage.Builder()
.setAccessToken(Mapbox.getAccessToken())
.setStyleId(Constants.MAPBOX_STYLE_OUTDOORS)
.setStaticMarkerAnnotations(customStaticMarkerAnnotation)
.setLat(48.85826)
.setLon(2.29450)
.setZoom(16)
.setPitch(20)
.setBearing(60)
.setWidth(320)
.setHeight(320)
.setRetina(true)
.build();

Picasso.with(this).load(parisStaticImage.getUrl().toString()).into(parisImageView);

MapboxStaticImage londonStaticImage = new MapboxStaticImage.Builder()
.setAccessToken(Mapbox.getAccessToken())
.setStyleId(Constants.MAPBOX_STYLE_STREETS)
.setLat(51.5062)
.setLon(-0.0756)
.setZoom(14)
.setGeoJson(Feature.fromGeometry(Point.fromCoordinates(Position.fromCoordinates(-0.0756, 51.5062))))
.setWidth(320)
.setHeight(320)
.setRetina(true)
.build();

Picasso.with(this).load(londonStaticImage.getUrl().toString()).into(londonImageView);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:paddingBottom="6dp"
android:paddingTop="6dp"
tools:context=".staticimage.StaticImageWithAnnotationsActivity">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">

<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="6dp"
android:layout_marginLeft="6dp"
android:layout_marginRight="6dp"
android:layout_marginStart="6dp"
app:cardPreventCornerOverlap="true"
app:cardUseCompatPadding="true">

<ImageView
android:id="@+id/parisImageView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:scaleType="fitCenter"/>

</android.support.v7.widget.CardView>

<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="6dp"
android:layout_marginLeft="6dp"
android:layout_marginRight="6dp"
android:layout_marginStart="6dp"
app:cardPreventCornerOverlap="true"
app:cardUseCompatPadding="true">

<ImageView
android:id="@+id/veniceImageView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:scaleType="fitCenter"/>

</android.support.v7.widget.CardView>

<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="6dp"
android:layout_marginLeft="6dp"
android:layout_marginRight="6dp"
android:layout_marginStart="6dp"
app:cardPreventCornerOverlap="true"
app:cardUseCompatPadding="true">

<ImageView
android:id="@+id/londonImageView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:scaleType="fitCenter"/>

</android.support.v7.widget.CardView>

</LinearLayout>
</ScrollView>
4 changes: 3 additions & 1 deletion mapbox/app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@
<string name="title_geocoding_service">Geocoding service</string>
<string name="title_maki_icons">Maki icons</string>
<string name="title_static_image">Static image</string>
<string name="title_simplify_polyline">Simplify polyline</string>
<string name="title_static_image_with_annotations">Static Image with Annotations</string>
<string name="title_simplify_polyline">Simplify staticPolylineAnnotation</string>
<string name="title_map_matching">Map matching</string>
<string name="title_turf_bearing">Turf bearing</string>
<string name="title_turf_destination">Turf destination</string>
Expand All @@ -50,6 +51,7 @@
<string name="description_geocoding_service">Gets your current location and returns information using geocoder.</string>
<string name="description_maki_icons">List of the Maki icons.</string>
<string name="description_static_image">Use the static map API and display in an image view.</string>
<string name="description_static_image_with_annotations">Use the static map API with Annotations and display in an image view.</string>
<string name="description_simplify_polyline">Take a polyline and simplify it\'s geometry.</string>
<string name="description_map_matching">Use the map matching API to match a route to a road.</string>
<string name="description_turf_bearing">Use Turf to get the bearing.</string>
Expand Down
1 change: 1 addition & 0 deletions mapbox/dependencies.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ ext {
supportCompat : 'com.android.support:support-compat:25.1.0',
supportDesign : 'com.android.support:design:25.1.0',
supportRecyclerview : 'com.android.support:recyclerview-v7:25.1.0',
supportCardView : 'com.android.support:cardview-v7:25.1.0',

// mapbox
mapbox : 'com.mapbox.mapboxsdk:mapbox-android-sdk:5.0.1@aar',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,4 +49,8 @@ public class Constants {
public static final String MAPBOX_STYLE_SATELLITE = "satellite-v9";
public static final String MAPBOX_STYLE_SATELLITE_HYBRID = "satellite-streets-v9";

public static final String PIN_SMALL = "pin-s";
public static final String PIN_MEDIUM = "pin-m";
public static final String PIN_LARGE = "pin-l";

}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import com.mapbox.services.Constants;

import java.math.RoundingMode;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.util.Locale;
Expand Down Expand Up @@ -58,11 +59,26 @@ public static String join(CharSequence delimiter, Object[] tokens) {
*
* @param coordinate a double value representing a coordinate.
* @return a formatted string.
* @since 2.0.1
* @since 2.1.0
*/
public static String formatCoordinate(double coordinate) {
DecimalFormat decimalFormat = new DecimalFormat("0.######", new DecimalFormatSymbols(Locale.US));
return String.format(Constants.DEFAULT_LOCALE, "%s",
decimalFormat.format(coordinate));
}

/**
* Allows the specific adjusting of a coordinates precision.
*
* @param coordinate a double value representing a coordinate.
* @return a formatted string.
* @since 2.1.0
*/
public static String formatCoordinate(double coordinate, int precision) {
String pattern = "0." + new String(new char[precision]).replace("\0", "0");
DecimalFormat df = (DecimalFormat) DecimalFormat.getInstance(Locale.US);
df.applyPattern(pattern);
df.setRoundingMode(RoundingMode.FLOOR);
return df.format(coordinate);
}
}
Loading