explaingit

holetexvn/vietnam-3d-map

Analysis updated 2026-05-18

21JavaScriptAudience · generalComplexity · 2/5Setup · easy

TLDR

An interactive 3D map of Vietnam's 34 post-2025 provinces where hovering reveals a low-poly landmark and info card for each region.

Mindmap

mindmap
  root((vietnam 3d map))
    What it does
      Shows 34 provinces
      Reveals 3D landmarks
      Shows merger info
    Tech stack
      Three.js
      Node.js
      Playwright
    Use cases
      Explore provinces
      Record demo tour
      Study GeoJSON extrusion
    Audience
      Curious visitors
      Map enthusiasts

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Explore Vietnam's 34 provinces and their landmarks through an interactive 3D map.

USE CASE 2

Learn population, area, and merger details for each Vietnamese province by hovering over it.

USE CASE 3

Record an automatic north-to-south tour video of the map for a demo or presentation.

USE CASE 4

Study how GeoJSON boundary data can be extruded into a stylized 3D map.

What is it built with?

JavaScriptThree.jsNode.jsPlaywright

How does it compare?

holetexvn/vietnam-3d-mapamazingsyp/pokemon-ontologybinglehaepi/workingtable
Stars212121
LanguageJavaScriptJavaScriptJavaScript
Setup difficultyeasyeasyeasy
Complexity2/53/51/5
Audiencegeneralresearchergeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

No build step or dependency install needed, run node serve.mjs and open the local URL.

In plain English

This repository is an interactive 3D map of Vietnam showing the country's 34 provinces after the July 2025 administrative merger. Hovering the mouse over a province makes a small low-poly 3D landmark rise up out of it, such as Khue Van Cac, the Golden Bridge, Ha Long Bay, Ban Gioc waterfall, Cai Rang floating market, or Ca Mau Cape, along with an information card showing merger details, population, and area. All 34 provinces have a landmark, and the map also includes the Hoang Sa and Truong Sa archipelagos. It is described as a demo product built by holetex.com. To run it, you start a local server with a single Node command and open it in a browser. There is no build step and no dependency installation needed, since the Three.js graphics library is already bundled into the project. Controls are mouse driven. Hovering over a province raises it and shows its 3D landmark and info card, dragging rotates the map, scrolling zooms in and out, clicking a province flies the camera in close, and clicking the surrounding sea or pressing Escape returns to the full overview. A special mode, triggered with a URL parameter, runs an automatic tour from north to south, which the author uses for recording demo videos. There is also a separate script, using the Playwright browser automation tool, for recording a video walkthrough of the map and converting it to an MP4 file with ffmpeg. On the technical side, each province's 3D shape is extruded from real GeoJSON boundary data, with soft shadows, cinematic tone mapping, fog, an animated sea surface, and light particles. The 34 landmarks are built by hand from basic shapes like boxes, cones, cylinders, and spheres, each written as its own file. The boundary data comes from an open source Vietnam GIS dataset for the post-2025 provinces, simplified down to about 5,000 points, with one data bug in the original source already fixed. An earlier first version of the project, a Vietnamese flag woven from the names of all 34 provinces with pendulum physics, is kept in the repository as a separate folder.

Copy-paste prompts

Prompt 1
Explain how this project turns GeoJSON boundary data into 3D provinces using Three.js.
Prompt 2
Help me run this Vietnam 3D map locally with node serve.mjs.
Prompt 3
Show me how the landmarks.js file builds each province's 3D landmark from basic shapes.
Prompt 4
Walk me through how the record-demo.mjs script generates the tour video with Playwright.

Frequently asked questions

What is vietnam-3d-map?

An interactive 3D map of Vietnam's 34 post-2025 provinces where hovering reveals a low-poly landmark and info card for each region.

What language is vietnam-3d-map written in?

Mainly JavaScript. The stack also includes JavaScript, Three.js, Node.js.

How hard is vietnam-3d-map to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is vietnam-3d-map for?

Mainly general.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.