JRMapView
Google map view with map type chooser like Google Map App
View Releases and Changelogs
Table of Content
Gradle install
Add this to your project-level build.gradle
allprojects {
repositories {
..
maven {
url "https://jitpack.io"
}
}
}
Implement the dependency to your app-level build.gradle
dependencies {
..
implementation 'com.github.jrizani:JRMapView:$version'
}
How to use
Make sure you have google map api key, if you don't understand about that, you can find the tutorial how to implement google map in android
on google search.
Declare the view in your layout
<jrizani.jrmapview.JRMapView
android:id="@+id/googleView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
See how to implement the map view on your google map activity, make sure you add the ACCESS_COARSE_LOCATION
and ACCESS_FINE_LOCATION
permission.
private GoogleMap mMap;
private JRMapView mMapView;
private Bundle savedInstanceState;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
this.savedInstanceState = savedInstanceState;
mMapView = findViewById(R.id.googleView);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { // request permission when device version is higher than Marshmallow
requestPermissions(new String[]{Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION}, 123);
} else {
mMapView.onCreate(savedInstanceState, this);
mMapView.onResume();
}
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
mMapView.onCreate(savedInstanceState, this);
mMapView.onResume();
} else {
finish();
}
}
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
googleMap.setMyLocationEnabled(true);
mMapView.onMapReady(googleMap); //you must call it when you change googleMap.setMyLocationEnabled(boolean) and googleMap.setMapType(int)
mMapView.setGoogleMapPadding(0, 24, 24, 0); //optional
// 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));
}
Example
You can found the example code here
.
There is the sample gif