Assigned
Status Update
Comments
ja...@planticle.com.au <ja...@planticle.com.au> #2
Forgot to mention - this affects Google maps javascript API version 3.32
fv...@google.com <fv...@google.com>
fv...@google.com <fv...@google.com> #3
Thanks for reporting this issue. We verified it and we'll keep tracking it. Please note that at this point we cannot give you any information on if and when this will be investigated. You can star this task to receive further updates.
bh...@gmail.com <bh...@gmail.com> #4
Any update on this? we are now forced to 3.32 and its causing all kinds of issues in the libraries I use. wax.g.js https://github.com/CartoDB/wax/blob/master/dist/wax.g.js#L3523 uses a cache to store the element and then deletes it when releaseTile is called.
What seems to happen is that the map loads, getTile is called the first time, then it is called a second time and I think it releases the original call, which happens after the 2nd one, thus releasing the tiles when it shouldnt. This happens all the time on map load and happens intermittently (more often on IE11) during zooming.
What seems to happen is that the map loads, getTile is called the first time, then it is called a second time and I think it releases the original call, which happens after the 2nd one, thus releasing the tiles when it shouldnt. This happens all the time on map load and happens intermittently (more often on IE11) during zooming.
[Deleted User] <[Deleted User]> #5
Hello, I'd like an update on this issue as well. The OverlayMapType feature is unusable for any use case requiring releaseTile. getTile being called twice, releaseTile being called on on-screen tiles, etc. This should be escalated above a P3 now that 3.32 is forced out to the world.
ja...@planticle.com.au <ja...@planticle.com.au> #6
For those struggling with this bug, we are using a work around that does some book-keeping on the number of getTile and releaseTile calls. It's a little convoluted:
1) For each getTile call, we generate a "tile key" string based on the x,y,z tile coordinates. (e.g. "323,234,5")
2) We have a map which keeps track of a "reference count" for each key. Each call to getTile increments the reference count for the tile key.
3) The element that we return from getTile has a "data-tile-key" attribute which is set to the key for that tile
4) In getTile, if the reference count for the key is greater than one then we know this is a duplicate getTile call, so we just return an empty div with the "data-tile-key" attribute
5) In releaseTile, the first thing we do is read the "data-tile-key" attribute from the node being released and decrement the reference count for that key. If the reference count is zero, then we know that the tile is really going offscreen and so we release any resources associated with that tile.
Works for us, but of course this is a just a big hack to work around a bug that shouldn't be there in the first place.
1) For each getTile call, we generate a "tile key" string based on the x,y,z tile coordinates. (e.g. "323,234,5")
2) We have a map which keeps track of a "reference count" for each key. Each call to getTile increments the reference count for the tile key.
3) The element that we return from getTile has a "data-tile-key" attribute which is set to the key for that tile
4) In getTile, if the reference count for the key is greater than one then we know this is a duplicate getTile call, so we just return an empty div with the "data-tile-key" attribute
5) In releaseTile, the first thing we do is read the "data-tile-key" attribute from the node being released and decrement the reference count for that key. If the reference count is zero, then we know that the tile is really going offscreen and so we release any resources associated with that tile.
Works for us, but of course this is a just a big hack to work around a bug that shouldn't be there in the first place.
dr...@gmail.com <dr...@gmail.com> #7
Comment has been deleted.
Description
# It is OK to share your API Project ID, but _not_ API keys.
Issue report
----------------
Steps to reproduce:
1. Create a custom Overlay map type following the example at
2. Note that upon load getTile() is called twice for every visible tile. releaseTile() is also called once per tile, so the net result is correct, but it is inefficient.
JS Fiddle demonstrating the problem:
Observed behaviour: getTile() is called twice per visible tile
Expected behaviour: getTile() should be called once per visible tile
Reproduced in Chrome 63.0.3239.132 (Mac OS) and Firefox 58.0.2 (Mac OS).