Skip to content

Instantly share code, notes, and snippets.

@cvance
Created May 10, 2018 18:37
Show Gist options
  • Save cvance/1a46db588025076f8d82431b26195291 to your computer and use it in GitHub Desktop.
Save cvance/1a46db588025076f8d82431b26195291 to your computer and use it in GitHub Desktop.
package mapboxtest.mapboxtest;
import android.graphics.Color;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import com.mapbox.geojson.Point;
import com.mapbox.geojson.Polygon;
import com.mapbox.mapboxsdk.Mapbox;
import com.mapbox.mapboxsdk.camera.CameraPosition;
import com.mapbox.mapboxsdk.geometry.LatLng;
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
import com.mapbox.mapboxsdk.style.layers.FillLayer;
import com.mapbox.mapboxsdk.style.layers.Layer;
import com.mapbox.mapboxsdk.style.layers.LineLayer;
import com.mapbox.mapboxsdk.style.layers.PropertyFactory;
import com.mapbox.mapboxsdk.style.sources.GeoJsonSource;
import com.mapbox.mapboxsdk.style.sources.TileSet;
import com.mapbox.mapboxsdk.style.sources.VectorSource;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
MapView mapView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Mapbox.getInstance(this, YOUR_MAPBOX_TOKEN);
mapView = findViewById(R.id.map_view);
mapView.onCreate(savedInstanceState);
mapView.getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(final MapboxMap map) {
map.setCameraPosition(new CameraPosition.Builder().target(new LatLng(34.016777, -118.494933)).zoom(13).build());
addLayers(map);
}
});
}
private void addLayers(MapboxMap map) {
GeoJsonSource source = new GeoJsonSource("test-geojson-source");
List<Point> points = new ArrayList<>();
points.add(Point.fromLngLat(-118.494933, 34.016777));
points.add(Point.fromLngLat(-118.474933, 34.016777));
points.add(Point.fromLngLat(-118.474933, 34.026777));
points.add(Point.fromLngLat(-118.494933, 34.026777));
points.add(Point.fromLngLat(-118.494933, 34.016777));
List<List<Point>> lists = new ArrayList<>();
lists.add(points);
source.setGeoJson(Polygon.fromLngLats(lists));
map.addSource(source);
Layer newLayer = new FillLayer("test-layer", "test-geojson-source")
.withProperties(PropertyFactory.fillColor(Color.rgb(255, 0, 0)), PropertyFactory.fillOpacity(.6f));
map.addLayer(newLayer);
}
@Override
public void onStart() {
super.onStart();
mapView.onStart();
}
@Override
public void onResume() {
super.onResume();
mapView.onResume();
}
@Override
public void onPause() {
super.onPause();
mapView.onPause();
}
@Override
public void onStop() {
super.onStop();
mapView.onStop();
}
@Override
public void onDestroy() {
super.onDestroy();
mapView.onDestroy();
}
@Override
public void onLowMemory() {
super.onLowMemory();
mapView.onLowMemory();
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
mapView.onSaveInstanceState(outState);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment