Remove a Marker from a Googlemap

Remove a marker from a GoogleMap

The method signature for addMarker is:

public final Marker addMarker (MarkerOptions options)

So when you add a marker to a GoogleMap by specifying the options for the marker, you should save the Marker object that is returned (instead of the MarkerOptions object that you used to create it). This object allows you to change the marker state later on. When you are finished with the marker, you can call Marker.remove() to remove it from the map.

As an aside, if you only want to hide it temporarily, you can toggle the visibility of the marker by calling Marker.setVisible(boolean).

Google Map API - Removing Markers

You need to keep an array of the google.maps.Marker objects to hide (or remove or run other operations on them).

In the global scope:

var gmarkers = [];

Then push the markers on that array as you create them:

var marker = new google.maps.Marker({
position: new google.maps.LatLng(locations[i].latitude, locations[i].longitude),
title: locations[i].title,
icon: icon,
map:map
});

// Push your newly created marker into the array:
gmarkers.push(marker);

Then to remove them:

function removeMarkers(){
for(i=0; i<gmarkers.length; i++){
gmarkers[i].setMap(null);
}
}

working example (toggles the markers)

code snippet:





var gmarkers = [];

var RoseHulman = new google.maps.LatLng(39.483558, -87.324593);

var styles = [{

stylers: [{

hue: "black"

}, {

saturation: -90

}]

}, {

featureType: "road",

elementType: "geometry",

stylers: [{

lightness: 100

}, {

visibility: "simplified"

}]

}, {

featureType: "road",

elementType: "labels",

stylers: [{

visibility: "on"

}]

}];


var styledMap = new google.maps.StyledMapType(styles, {

name: "Campus"

});

var mapOptions = {

center: RoseHulman,

zoom: 15,

mapTypeControl: true,

zoomControl: true,

zoomControlOptions: {

style: google.maps.ZoomControlStyle.SMALL

},

mapTypeControlOptions: {

mapTypeIds: ['map_style', google.maps.MapTypeId.HYBRID],

style: google.maps.MapTypeControlStyle.DROPDOWN_MENU

},

scrollwheel: false,

streetViewControl: true,


};


var map = new google.maps.Map(document.getElementById('map'), mapOptions);

map.mapTypes.set('map_style', styledMap);

map.setMapTypeId('map_style');


var infowindow = new google.maps.InfoWindow({

maxWidth: 300,

infoBoxClearance: new google.maps.Size(1, 1),

disableAutoPan: false

});


var marker, i, icon, image;


var locations = [{

"id": "1",

"category": "6",

"campus_location": "F2",

"title": "Alpha Tau Omega Fraternity",

"description": "<p>Alpha Tau Omega house</p>",

"longitude": "-87.321133",

"latitude": "39.484092"

}, {

"id": "2",

"category": "6",

"campus_location": "B2",

"title": "Apartment Commons",

"description": "<p>The commons area of the apartment-style residential complex</p>",

"longitude": "-87.329282",

"latitude": "39.483599"

}, {

"id": "3",

"category": "6",

"campus_location": "B2",

"title": "Apartment East",

"description": "<p>Apartment East</p>",

"longitude": "-87.328809",

"latitude": "39.483748"

}, {

"id": "4",

"category": "6",

"campus_location": "B2",

"title": "Apartment West",

"description": "<p>Apartment West</p>",

"longitude": "-87.329732",

"latitude": "39.483429"

}, {

"id": "5",

"category": "6",

"campus_location": "C2",

"title": "Baur-Sames-Bogart (BSB) Hall",

"description": "<p>Baur-Sames-Bogart Hall</p>",

"longitude": "-87.325714",

"latitude": "39.482382"

}, {

"id": "6",

"category": "6",

"campus_location": "D3",

"title": "Blumberg Hall",

"description": "<p>Blumberg Hall</p>",

"longitude": "-87.328321",

"latitude": "39.483388"

}, {

"id": "7",

"category": "1",

"campus_location": "E1",

"title": "The Branam Innovation Center",

"description": "<p>The Branam Innovation Center</p>",

"longitude": "-87.322614",

"latitude": "39.48494"

}, {

"id": "8",

"category": "6",

"campus_location": "G3",

"title": "Chi Omega Sorority",

"description": "<p>Chi Omega house</p>",

"longitude": "-87.319905",

"latitude": "39.482071"

}, {

"id": "9",

"category": "3",

"campus_location": "D1",

"title": "Cook Stadium/Phil Brown Field",

"description": "<p>Cook Stadium at Phil Brown Field</p>",

"longitude": "-87.325258",

"latitude": "39.485007"

}, {

"id": "10",

"category": "1",

"campus_location": "D2",

"title": "Crapo Hall",

"description": "<p>Crapo Hall</p>",

"longitude": "-87.324368",

"latitude": "39.483709"

}, {

"id": "11",

"category": "6",

"campus_location": "G3",

"title": "Delta Delta Delta Sorority",

"description": "<p>Delta Delta Delta</p>",

"longitude": "-87.317477",

"latitude": "39.482951"

}, {

"id": "12",

"category": "6",

"campus_location": "D2",

"title": "Deming Hall",

"description": "<p>Deming Hall</p>",

"longitude": "-87.325822",

"latitude": "39.483421"

}, {

"id": "13",

"category": "5",

"campus_location": "F1",

"title": "Facilities Operations",

"description": "<p>Facilities Operations</p>",

"longitude": "-87.321782",

"latitude": "39.484916"

}, {

"id": "14",

"category": "2",

"campus_location": "E3",

"title": "Flame of the Millennium",

"description": "<p>Flame of Millennium sculpture</p>",

"longitude": "-87.323306",

"latitude": "39.481978"

}, {

"id": "15",

"category": "5",

"campus_location": "E2",

"title": "Hadley Hall",

"description": "<p>Hadley Hall</p>",

"longitude": "-87.324046",

"latitude": "39.482887"

}, {

"id": "16",

"category": "2",

"campus_location": "F2",

"title": "Hatfield Hall",

"description": "<p>Hatfield Hall</p>",

"longitude": "-87.322340",

"latitude": "39.482146"

}, {

"id": "17",

"category": "6",

"campus_location": "C2",

"title": "Hulman Memorial Union",

"description": "<p>Hulman Memorial Union</p>",

"longitude": "-87.32698",

"latitude": "39.483574"

}, {

"id": "18",

"category": "1",

"campus_location": "E2",

"title": "John T. Myers Center for Technological Research with Industry",

"description": "<p>John T. Myers Center for Technological Research With Industry</p>",

"longitude": "-87.322984",

"latitude": "39.484063"

}, {

"id": "19",

"category": "6",

"campus_location": "A2",

"title": "Lakeside Hall",

"description": "<p></p>",

"longitude": "-87.330612",

"latitude": "39.482804"

}, {

"id": "20",

"category": "6",

"campus_location": "F2",

"title": "Lambda Chi Alpha Fraternity",

"description": "<p>Lambda Chi Alpha</p>",

"longitude": "-87.320999",

"latitude": "39.48305"

}, {

"id": "21",

"category": "1",

"campus_location": "D2",

"title": "Logan Library",

"description": "<p>Logan Library</p>",

"longitude": "-87.324851",

"latitude": "39.483408"

}, {

"id": "22",

"category": "6",

"campus_location": "C2",

"title": "Mees Hall",

"description": "<p>Mees Hall</p>",

"longitude": "-87.32778",

"latitude": "39.483533"

}, {

"id": "23",

"category": "1",

"campus_location": "E2",

"title": "Moench Hall",

"description": "<p>Moench Hall</p>",

"longitude": "-87.323695",

"latitude": "39.483471"

}, {

"id": "24",

"category": "1",

"campus_location": "G4",

"title": "Oakley Observatory",

"description": "<p>Oakley Observatory</p>",

"longitude": "-87.31616",

"latitude": "39.483789"

}, {

"id": "25",

"category": "1",

"campus_location": "D2",

"title": "Olin Hall and Olin Advanced Learning Center",

"description": "<p>Olin Hall</p>",

"longitude": "-87.324550",

"latitude": "39.482796"

}, {

"id": "26",

"category": "6",

"campus_location": "C3",

"title": "Percopo Hall",

"description": "<p>Percopo Hall</p>",

"longitude": "-87.328182",

"latitude": "39.482121"

}, {

"id": "27",

"category": "6",

"campus_location": "G3",

"title": "Public Safety Office",

"description": "<p>The Office of Public Safety</p>",

"longitude": "-87.320377",

"latitude": "39.48191"

}, {

"id": "28",

"category": "1",

"campus_location": "E2",

"title": "Rotz Mechanical Engineering Lab",

"description": "<p>Rotz Lab</p>",

"longitude": "-87.323247",

"latitude": "39.483711"

}, {

"id": "28",

"category": "6",

"campus_location": "C2",

"title": "Scharpenberg Hall",

"description": "<p>Scharpenberg Hall</p>",

"longitude": "-87.328139",

"latitude": "39.483582"

}, {

"id": "29",

"category": "6",

"campus_location": "G2",

"title": "Sigma Nu Fraternity",

"description": "<p>The Sigma Nu house</p>",

"longitude": "-87.31999",

"latitude": "39.48374"

}, {

"id": "30",

"category": "6",

"campus_location": "E4",

"title": "South Campus / Rose-Hulman Ventures",

"description": "<p></p>",

"longitude": "-87.330623",

"latitude": "39.417646"

}, {

"id": "31",

"category": "6",

"campus_location": "C3",

"title": "Speed Hall",

"description": "<p>Speed Hall</p>",

"longitude": "-87.326632",

"latitude": "39.482121"

}, {

"id": "32",

"category": "3",

"campus_location": "C1",

"title": "Sports and Recreation Center",

"description": "<p></p>",

"longitude": "-87.3272",

"latitude": "39.484874"

}, {

"id": "33",

"category": "6",

"campus_location": "F2",

"title": "Triangle Fraternity",

"description": "<p>Triangle fraternity</p>",

"longitude": "-87.32113",

"latitude": "39.483659"

}, {

"id": "34",

"category": "6",

"campus_location": "B3",

"title": "White Chapel",

"description": "<p>The White Chapel</p>",

"longitude": "-87.329367",

"latitude": "39.482481"

}, {

"id": "35",

"category": "6",

"campus_location": "F2",

"title": "Women's Fraternity Housing",

"description": "",

"image": "",

"longitude": "-87.320753",

"latitude": "39.482401"

}, {

"id": "36",

"category": "3",

"campus_location": "E1",

"title": "Intramural Fields",

"description": "<p></p>",

"longitude": "-87.321267",

"latitude": "39.485934"

}, {

"id": "37",

"category": "3",

"campus_location": "A3",

"title": "James Rendel Soccer Field",

"description": "<p></p>",

"longitude": "-87.332135",

"latitude": "39.480933"

}, {

"id": "38",

"category": "3",

"campus_location": "B2",

"title": "Art Nehf Field",

"description": "<p>Art Nehf Field</p>",

"longitude": "-87.330923",

"latitude": "39.48022"

}, {

"id": "39",

"category": "3",

"campus_location": "B2",

"title": "Women's Softball Field",

"description": "<p></p>",

"longitude": "-87.329904",

"latitude": "39.480278"

}, {

"id": "40",

"category": "3",

"campus_location": "D1",

"title": "Joy Hulbert Tennis Courts",

"description": "<p>The Joy Hulbert Outdoor Tennis Courts</p>",

"longitude": "-87.323767",

"latitude": "39.485595"

}, {

"id": "41",

"category": "6",

"campus_location": "B2",

"title": "Speed Lake",

"description": "",

"image": "",

"longitude": "-87.328134",

"latitude": "39.482779"

}, {

"id": "42",

"category": "5",

"campus_location": "F1",

"title": "Recycling Center",

"description": "",

"image": "",

"longitude": "-87.320098",

"latitude": "39.484593"

}, {

"id": "43",

"category": "1",

"campus_location": "F3",

"title": "Army ROTC",

"description": "",

"image": "",

"longitude": "-87.321342",

"latitude": "39.481992"

}, {

"id": "44",

"category": "2",

"campus_location": " ",

"title": "Self Made Man",

"description": "",

"image": "",

"longitude": "-87.326272",

"latitude": "39.484481"

}, {

"id": "P1",

"category": "4",

"title": "Percopo Parking",

"description": "",

"image": "",

"longitude": "-87.328756",

"latitude": "39.481587"

}, {

"id": "P2",

"category": "4",

"title": "Speed Parking",

"description": "",

"image": "",

"longitude": "-87.327361",

"latitude": "39.481694"

}, {

"id": "P3",

"category": "4",

"title": "Main Parking",

"description": "",

"image": "",

"longitude": "-87.326245",

"latitude": "39.481446"

}, {

"id": "P4",

"category": "4",

"title": "Lakeside Parking",

"description": "",

"image": "",

"longitude": "-87.330848",

"latitude": "39.483284"

}, {

"id": "P5",

"category": "4",

"title": "Hatfield Hall Parking",

"description": "",

"image": "",

"longitude": "-87.321417",

"latitude": "39.482398"

}, {

"id": "P6",

"category": "4",

"title": "Women's Fraternity Parking",

"description": "",

"image": "",

"longitude": "-87.320977",

"latitude": "39.482315"

}, {

"id": "P7",

"category": "4",

"title": "Myers and Facilities Parking",

"description": "",

"image": "",

"longitude": "-87.322243",

"latitude": "39.48417"

}, {

"id": "P8",

"category": "4",

"title": "",

"description": "",

"image": "",

"longitude": "-87.323241",

"latitude": "39.484758"

}, {

"id": "P9",

"category": "4",

"title": "",

"description": "",

"image": "",

"longitude": "-87.323617",

"latitude": "39.484311"

}, {

"id": "P10",

"category": "4",

"title": "",

"description": "",

"image": "",

"longitude": "-87.325714",

"latitude": "39.484584"

}, {

"id": "P11",

"category": "4",

"title": "",

"description": "",

"image": "",

"longitude": "-87.32778",

"latitude": "39.484145"

}, {

"id": "P12",

"category": "4",

"title": "",

"description": "",

"image": "",

"longitude": "-87.329035",

"latitude": "39.4848"

}];


for (i = 0; i < locations.length; i++) {


var marker = new google.maps.Marker({

position: new google.maps.LatLng(locations[i].latitude, locations[i].longitude),

title: locations[i].title,

map: map

});

gmarkers.push(marker);

google.maps.event.addListener(marker, 'click', (function(marker, i) {

return function() {

if (locations[i].description !== "" || locations[i].title !== "") {

infowindow.setContent('<div class="content" id="content-' + locations[i].id +

'" style="max-height:300px; font-size:12px;"><h3>' + locations[i].title + '</h3>' +

'<hr class="grey" />' +

hasImage(locations[i]) +

locations[i].description) + '</div>';

infowindow.open(map, marker);

}

}

})(marker, i));

}


function toggleMarkers() {

for (i = 0; i < gmarkers.length; i++) {

if (gmarkers[i].getMap() != null) gmarkers[i].setMap(null);

else gmarkers[i].setMap(map);

}

}


function hasImage(location) {

return '';

}
html,

body,

#map {

height: 100%;

width: 100%;

}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCkUOdZ5y7hMm0yrcCQoCvLwzdM6M8s5qk"></script>

<div id="controls">

<input type="button" value="Toggle All Markers" onClick="toggleMarkers()" />

</div>

<div id="map"></div>

How to remove a specific marker from google maps in flutter?

You need to find that specific marker in your _markers list (e.g. by firstWhere()) and then remove it from the list of markers.

Edit:

Marker marker = _markers.firstWhere((marker) => marker.markerId.value == "myId",orElse: () => null);
setState(() {
_markers.remove(marker);
});

This will trigger a rebuild of your map where the marker is no longer included.

How to remove specific marker on Android GoogleMap

When you add a marker on Map, you can store it into HashMap like this:

 HashMap<YourUniqueKey,Marker> hashMapMarker = new HashMap<>();
Marker marker = googleMap.addMarker(markerOptions);
hashMapMarker.put(YourUniqueKey,marker);

At the time you want to delete particular marker just get your Maker by YourUniqueKey for that marker like this:

Marker marker = hashMapMarker.get(YourUniqueKey);
marker.remove();
hashMapMarker.remove(YourUniqueKey);

Removing a Marker in Google Maps API v3

There is no removeOverlay function on the map object. Sounds like you've got only one marker, why use an array? Just change this:

google.maps.event.addListener(marker, "dblclick", function() {
map.removeOverlay(marker);
});

to this:

marker.addListener("dblclick", function() {
marker.setMap(null);
});

how to remove a single marker from google map

The easier answer is that you don't remove the marker from the markers array. All you do is identify the marker you want to remove from the map and then use setMap(null).

markers[indexOfMarker].setMap(null);

This way you can use the following if you want to add the marker back at some point:

markers[indexOfMarker].setMap(map);

How to remove specific multiple marker from google map instead of single or all marker

In this code pupMarker is always the last marker on the list. So when you use pupMarker.remove(); it only removes the last created marker. You can make a List that will hold all these Markers and then get the one you want to remove.

Edit 1:

It's probably better to use HashMap instead of List for holding references to Markers. It will be easier later to find it with a key in the Map.

Edit 2:

Example of this as requested in the comment:

private HashMap<Integer, Marker> hashMapMarker = new HashMap<>();

for(int i = 0 ;i< pup_nameList01.size();i++)
{
LatLng puplatlang = new LatLng(Double.parseDouble(pup_latList01.get(i)),Double.parseDouble(pup_longList01.get(i)));
Marker pupMarker = mMap.addMarker(new MarkerOptions().position(puplatlang).title(pup_nameList01.get(i)).draggable(true).icon(bitmapDescriptorFromVector(MapsActivity.this, R.drawable.bus_stop_small)));
hashMapMarker.put(i, pupMarker);
}

Note that if using Integer for a key is probably better to use SparseArray instead of HashMap.

private void removeMarker(int position){
hashMapMarker.get(positon).remove();
hashMapMarker.remove(position);
}

Removing Markers in android

Use this to add markers

As Global

List<Marker> mMarkers = new ArrayList<Marker>();

And In your for loop add markers to this list like

for (int i = 0; i < point_new.length; i++) {

MarkerOptions markerOptions = new MarkerOptions();

markerOptions.position(point_new[i]);

Marker marker = mMap.addMarker(markerOptions);
marker.setTitle("Point");
marker.setSnippet("this is snippet");
marker.setIcon(BitmapDescriptorFactory.fromResource(R.drawable.p));

mMarkers.add(marker); // <-- Like this
}

And to remove markers

private void removeMarkers() {
for (Marker marker: mMarkers) {
marker.remove();
}
mMarkers.clear();

}

hope it will help.



Related Topics



Leave a reply



Submit