Если вы хотите очистить маркеры, созданные с помощью gmaps4rails
, используйте эту функцию js:
Gmaps4Rails.clear_markers();
в противном случае, прокрутите ваши маркеры и сделайте marker.setMap(null)
Хорошо, следующееФункция удаляет все маркеры и добавляет новый, где пользователь нажимает:
var marker = null;
function gmaps4rails_callback() {
Gmaps4Rails.clear_markers();
if (marker != null) { marker.setMap(null); }
google.maps.event.addListener(Gmaps4Rails.map, 'click', function(object){ marker = new google.maps.Marker({position: object.latLng, map: Gmaps4Rails.map});});
}
Примечания:
- Вы можете использовать любую логику в коде js для создания только одного маркера илиотправьте свои координаты через ajax.
- Широта может быть получена с помощью:
object.latLng.lat()
, долгота с: object.latLng.lng()
Другой способ добавить маркеры - использовать функцию add_marker
здесь описано: https://github.com/apneadiving/Google-Maps-for-Rails/wiki/Dynamic-%28or-Ajax%29-map-refresh