【GoogleMaps + Rails】画面を更新せずにMap上のマーカーを消したい
解決したいこと
GoogleMapに、railsのオブジェクトに連動したマーカーを設置しています。
モーダルを用いてデータを更新に合わせて、画面の更新をせずにMAPのマーカーを連動させたい。
例えば該当のrailsの@userオブジェクトを削除したら、画面更新せずにマップ上の@userマーカーも消えるという具合です。
発生している問題・エラー
モーダルを用いて@userを削除した場合、画面を更新すれば当然@userマーカーは消えています。
画面更新せずスマートに@userマーカーを消す方法が分からずにいます。
該当するソースコード
def destroy
@user = User.find(params[:id])
respond_to do |format|
if @user.destroy
format.html { redirect_to root_path, notice: 'User was successfully
deleted.' }
format.json { render :show, status: :created, location: @user }
format.js { @status = "success"}
else
format.html { render :new }
format.json { render json: @user.errors, status: :unprocessable_entity }
format.js { @status = "fail" }
end
end
end
(function(){
var contentString = '<%= link_to '削除', user_path(@user), method::delete, remote:true %>';
var infowindow = new google.maps.InfoWindow({
content: contentString
});
var markers = new google.maps.Marker({
position:{lat: <%= @user.latitude %>, lng: <%= @user.longitude %>},
map: map,
title: contentString,
});
})();
0