1.Add xml code in your layout for displaying maps.
2.Enable google maps api then get api key place that below.
<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.MapFragment"
android:layout_width="match_parent"
android:value="ADD-API-KEY"
android:layout_height="250dp"
tools:layout="@layout/newmaplayout" />
<ImageView
android:id="@+id/transparent_image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@color/transparent" />
3.Add this code in oncreate.
MapFragment mapFragment = (MapFragment) getFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(UpadateProfile.this);
4.Add this code after oncreate. then access current location with marker placed in that
@Override
public void onMapReady(GoogleMap rmap) {
DO WHATEVER YOU WANT WITH GOOGLEMAP
map = rmap;
setUpMap();
}
public void setUpMap() {
map.setMapType(GoogleMap.MAP_TYPE_HYBRID);
map.setMyLocationEnabled(true);
map.setTrafficEnabled(true);
map.setIndoorEnabled(true);
map.getCameraPosition();
map.setBuildingsEnabled(true);
map.getUiSettings().setZoomControlsEnabled(true);
markerOptions = new MarkerOptions();
markerOptions.title("Outlet Location");
map.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
@Override
public void onMapClick(LatLng point) {
map.clear();
markerOptions.position(point);
map.animateCamera(CameraUpdateFactory.newLatLng(point));
map.addMarker(markerOptions);
String all_vals = String.valueOf(point);
String[] separated = all_vals.split(":");
String latlng[] = separated[1].split(",");
MyLat = Double.parseDouble(latlng[0].trim().substring(1));
MyLong = Double.parseDouble(latlng[1].substring(0,latlng[1].length()-1));
markerOptions.title("Outlet Location");
getLocation(MyLat,MyLong);
}
});
}
public void getLocation(double lat, double lng) {
Geocoder geocoder = new Geocoder(UpadateProfile.this, Locale.getDefault());
try {
List<Address> addresses = geocoder.getFromLocation(lat, lng, 1);
} catch (IOException e) {
TODO Auto-generated catch block
e.printStackTrace();
Toast.makeText(this,e.getMessage(),Toast.LENGTH_SHORT).show();
}
}
@Override
public void onLocationChanged(Location location) {
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onProviderDisabled(String provider) {
}