       # Updates the position of the marker on the map
       update_latlng: ->
         @marker.setLatLng([@node.latitude, @node.longitude])
-        @marker.update()
+        #@marker.update()
         
       # Update whole content of node (popup, position..) according to the content of node
       update_node_content: (node) ->
         console.log("Update node content", @node.title, "->", node.title)
         @node = node
         @update_popup()
+      popup_content: ->
+        "<h5>#{@node.title}</h5>#{@node.resume}<br><small>#{@character_names}</small>"
+        
       # Destroy the popup
       destroy_popup: ->
         console.log("destroy a popup")
         @marker.closePopup()
         @marker.unbindPopup()
+      create_popup: ->
+        console.log("create a popup", @node.title)
+        @marker.bindPopup @popup_content()
       update_popup: ->
-        console.log("create a popup", @node.title)
-        @destroy_popup()
-        @marker.bindPopup "<h5>#{@node.title}</h5>#{@node.resume}<br><small>#{@character_names}</small>"
+        console.log("update a popup", @node.title)
+        @marker.setPopupContent @popup_content()
         
       # Destroy popup and marker
       destroy: ->

          diff_dates = jv_date(suiv_node.begin_at) - jv_date(cur_node.end_at)
          diff_dates_current = jv_date(@date) - jv_date(cur_node.end_at)
          if diff_dates == 0
            new_lat = cur_lat
            new_lng = cur_lng
          else
            new_lat = cur_lat + diff_lat * (diff_dates_current/diff_dates)
            new_lng = cur_lng + diff_lng * (diff_dates_current/diff_dates)
          console.log("char:", @character.name)
          console.log('latlng:', cur_lat, cur_lng, new_lat, new_lng)
          console.log('diffs:', diff_lat, diff_lng, diff_dates, diff_dates_current)
        @node.latitude = new_lat
        @node.longitude = new_lng
        @node_obj.update_node_position(@node)

            @node.longitude = latlng.lng
            @update_on_server()
        )
        @create_popup()
      
      # Updates only node position according to the content of node
      # Beware to not change other fields of node, except real.
