Giter VIP home page Giter VIP logo

ng2-img-map's Introduction

Angular 2 Image Map

Responsive image mapping interface for Angular 2.

Demo

Markers

Markers can be placed on the image by inputting an array of co-ordinates. The co-ordinate values of a marker represent percentages of the dimensions of the image.

<img-map
  src="http://placekitten.com/g/500/300"
  [markers]="[[25, 25], [50, 50], [75, 75]]"
></img-map>

Markers can be created if the mark event has any observers.

New markers are pushed to the markers array.

markers: number[][] = [];
onMark(marker: number[]) {
  console.log('Marker', marker);
  console.log('Markers', this.makers);
}
<img-map
  src="http://placekitten.com/g/500/300"
  [markers]="markers"
  (mark)="onMark($event)"
></img-map>

Markers can be selected if the change event has any observers.

markers: number[][] = [[25, 25], [50, 50], [75, 75]];
onChange(marker: number[]) {
  console.log('Marker', marker);
}
<img-map
  src="http://placekitten.com/g/500/300"
  [markers]="markers"
  (change)="onChange($event)"
></img-map>

Drawing

The image map will draw automatically upon window resize or property changes. If the image map requires a draw upon an event outside of this scope then call the draw function of the image map component.

@ViewChild('imgMap')
imgMap: ImgMapComponent;
markers: number[][] = [];
ngOnInit() {
  window.setTimeout(() => {
    this.markers.push([25, 25], [50, 50], [75, 75]);
    console.log('Markers', this.markers);
    window.setTimeout(() => this.imgMap.draw(), 1000);
  }, 1000);
}
<img-map
  #imgMap
  src="http://placekitten.com/g/500/300"
  [markers]="markers"
></img-map>

ng2-img-map's People

Contributors

jasonroyle avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

ng2-img-map's Issues

Responsive markerRadius

Hi,

Is it possible to make the radius responsive? Right now it is using pixels.

Thank you

How Use With Angular Template Drivens?

Hi,
Could you help me, how can I use this component with angular 4 template driven? I cant found how can I import the module in my project.
Thank you!

Multiple img-map

I'm able to get the img-map to work on a single page, however when I try to use the img-map on an additional page, I'm getting this error:

ImgMapComponent is part of the declarations of 2 modules: BuildIconPageModule and VariableIconPageModule! Please consider moving ImgMapComponent to a higher module that imports BuildIconPageModule and VariableIconPageModule. You can also create a new NgModule that exports and includes ImgMapComponent then import that NgModule in BuildIconPageModule and VariableIconPageModule.

Have you used img-map within multiple pages?

I tried to create a new component that exports the includes the ImgMapComponent, however the the following error happens:

Can't bind to 'markers' since it isn't a known property of 'img-map'.

  1. If 'img-map' is an Angular component and it has 'markers' input, then verify that it is part of this module.
  2. If 'img-map' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message.
  3. To allow any property add 'NO_ERRORS_SCHEMA' to the '@NgModule.schemas' of this component. (">
][markers]="markers" (change)="onChange($event)">
"): ng:///BuildIconPageModule/BuildIconPage.html@2:73 'img-map' is not a known element:

Following your comments from a previous issue, if the ImgMapComponent is declared within the page that uses it, I was able to get that page to work, but only for one page.

Any thoughts?

Demo

Can you make a demo available for a look at how it works? Thx!!

Creating Rectangle shape

Hey devs,

How do I draw a rectangle with this module. Default one seems to draw only circle.

Help will be highly appreciated.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.