I'm currently trying to use Proj4js to transform the bounding box coords, but it's not working. Any thoughts on how to get the image overlay displayed correctly?
self.createPngHeatmapLayer = function(pngHeatmapObject) {
var nLat = pngHeatmapObject.coords[0];
var sLat = pngHeatmapObject.coords[1];
var eLong = pngHeatmapObject.coords[2];
var wLong = pngHeatmapObject.coords[3];
logger.debug("createPngHeatmapLayer() [[" + sLat + ", " + wLong + "], [" + nLat + ", " + eLong + "]] length:" + pngHeatmapObject.image.length);
var imageUrl = "data:image/png;base64," + pngHeatmapObject.image;
// var imageBounds = [[sLat, wLong], [nLat, eLong]];
var source = new proj4.Proj('EPSG:4326');
var dest = new proj4.Proj('EPSG:3857');
var p = new proj4.Point(wLong, sLat);
proj4.transform(source, dest, p);
var p2 = new proj4.Point(eLong, nLat);
proj4.transform(source, dest, p2);
logger.debug("createPngHeatmapLayer() [[" + p+"], [" + p2 + "]]");
var imageBounds = leaflet.bounds([p.x, p.y], [p2.x, p2.y]);
//pngHeatLayer = leaflet.imageOverlay(imageUrl, imageBounds);
pngHeatLayer = leaflet.Proj.imageOverlay(imageUrl, imageBounds);
};