Rails google地图javascript,点击其他点时只显示一个点,删除一个标记点

Rails google map javascript, only show one point and delete one mark point when other point was click

我在这个例子中使用代码

var map;

function initMap() {
  map = new google.maps.Map(document.getElementById('map'), {
    zoom: 10,
    center: { lat: 35.687719, lng: 139.702146 }
  });

  map.addListener('click', function(e) {
    window.event = e;
    placeMarkerAndPanTo(e.latLng, map);
 });
}

function placeMarkerAndPanTo(latLng, map) {
  var marker = new google.maps.Marker({
    position: latLng,
    map: map
  });
  
  map.panTo(latLng);
}
html, body {
  height: 100%;
  margin: 0;
  padding: 0;
}
#map {
  height: 100%;
}
<div id="map"></div>
<!-- Replace the value of the key parameter with your own API key. -->
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDwqIkJwBb6g4KirOaLnNgE1I6MtWnKxac&callback=initMap&language=ja">
</script>

现在,我只想在地图中按 lng、lat 显示一个点。 当我单击地图中的一个新点时,我想删除地图中旧点的标记以确保只显示一个点。 你能帮助我吗。 谢谢

var map;
var gmarkers = [];

function initMap() {
  map = new google.maps.Map(document.getElementById('map'), {
    zoom: 10,
    center: { lat: 35.687719, lng: 139.702146 }
  });

  map.addListener('click', function(e) {
    removeMarkers();
    window.event = e;
    placeMarkerAndPanTo(e.latLng, map);
 });
}

function placeMarkerAndPanTo(latLng, map) {
  
  var marker = new google.maps.Marker({
    position: latLng,
    map: map
  });
  
  map.panTo(latLng);
  gmarkers.push(marker);
}
 
function removeMarkers() {
  for (i = 0; i < gmarkers.length; i++) {
    gmarkers[i].setMap(null);
  }
}
html, body {
  height: 100%;
  margin: 0;
  padding: 0;
}
#map {
  height: 100%;
}
<div id="map"></div>
<!-- Replace the value of the key parameter with your own API key. -->
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDwqIkJwBb6g4KirOaLnNgE1I6MtWnKxac&callback=initMap&language=ja">
</script>