A memory from 2012. It's messy, but does the job.
It can load any number of map tiles and lets you fly around using RMB and WSAD (+ Space & Ctrl). Tested on Goddess of Destruction, C2, and.. C4, i guess.
Attribution: i'd taken base code for some UE entity types from.. can't really remember where : (
Building may require some quite old libraries, so the easiest way is to grab binaries from the Releases page. They are expecting to find L2 client folder at the parent directory, so put the build folder at the same level as L2's system folder.
In case you want to build it, grab deps.zip from the last release and put it in the project root.
Also, if you'll put l2j geodata at the same level as build folder (path should look like geodat/**_**.l2j), it will be displayed over geometry.