besukosan
@besukosan

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

【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

No Answers yet.

Your answer might help someone💌