Map popup only works initially

I'm using a map with markers that when you hover over/click it sends parameters to
a popup view about that site including a path to the JSON data. The problem is, it displays the sites info correctly the first time you hover over it... however if you go back to the marker, it displays the last markers info... so essentially the tags associated with the view only ever change when a new marker is hovered over. If I completely close out of the window (not refresh) then it will reset. Here's the part I don't get... the variables are changing each time a different marker is hovered over, but not the tags which I just write the variable to right after... for example I have this code

#set path to TagPath parameter	
path = self.view.params.TagPath

#read JSON data at passed in tagPath
JSON = system.tag.readBlocking(path)[0].value

#convert JSON data to dictionary
obj = system.util.jsonDecode(JSON)

#Grab all the different important weather stats and store them in variables
currTemp = obj['current_weather']['temperature'] # This variable works
system.tag.writeBlocking(["[default]Current_Weather/Current_Temperature"],[currTemp]) # this doesn't work except the very first time for each marker

I return the value "currTemp" to a label, and it displays the right value even when going back and forward between two markers which is what I want... however, the tag "Current_Temperature" which I right to right after assigning "currTemp" doesn't change unless its a new marker thats never been hovered over. Essentially "currTemp" variable changes correctly, but writing that value to a tag immediately after the variable is assigned only works once.

It's as if the writeBlocking isn't getting called except once, but how can that be when its 100% true that the line above it does get called every time a marker is hovered over not just a new one.

Any help is greatly appreciated!

Are you sure that no write is occurring, or is a write occurring with the same value? Verify the params you reference are changing, otherwise it would appear like the write is never occurring because you're seeing the same value as it had the last time you wrote to it. I recommend placing some logging after variable assignment which logs the value of the variable so you can see what the values being used actually are.

The variable is changing and displaying correctly. It's the tag that I'm writing to in the line after assigning the variable that's value is only changing when a new marker is hovered over.

Check the returned quality of the writeBlocking call?
Did you put any logging after the writeBlocking line to verify your code continues beyond that point?
Have you checked the Gateway for any logged errors stemming from this script?

No errors in logs not sure how to check returned quality of writeBlocking call. When teh call works the quality is always good.

system.getLogger("QUALCHECK").info(system.tag.writeBlocking(["[default]Current_Weather/Current_Temperature"],[currTemp])[0].isGood())