https://codepen.io/Sphinxxxx/pen/wjEyMm

я есть карта Google с несколькими наложениями SVG. Но когда я добавляю событие щелчка для этих SVG, все наложения активируются щелчком мыши, и я хочу, чтобы оно работало только для пути SVG.

Вот скрипкаhttps://jsfiddle.net/gmkfhr9s/1/

Я используюПользовательские оверлеи документация как основаhttps://developers.google.com/maps/documentation/javascript/customoverlays

USGSOverlay.prototype.onAdd = function() {
  var div = document.createElement('div');
  div.style.borderStyle = 'dotted';
  div.style.borderWidth = '2px';
  div.style.borderColor = 'white';
  div.style.position = 'absolute';

  // Create the img element and attach it to the div.
  var img = document.createElement('img');
  img.src = this.image_;
  img.style.width = '100%';
  img.style.height = '100%';
  img.style.position = 'absolute';
  div.appendChild(img);

  this.div_ = div;

  // Add the element to the "overlayLayer" pane.
  var panes = this.getPanes();
  panes.overlayLayer.appendChild(div);

  //add element to clickable layer
  this.getPanes().overlayMouseTarget.appendChild(div);

  google.maps.event.addDomListener(img, 'mouseover', function() {
    img.style.opacity = '0.5';
  });
  google.maps.event.addDomListener(img, 'mouseout', function() {
    img.style.opacity = '1';
  });
};

Вы можете видеть, что с событием mouseover все оверлей (рамку с рамкой) выбран и только SVG.

Можно ли сделать только SVG кликабельным?

Этотнить похожая проблема, если это может вам помочь.

РЕДАКТИРОВАТЬ :

@ Sphinxxx ответ работает хорошо.

Я просто хочу добавить, что если у вас есть несколько SVG с некоторыми из них выше других, вам нужно будет добавить этот CSS, чтобы иметь возможность нажимать на них.

svg {
  pointer-events: none;
}
path {
  pointer-events: all;
}

Ответы на вопрос(1)

Ваш ответ на вопрос