Add Marker on Android Google Map via touch or tap Add Marker on Android Google Map via touch or tap android android

Add Marker on Android Google Map via touch or tap


Try using new Google Map API v2.

It's easy to use and you can add a marker on tap like this:

map.setOnMapClickListener(new GoogleMap.OnMapClickListener() {    @Override    public void onMapClick(LatLng point) {        allPoints.add(point);        map.clear();        map.addMarker(new MarkerOptions().position(point));    }});

or in Kotlin:

map.setOnMapClickListener {    allPoints.add(it)    map.clear()    map.addMarker(MarkerOptions().position(it))}

Note that you might want to remember all your added points in a list (allPoints), so you can re-draw or remove them later. An even better approach to remember the points would be to remember a Marker object for each of them - you can get the Marker object as a result from the addMarker function, it has a remove() function that easily removes the marker from the map.


The technique which i used is:

googleMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() {    @Override    public void onMapClick(LatLng point) {                   MarkerOptions marker = new MarkerOptions().position(new LatLng(point.latitude, point.longitude)).title("New Marker");        googleMap.addMarker(marker);        System.out.println(point.latitude+"---"+ point.longitude);      }});

Hope it helps!!!


This code is Successful run I am working on that code this code is for Dynamic Draw

I think this code help you more for Static or dynamic both places you can use this code

double latval = Double.parseDouble(jsonobject.getString("lat"));double longval = Double.parseDouble(jsonobject.getString("lon"));mMap.addMarker(new MarkerOptions()               .position(new LatLng( latval,    longval))               .title(jsonobject.getString("country"))               .snippet("4 E. 28TH Street From $15 /per night")               .rotation((float) -15.0)               .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_ORANGE))              );if (i == 0) {    mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(                                new LatLng(latval, longval), 7));    mMap.addCircle(new CircleOptions()                   .center(new LatLng(latval,longval))                   .radius(5000)                   .strokeColor(Color.RED)                   .fillColor(Color.RED)); }