nepal_administrative_map 0.0.3
nepal_administrative_map: ^0.0.3 copied to clipboard
Interactive, bilingual (English/Nepali) map of Nepal's 7 provinces, 77 districts and 753 local levels, with zoom, drill-down, choropleths and search.
0.0.3 #
- README: link to the live web demo (https://4bhisheksharma.github.io/nepal_administrative_map/).
- Example web app: proper page title, description and app name.
0.0.2 #
- README: screenshots and links now use absolute GitHub URLs, so they show on pub.dev.
0.0.1 #
First public release (release candidate for 0.0.1).
- The credit line now names the package author ("Map © Abhishek Sharma")
next to the required data credit;
showPackageCredit: falsedrops the author part, andNepalMap.packageCredit/NepalMap.attributionText()give the text. - Accessibility: a screen-reader node per visible region (name, parent and
value in the active language, with a tap action); keyboard navigation
(Tab, arrow keys, Enter/Space, Esc,
+/-) with a focus ring (NepalMapTheme.focusOutline,RegionState.isFocused). - Export:
NepalMapController.toImage()andtoPngBytes(). - Animations: fade-in on load, choropleth colour transitions, pan momentum
(fling),
animationCurve; all off with reduced motion. - Performance: label placement reuses its sorted candidates and laid-out
text (local-level pan frames 5 → 0.6 ms in the benchmark); borders
re-record only after a 15% zoom change; per-region styles and labels are
memoised.
MapPaintContext.scaleDiffersfor custom layers. RegionStyle.copyWith; scales andChoroplethhave value equality.- Widget tests run with leak tracking.
- Choropleth maps:
Choropleth(alsoChoropleth.byCode) withColorScale.sequential,diverging,thresholdandcategorical, interpolated in OKLab;RegionState.value; values in tooltips;NepalMapTheme.noDataFill. NepalMapLegend, on the map or standalone, with numbers in the active language.- Markers: widget markers and painted
MapMarker.dots,onMarkerTap. - Search:
Nepal.searchin English (prefix, typos, old spellings) and Nepali;NepalMapSearchField. - Point lookups:
NepalMapData.localLevelAt,districtAt,provinceAt;MapShape.areaKm2;NepalMap.preload()returns the data. - Opt-in protected-area overlay (
showProtectedAreas) with labels. - Public layer API:
MapLayer,MapPaintContext,NepalMap.extraLayers. - Zoom and pan: pinch, drag, double-tap, mouse wheel;
minZoom,maxZoom,interactive. - Hover highlight,
onRegionHover, and tooltips on hover or long-press (showTooltips,tooltipBuilder,RegionTooltip). - Labels in English, Nepali or both (
labelMode,labelBuilder), placed at each region's pole of inaccessibility with collision avoidance. - Drill-down (
drillDown,onScopeChanged),NepalMapBreadcrumb, Esc to go back. NepalMapController: selection, highlight,zoomTo,zoomIn/zoomOut,resetView,drillDown/drillUp/drillTo, runtimelanguage.- Province borders use the stronger parent style on province maps too.
NepalMapwidget: provinces, districts or local levels;scopeto one province or district; tap to select (single,multi,none, or controlled withselected); style callback;NepalMapThemetheme extension with light and dark defaults; English / Nepali following the app locale; data attribution line;NepalMap.preload().- Protected areas are filled in a muted colour on local-level maps.
- Bilingual data pipeline (
tool/build_data.dart) producing a single 422 KB topology for provinces, districts, local levels and protected areas. - Typed regions:
Province,District,LocalLevel,ProtectedAreaenums with stable codes and English / Nepali names. - Bilingual basics:
MapLanguage,LocalizedName.of,NepalNumberFormat(Devanagari digits, lakh/crore grouping),NepalMapStrings, Devanagari normalisation. - Regions:
fullName(lang), hierarchy getters (province.districts,district.localLevels,region.province), translated type and level labels, and theNepalgazetteer (byCode,aliasesOf, …). NepalMapData: TopoJSON decoding in a background isolate, cached, with point lookup (regionAt,protectedAreaAt).- Geometry:
LatLng,Bounds, Web Mercator, point-in-polygon, polylabel.
