Open In App

Angular PrimeNG GMap Component

Angular PrimeNG is an open-source framework with a rich set of native Angular UI components that are used for great styling and this framework is used to make responsive websites with very much ease. It provides a lot of templates, components, theme design, an extensive icon library, and much more. In this article, we will see the Angular PrimeNG GMap Component.

The GMap is a google map component that is used to display a map on the webpage. We can perform zoom-in and out functions by default in the GMap component. PrimeNG also provides extra features so that we can add markers, and change the location by changing latitude and longitude and other features. 



Syntax: Create a GMap component as follows:

import { GMapModule } from 'primeng/gmap';
<p-gmap
    [options]="options">
</p-gmap>
ngOnInit() {
  this.options = {
    center: { lat: 22.72105, lng: 88.373459 },
    zoom: 12,
  };
}

 



Creating Angular application & Module Installation:

ng new geeks_angular
cd geeks_angular
npm install primeng --save
npm install primeicons --save

Project Structure: The project structure will look like the following:

 

index.html:




<!DOCTYPE html>
<html lang="en">
  
<head>
    <meta charset="utf-8" />
    <title>Demo</title>
    <base href="/" />
  
    <meta name="viewport" 
          content="width=device-width, 
                         initial-scale=1" />
    <link rel="stylesheet" 
          type="text/css" 
          href=
"/node_modules/primeicons/primeicons.css" />
    <script async src=
    </script>
    <link rel="icon" 
          type="image/x-icon" 
          href="favicon.ico" />
</head>
  
<body>
  <app-root></app-root>
</body>
  
</html>

ng serve --open

Example 1: This example describes the basic usage of the GMap component in Angular PrimeNG.




<h1 style="color: green; 
           text-align:center;">
  GeeksforGeeks
</h1>
<h3>
  Angular PrimeNG GMap Component
</h3>
  
<p-gmap [options]="options"
          [style]="{ width: '100%', 
                   height: '320px' }">
</p-gmap>




import { Component } from '@angular/core';
import { MessageService } from 'primeng/api';
  
declare var google: any;
@Component({
    selector: 'app-root',
    templateUrl: './app.component.html',
})
export class AppComponent {
    constructor(private messageService: MessageService) { }
    options: any;
  
    overlays: any[];
    ngOnInit() {
        this.options = {
            center: { lat: 22.72105, lng: 88.373459 },
            zoom: 12,
        };
    }
}




import { NgModule } from '@angular/core';
import { BrowserModule } 
    from '@angular/platform-browser';
import { BrowserAnimationsModule } 
    from '@angular/platform-browser/animations';
import { HttpClientModule } from '@angular/common/http';
import { AppComponent } from './app.component';
import { ButtonModule } from 'primeng/button';
import { MessageService } from 'primeng/api';
import { GMapModule } from 'primeng/gmap';
  
@NgModule({
    imports: [
        BrowserModule,
        BrowserAnimationsModule,
        ButtonModule,
        HttpClientModule,
        GMapModule,
    ],
    declarations: [AppComponent],
    bootstrap: [AppComponent],
    providers: [MessageService],
})
export class AppModule { }

Output:

 

Example 2: In the following example, we have added overlays to the GMap component by adding markers to two landmarks.




<h1 style="color: green; 
           text-align:center;">
  GeeksforGeeks
</h1>
<h3>Angular PrimeNG GMap Component</h3>
  
<p-gmap [options]="options"
          [overlays]="overlays"
          [style]="{ width: '100%', 
                   height: '320px' }">
</p-gmap>




import { Component } from '@angular/core';
import { MessageService } from 'primeng/api';
  
declare var google: any;
@Component({
    selector: 'app-root',
    templateUrl: './app.component.html',
})
export class AppComponent {
    constructor(private messageService: MessageService) { }
    options: any;
  
    overlays: any[];
    ngOnInit() {
        this.options = {
            center: { lat: 22.72105, lng: 88.373459 },
            zoom: 12,
        };
  
        this.overlays = [
            new google.maps.Marker({
                position: { lat: 22.72105, lng: 88.373459 },
                title: 'Khardah',
            }),
            new google.maps.Marker({
                position: { lat: 22.764919, lng: 88.37082 },
                title: 'Barrackpore',
            }),
        ];
    }
}




import { NgModule } from '@angular/core';
import { BrowserModule } 
    from '@angular/platform-browser';
import { BrowserAnimationsModule } 
    from '@angular/platform-browser/animations';
import { HttpClientModule } 
    from '@angular/common/http';
import { AppComponent } from './app.component';
import { ButtonModule } from 'primeng/button';
import { MessageService } from 'primeng/api';
import { GMapModule } from 'primeng/gmap';
  
@NgModule({
    imports: [
        BrowserModule,
        BrowserAnimationsModule,
        ButtonModule,
        HttpClientModule,
        GMapModule,
    ],
    declarations: [AppComponent],
    bootstrap: [AppComponent],
    providers: [MessageService],
})
export class AppModule { }

Output:

 

Reference: http://primefaces.org/primeng/gmap


Article Tags :