-1

Мне нужно удалить мои маркеры щелчком правой кнопки мыши, потому что у меня есть две кнопки, чтобы показать маркеры и скрыть их, но когда я щелкнул правой кнопкой мыши каждый маркер, чтобы его удалить, но это не может никто посмотреть мой код и посмотреть, что я пропустил, потому что я не могу видеть это, и я в настоящее время ищу около 2 часов:Постоянно удаляет маркеры из массива

function rightclickableMarker(marker, h) { 
    google.maps.event.addListener(marker, 'rightclick', function(evt) { 
     if(lastCoordinates[h] && lastCoordinates[h].setMap){ 
     lastCoordinates[h].setMap(null); 
      delete (lastCoordinates); 
      var idx = path.indexOf(lastCoordinates[h].getPosition()) 
      if (idx > -1) { 
      path.splice(idx, 1); 
      // removeLine(); 
      drawPath(); 
      } 

     } 
    }); 
} 
+0

Мне очень нравится, что люди голосуют без причины или дают ответ – GEOMAS

ответ

0

Вы можете использовать «это» в вас слушателе, чтобы удалить маркер:

google.maps.event.addListener(marker, 'rightclick', function(evt) { 
    //... 
    this.setMap(null); 
    //... 
    } 

Я подозреваю, что lastCoordinates [h] на самом деле не содержит маркер, но у вас нет p osted достаточно кода, чтобы определить, если это так. Вы также используете lastCoordinates [h] после того, как вы его удалили. Выбрасывает исключение?

+0

lastCoordinate содержит маркер – GEOMAS

+0

Does this.setMap (null); Работа? Есть ли исключение, вызванное вашим кодом? Было бы полезно, если бы вы добавили фрагмент кода или скрипку, чтобы повторить вашу проблему. – brenzy

Смежные вопросы