So, as I was writing this question, a thought occurred: why not check the source? Using Chrome, I prettified the map-render-display.js
file and looked for events added via the addListener
function. I didn't see anything for ImgTileProvider
, but I found several other providers subscribing to a response
event. So I added an event listener on my ImgTileProvider
instance and it worked! Below is a sample of working code.
// A magic number representing the total number of tiles in the map.
var magicNumber = 22;
// Returns a new ImgTileProvider.
tileProvider = self.imgTileProvider();
tileProvider.addListener("response", function () {
magicNumber--;
if (magicNumber === 0) {
console.log("All tiles loaded");
}
});