0.0.3 • Published 5 years ago

@kresnik87/ng-gmaps-lib v0.0.3

Weekly downloads
2
License
ISC
Repository
github
Last release
5 years ago

Ksk-Gmaps-Lib

Angular library for google maps based in main project AGM

##Configuration

import {GmapsLibModule} from "@ksk/ng-gmaps-lib";

imports: [
    ...
    GmapsLibModule.forRoot({
         apiKey:'YOUR_API_KEY'
         libraries: ['places']
       }),
    ...
  ],

##Usage Example In your page, for use the library you need: In HTML

<ksk-google-map
  [latitude]="lat"
  [longitude]="lng"
  [zoom]="zoom"
  [disableDefaultUI]="false"
  [zoomControl]="false"
  (mapClick)="mapClicked($event)">
  <ksk-google-marker
    *ngFor="let m of markers; let i = index"
    (markerClick)="clickedMarker(m.label, i)"
    [latitude]="m.lat"
    [longitude]="m.lng"
    [label]="m.label"
    [markerDraggable]="m.draggable"
    (dragEnd)="markerDragEnd(m, $event)">

    <ksk-info-window>
      <strong>InfoWindow content</strong>
    </ksk-info-window>

  </ksk-google-marker>
</ksk-google-map>

Always set css style to the map In SCSS

ksk-google-map{
  height: 300px;
}

In TS

  zoom: number = 8;
  lat: number = 51.673858;
  lng: number = 7.815982;
  
  clickedMarker(label: string, index: number) {
      console.log(`clicked the marker: ${label || index}`)
    }
  
    mapClicked($event: MouseEvent) {
      this.markers.push({
        lat: $event.coords.lat,
        lng: $event.coords.lng,
        draggable: true
      });
    }
  
    markerDragEnd(m: marker, $event: MouseEvent) {
      console.log('dragEnd', m, $event);
    }
  
    markers: marker[] = [
      {
        lat: 51.673858,
        lng: 7.815982,
        label: 'A',
        draggable: false
      },
      {
        lat: 51.373858,
        lng: 7.215982,
        label: 'B',
        draggable: false
      },
      {
        lat: 51.723858,
        lng: 7.895982,
        label: 'C',
        draggable: true
      }
    ]
  
  
  interface marker {
    lat: number;
    lng: number;
    label?: string;
    draggable: boolean;
  }

##AutoComplete Component

  • HTML
<ksk-gmaps-autocomplete  type="address" [addressLabelText]="'Address'"
                               (onAutocompleteSelected)="onAutocompleteSelected($event)"
                               (onLocationSelected)="onLocationSelected($event)">
  • TS
import {Location} from '@ksk/ng-gmaps-lib';
import PlaceResult = google.maps.places.PlaceResult;

 onAutocompleteSelected(result: PlaceResult) {
    console.log('onAutocompleteSelected: ', result);
  }

  onLocationSelected(location: Location) {
    console.log('onLocationSelected: ', location);
    this.lat = location.latitude;
    this.lng = location.longitude;
  }

##Credits Created by:

* Jeyser Aguilar (jeyser.aguilar@gmail.com)