@its-brad You can install nodebb-plugin-custom-pages and config it like this:

Then go to ACP -> Extend -> Widgets and look for home.tpl to customize it your way with all the widgets you want.
Then go to ACP -> General -> Homepage and choose this new page to be your homepage (in this example the custom path will be /home).
And it's done.

I think this is the only way to do what you want. This is a great plugin too if you want to extend your forum pages and it is not heavy at all.

Finally it worked. Thank you very much. Just two points:
a. Ajaxing ends up with this URL:
http://localhost:4567/map?_=1514797485831&loggedin=true
I mean the internal details are visible to the user. An ideal solution is to reset the URL to something like this: localhost:4567/map
b. Suppose I cold load with an invalid URL:
http://localhost:4567/map?loggedin=FALSE
it still renders the map page. Ideally, it should display the "Page Not found message"
Any solution to these two? Or, shall I consider them as "OK let it behave so!"?

I solved it, so for those get stuck here , we have to add Custom routes for ajaxifying and also mention which template to use.
to solve that add custom mapping to the file
/src/views/config.json
like this
"^route/.*": "Template to use without .tpl at the end",
"^route/.*/add": "template"