myanmar-areas
v1.1.2
Published
Myanmar administrative areas data in JavaScript
Maintainers
Readme
Myanmar Administrative Areas
A JavaScript library providing data about Myanmar's administrative areas, including divisions/states, districts, townships, towns, villages, and wards in both English and Myanmar languages.
Installation
npm install myanmar-areasUsage (ဟိုးအောက်မှာ JavaScript/React usage ရှိတယ်)
// Import the entire library
const myanmar = require('myanmar-areas');
// Or import specific data sets
const {
divisionEn,
divisionMy,
districtsEn,
districtsMy,
townshipsAsDivisionEn,
townshipsAsDivisionMy,
townsAsDivisionEn,
townsAsDivisionMy,
townsAsDistrictEn,
townsAsDistrictMy,
townsAsTownshipEn,
townsAsTownshipMy,
villagesAsTownshipEn,
villagesAsTownshipMy,
villagesAsDistrictEn,
villagesAsDistrictMy,
wardsEn,
wardsMy,
} = require('myanmar-areas');
// Get all divisions/states in English
console.log(divisionEn);
// ['Kachin', 'Kayah', 'Kayin', ...]
// Get all divisions/states in Myanmar language
console.log(divisionMy);
// ['ကချင်ပြည်နယ်', 'ကယားပြည်နယ်', 'ကရင်ပြည်နယ်', ...]
// Get districts of a specific division/state in English
console.log(districtsEn['Yangon']);
// ['Yangon (North)', 'Yangon (East)', 'Yangon (South)', 'Yangon (West)']
// Get districts of a specific division/state in Myanmar language
console.log(districtsMy['ရန်ကုန်တိုင်းဒေသကြီး']);
// ['ရန်ကုန်(မြောက်ပိုင်း)', 'ရန်ကုန်(အရှေ့ပိုင်း)', 'ရန်ကုန်(တောင်ပိုင်း)', 'ရန်ကုန်(အနောက်ပိုင်း)']
// Get townships of a specific division/state in English
console.log(townshipsAsDivisionEn['Yangon']);
// ['Ahlone', 'Bahan', 'Botahtaung', ...]
// Get town names by division/state
console.log(townsAsDivisionEn['Ayeyarwady'].slice(0, 5));
// ['Bogale Town', 'Danubyu Town', ...]
// Get town names by district
console.log(townsAsDistrictEn['Mandalay'].slice(0, 5));
// ['Amarapura', 'Aungmyaythazan', ...]
// Get town names by township
console.log(townsAsTownshipEn['Pathein']);
// ['Pathein Town', 'Chaung Thar Town', 'Ngwesaung Town', ...]
// Get village names by township
console.log(villagesAsTownshipEn['Bogale'].slice(0, 5));
// ['Kyun Hteik', 'Auk Hle Seik', ...]
// Get village names by district
console.log(villagesAsDistrictEn['Pathein'].slice(0, 5));
// ['Bogale', 'Danubyu', ...]
// Get wards by town (English)
console.log(wardsEn['Pathein Town']);
// ['Aye Mya Thar Yar Ward', 'Boe Yar Nyunt Ward', ...]
// မြန်မာလို ဖတ်ချင်ရင် (Myanmar language examples)
console.log(townshipsAsDivisionMy['ရန်ကုန်']);
// ['အလုံ', 'ဗဟန်း', 'ဗိုလ်တထောင်', ...]
console.log(wardsMy['ပုသိမ်']);
// ['အေးမြသာရာ ရပ်ကွက်', 'ဗိုးရာညွန့် ရပ်ကွက်', ...]
// Helper: Drill down from Division -> Districts -> Townships -> Towns -> Villages -> Wards
const division = 'Yangon';
const districts = districtsEn[division] || [];
const firstDistrict = districts[0];
const townships = townshipsAsDivisionEn[division] || [];
const firstTownship = townships[0];
const towns = townsAsTownshipEn[firstTownship] || [];
const firstTown = towns[0];
const wards = wardsEn[firstTown] || [];
console.log({ division, firstDistrict, firstTownship, firstTown, wards });Available Data
Divisions/States
divisionEn: List of divisions/states in EnglishdivisionMy: List of divisions/states in Myanmar language
Districts
districtsEn: Map of districts by division/state in EnglishdistrictsMy: Map of districts by division/state in Myanmar language
Townships
townshipsAsDivisionEn: Map of townships by division/state in EnglishtownshipsAsDivisionMy: Map of townships by division/state in Myanmar language
Towns
townsAsDivisionEn: Map of towns by division/state in EnglishtownsAsDivisionMy: Map of towns by division/state in Myanmar languagetownsAsDistrictEn: Map of towns by district in EnglishtownsAsDistrictMy: Map of towns by district in Myanmar languagetownsAsTownshipEn: Map of towns by township in EnglishtownsAsTownshipMy: Map of towns by township in Myanmar language
Villages
villagesAsTownshipEn: Map of villages by township in EnglishvillagesAsTownshipMy: Map of villages by township in Myanmar languagevillagesAsDistrictEn: Map of villages by district in English (simplified)villagesAsDistrictMy: Map of villages by district in Myanmar language (simplified)
Wards
wardsEn: Map of wards by town in English (simplified)wardsMy: Map of wards by town in Myanmar language (simplified)
UI Usage (React)
ဒီနမူနာတွေက Flutter example ကို JavaScript/React နဲ့ တူညီစွာရေးထားတာဖြစ်ပြီး Division → Township → Village/Town → Ward အတိုင်းရွေးချယ်နိုင်ပါတယ်။
Village Example (Division → Township → Village)
import React, { useState } from 'react';
import {
divisionMy,
townshipsAsDivisionMy,
villagesAsTownshipMy
} from 'myanmar-areas';
export default function VillageExample() {
const [division, setDivision] = useState('');
const [township, setTownship] = useState('');
const [village, setVillage] = useState('');
const townships = division ? (townshipsAsDivisionMy[division] || []) : [];
const villages = township ? (villagesAsTownshipMy[township] || []) : [];
return (
<div style={{ padding: 24, maxWidth: 500 }}>
<h2>ကျေးရွာ နမူနာ</h2>
<select
value={division}
onChange={e => { setDivision(e.target.value); setTownship(''); setVillage(''); }}
>
<option value="">ပြည်နယ် နှင့် တိုင်းရွေးပါ</option>
{divisionMy.map(d => (<option key={d} value={d}>{d}</option>))}
</select>
{townships.length > 0 && (
<select
value={township}
onChange={e => { setTownship(e.target.value); setVillage(''); }}
style={{ display: 'block', marginTop: 12 }}
>
<option value="">မြို့နယ်ရွေးပါ</option>
{townships.map(t => (<option key={t} value={t}>{t} မြို့နယ်</option>))}
</select>
)}
{villages.length > 0 && (
<select
value={village}
onChange={e => setVillage(e.target.value)}
style={{ display: 'block', marginTop: 12 }}
>
<option value="">ကျေးရွာ ရွေးချယ်ပါ</option>
{villages.map(v => (<option key={v} value={v}>{v} ကျေးရွာ</option>))}
</select>
)}
{division && township && village && (
<div style={{ marginTop: 16, fontSize: 16 }}>
{division}<br />
{township} မြို့နယ်<br />
{village} ကျေးရွာ
</div>
)}
</div>
);
}Ward Example (Division → Township → Town → Ward)
import React, { useState } from 'react';
import {
divisionMy,
townshipsAsDivisionMy,
townsAsTownshipMy,
wardsMy
} from 'myanmar-areas';
export default function WardExample() {
const [division, setDivision] = useState('');
const [township, setTownship] = useState('');
const [town, setTown] = useState('');
const [ward, setWard] = useState('');
const townships = division ? (townshipsAsDivisionMy[division] || []) : [];
const towns = township ? (townsAsTownshipMy[township] || []) : [];
const wards = town ? (wardsMy[town] || []) : [];
return (
<div style={{ padding: 24, maxWidth: 500 }}>
<h2>ရပ်ကွက် နမူနာ</h2>
<select
value={division}
onChange={e => { setDivision(e.target.value); setTownship(''); setTown(''); setWard(''); }}
>
<option value="">ပြည်နယ် နှင့် တိုင်းရွေးပါ</option>
{divisionMy.map(d => (<option key={d} value={d}>{d}</option>))}
</select>
{townships.length > 0 && (
<select
value={township}
onChange={e => { setTownship(e.target.value); setTown(''); setWard(''); }}
style={{ display: 'block', marginTop: 12 }}
>
<option value="">မြို့နယ်ရွေးပါ</option>
{townships.map(t => (<option key={t} value={t}>{t} မြို့နယ်</option>))}
</select>
)}
{towns.length > 0 && (
<select
value={town}
onChange={e => { setTown(e.target.value); setWard(''); }}
style={{ display: 'block', marginTop: 12 }}
>
<option value="">မြို့ရွေးပါ</option>
{towns.map(t => (<option key={t} value={t}>{t} မြို့</option>))}
</select>
)}
{wards.length > 0 && (
<select
value={ward}
onChange={e => setWard(e.target.value)}
style={{ display: 'block', marginTop: 12 }}
>
<option value="">ရပ်ကွက်ရွေးပါ</option>
{wards.map(w => (<option key={w} value={w}>{w} ရပ်ကွက်</option>))}
</select>
)}
{division && township && town && ward && (
<div style={{ marginTop: 16, fontSize: 16 }}>
{division}<br />
{township} မြို့နယ်<br />
{town} မြို့<br />
{ward} ရပ်ကွက်
</div>
)}
</div>
);
}Quick start (Vite React):
npm create vite@latest my-app -- --template react
cd my-app
npm install
npm install myanmar-areassrc/App.jsx
import React from 'react';
import VillageExample from './VillageExample';
import WardExample from './WardExample';
export default function App() {
return (
<div style={{ display: 'grid', gap: 24 }}>
<VillageExample />
<WardExample />
</div>
);
}License
MIT
