Draw Polygon On Angular Google Map
In this article, we will learn how to draw a polygon on google map in angular application. In this article we use @agm/core npm package for google map.
So, let's start with implementation,
First we need to create a new angular application using the following command into the terminal.
ng new angular-google-maps
Now, we need to install the @agm/core npm package using the following command into the terminal
npm install @agm/core
Now, we need to import the AgmCoreModule into the app.module.ts file using the following code.
import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { AgmCoreModule } from '@agm/core'; import { AppComponent } from './app.component'; @NgModule({ imports: [ BrowserModule, AgmCoreModule.forRoot({ apiKey: '' }) ], providers: [], declarations: [ AppComponent ], bootstrap: [ AppComponent ] }) export class AppModule {}
Now, add the following code under the app.component.html file.
<agm-map [zoom]="5" [latitude]="lat" [longitude]="lng" (mapReady)="onMapReady($event)"> </agm-map>
Now, add the following code under the app.component.ts file.
import { HttpClient } from '@angular/common/http';
export class AppComponent { lat = 20.5937; lng = 78.9629; drawingManager:any; constructor(private productService: ProductService) { } ngOnInit() { const options = { drawingControl: true, drawingControlOptions: { drawingModes: ['polygon'], }, polygonOptions: { draggable: true, editable: true, }, }; this.drawingManager = new google.maps.drawing.DrawingManager(options); setCurrentPosition(); } private setCurrentPosition() { if ('geolocation' in navigator) { navigator.geolocation.getCurrentPosition((position) => { this.lat = position.coords.latitude; this.lng = position.coords.longitude; }); } } onMapReady(map) { this.initDrawingManager(map); } }
Now, add the following code under the app.component.css file to set the size of map.
agm-map { height: 400px; }
Conclusion
In this article, we learned how to draw a polygon on google map in angular application using the @agm/core npm package.
I hope this article helps you and you will like it.👍
If you have any doubt or confusion then free to ask in comment section.