areamap-design v1.0.1
Areamap design
The areamap design library provides a set of tools and components for integrating interactive area plan design into Angular applications.
Stackblitz Example
https://stackblitz.com/edit/areamap-design
Output Screenshot

Basic Usage - Local Files
<nh-areamap-design
[enableZoom]="true"
[readOnly]="true"
[borderColor]="'red'"
[selectedPinColor]="'yellow'"
[defaultPinColor]="'red'"
[viewCords]="true"
[enablePinTooltip]="true"
[defaultAreaPlan]="'./assets/white-background-500x500.jpg'"
[areaPlan]="'assets/F43.pdf'"
[pins]="pinlist"
(pinChanged)="onpinSelected($event)"
(createdPin)="onPinCreated($event)"
></nh-areamap-design>Overview
Install
Angular >= 10
npm install areamap-designPartial Ivy compilated library bundles.
Usage
Add AreamapDesignModule to your module's imports
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app/app.component';
import { AreamapDesignModule} from 'areamap-design';
@NgModule({
imports: [BrowserModule, AreamapDesignModule],
declarations: [AppComponent],
bootstrap: [AppComponent]
})
class AppModule {}
platformBrowserDynamic().bootstrapModule(AppModule);And then use it in your component
import { Component } from '@angular/core';
@Component({
selector: 'app-base',
template: `
<nh-areamap-design
[enableZoom]="true"
[readOnly]="true"
[borderColor]="'red'"
[selectedPinColor]="'yellow'"
[defaultPinColor]="'red'"
[viewCords]="true"
[enablePinTooltip]="true"
[defaultAreaPlan]="areaplan"
[areaPlan]="'assets/F43.pdf'"
[pins]="pinlist"
(pinChanged)="onpinSelected($event)"
(createdPin)="onPinCreated($event)"
></nh-areamap-design>`
})
export class AppComponent {
areaplan= "http://www.worldplumbing.org/wp-content/uploads/2016/11/white-background-500x500.jpg";
pinlist = [{location: {x: 200, y: 200}, color: 'pink', name: 'Pin 1'}];
onpinSelected(args) {
console.log(args, 'pin selected')
}
onPinCreated(args) {
console.log(args, 'pin created')
}
}Options
- [enableZoom]
- [readOnly]
- [borderColor]
- [selectedPinColor]
- [defaultPinColor]
- [viewCords]
- [enablePinTooltip]
- [defaultAreaPlan]
- [areaPlan]
- [pins]
- (pinChanged)
- (createdPin)
enableZoom
| Property | Type | Required |
|---|---|---|
| enableZoom | boolean | Required |
Allow zoom areamap
[enableZoom]="true"readOnly
| Property | Type | Required |
|---|---|---|
| readOnly | boolean | Optional, default = false |
Readonly areamap if user don't want any integration with in
[readOnly]="true"borderColor
| Property | Type | Required |
|---|---|---|
| borderColor | string | Required |
Border color for the pin on areamap
[borderColor]="'red'"selectedPinColor
| Property | Type | Required |
|---|---|---|
| selectedPinColor | string | Required |
User selected pin color for the pin on areamap
[selectedPinColor]="'yellow'"defaultPinColor
| Property | Type | Required |
|---|---|---|
| selectedPinColor | string | Required |
User default pin color for the pin on areamap
[defaultPinColor]="'gray'"viewCords
| Property | Type | Required |
|---|---|---|
| viewCords | boolean | Required |
Enable to View X and Y coordinate of areamap
[viewCords]="true"enablePinTooltip
| Property | Type | Required |
|---|---|---|
| enablePinTooltip | boolean | Required |
Enable hover tooltip of pin
[enablePinTooltip]="true"defaultAreaPlan
| Property | Type | Required |
|---|---|---|
| defaultAreaPlan | string | Required |
Pass areamap default plan
[defaultAreaPlan]="'./assets/map-default.pdf'"areaPlan
| Property | Type | Required |
|---|---|---|
| areaPlan | string | Required |
Actual areamap plan
[areaPlan]="'./assets/map-23.pdf'"pins
| Property | Type | Required |
|---|---|---|
| pins | Array | Optional |
List of pins that user want to plot on areaplan
pinList = [
{ location:
{ x: 200, y: 200},
color: 'pink',
name: 'Pin 1'
}
];(pinChanged)
| Property | Type | Required |
|---|---|---|
| (pinChanged) | callback | Optional |
Selected pin changed handling callback
Define callback in your component's class
onPinSelected(args: any) {
// do anything
}Then add it to nh-areamap-design in component's template
(error)="onPinSelected($event)"(createdPin)
| Property | Type | Required |
|---|---|---|
| (createdPin) | callback | Optional |
New pin created handling callback
Define callback in your component's class
onPinCreated(args: any) {
// do anything
}Then add it to nh-areamap-design in component's template
(createdPin)="onPinCreated($event)"