1.0.0 • Published 7 months ago

nepalmap v1.0.0

Weekly downloads
-
License
ISC
Repository
-
Last release
7 months ago

NepalMap

nepalmap.js allows you to embed a clickable svg map of Nepal.

Installing

npm i nepalmap

Add script

import NepalMap from "nepalmap";

How to use it?

HTML

<div id="root"></div>

Javascript

const Map = new NepalMap();

Now inorder to paint the Map in the website use the setRoot method. It expects the id of the element that you want to set as root as an argument. The setRoot method returns a promsie so you must use await or .then/catch.

await Map.setRoot("root");

Set size of Map

You can use setSize method to set the size of the Map.

Map.setSize("500px", "500px");

Get lists of districts

let districts = Map.DistrictLists;

Set map property

Set property of the map using the setMapProperty

Map.setMapProperty({
  fill: "green",
});

Options

AttributeDescriptionExample Value
fillSet fill(color) of the svg map"green"
strokeSet stroke(border color) of map"black"
cursorSet cursor"pointer"
hoverColorSet hover color"blue"
clickEventProvide a callback function to fire on clickfunction(){}

Set Property of an individual district

Map.setTarget({
  targets: ["dhading", "kathmandu"],
  fill: "blue",
});

Options

AttributeDescriptionExample Value
targetsProvide the target districts to set the property"kavre","kathmandu"
fillSet fill (color)"red"
strokeSet stroke (border color)"black"
cursorSet cursor"pointer"
hoverColorSet hover color"blue"
clickEventProvide a callback function to fire on click(has event as first argument and placename as second argument)function(event,placename){}

Remove Map

You can remove the map from the dom using the removeMap() method

Map.removeMap();

Markers

Add markers in the Map.

You can add marker with createMarker method. It expects the marker location as first argument and options as second argument.

let marker = Map.createMarker("assets/marker.svg", {
  addOnClick: true,
});
AttributeDescriptionExample Value
addOnClickAccepts boolean. Add marker when clicked on districtstrue
widthwidth of marker"15px"
heightheight of marker"15px"
allowedToMarkSpecifies which districts are allowed to mark"kavre","kathmandu"

Add mark by place name

marker.addMarkWithName(["kavre", "kathmandu"]);
1.0.0

7 months ago