@geosdi/ngx-geocoding 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,24 +1,59 @@
1
1
  # NgxGeocoding
2
2
 
3
- This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 12.2.0.
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.0.0.
4
4
 
5
- ## Code scaffolding
5
+ # General information
6
6
 
7
- Run `ng generate component component-name --project ngx-geocoding` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project ngx-geocoding`.
8
- > Note: Don't forget to add `--project ngx-geocoding` or else it will be added to the default project in your `angular.json` file.
7
+ Component to get a list of place with a geocoding service using nominatim of openstreet map
9
8
 
10
- ## Build
9
+ ## Installation
11
10
 
12
- Run `ng build ngx-geocoding` to build the project. The build artifacts will be stored in the `dist/` directory.
11
+ `npm i @geosdi/ngx-geocoding --save`
13
12
 
14
- ## Publishing
13
+ It depends on :
15
14
 
16
- After building your library with `ng build ngx-geocoding`, go to the dist folder `cd dist/ngx-geocoding` and run `npm publish`.
15
+ "@angular/common": ">=13.0.0",
16
+ "@angular/core": ">=13.0.0",
17
+ "typescript": ">=4.4.4",
18
+ "rxjs": ">=7.0.0"
17
19
 
18
- ## Running unit tests
20
+ ## Usage
19
21
 
20
- Run `ng test ngx-geocoding` to execute the unit tests via [Karma](https://karma-runner.github.io).
22
+ ```typescript
21
23
 
22
- ## Further help
24
+ import { Injectable } from '@angular/core';
25
+ import {NgxGeocodingService} from "./ngx-geocoding.service"; import {GeocodingLocation} from "./geocoding-location.model";
26
+
27
+ @Injectable({
28
+ providedIn: 'root'
29
+ })
30
+ export class Service {
31
+
32
+
33
+ constructor(private geocodingService: NgxGeocodingService,) {
34
+ }
35
+
36
+ public addPlugin() {
37
+ this.geocodingService.geocode(addressToSearch).subscribe((res: GeocodingLocation[]) => {
38
+ alert(JSON.stringify(res));
39
+ });
40
+ }
41
+
42
+ }
43
+
44
+ ```
45
+
46
+ ## Methods
47
+
48
+ | Method | action
49
+ | ------------- | ------------- |
50
+ | geocode(address: string): Observable<GeocodingLocation[]> | list of GeocodingLocation |
51
+
52
+ ## Events
53
+
54
+ | Method | action
55
+ | ------------- | ------------- |
56
+ | subjectNoResults | subscribe to notify if research is empty |
57
+ | subjectLocation | subject to notify location |
58
+ | subjectRemove | subject to notify remove location |
23
59
 
24
- To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvY29kaW5nLWxvY2F0aW9uLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2Vvc2RpL25neC1nZW9jb2Rpbmcvc3JjL2xpYi9tb2RlbC9nZW9jb2RpbmctbG9jYXRpb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGF1dGhvciBWaXRvIFNhbHZpYSAtIENOUiBJTUFBIGdlb1NESSBHcm91cFxuICogQGVtYWlsIHZpdG8uc2FsdmlhQGdtYWlsLmNvbVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdlb2NvZGluZ0xvY2F0aW9uIHtcbiAgICBkaXNwbGF5X25hbWU/OiBzdHJpbmc7XG4gICAgbGF0Pzogc3RyaW5nO1xuICAgIGxvbj86IHN0cmluZztcbiAgICBwbGFjZV9pZD86IHN0cmluZztcbn1cbiJdfQ==
@@ -0,0 +1,21 @@
1
+ import { NgModule } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * @author Vito Salvia - CNR IMAA geoSDI Group
5
+ * @email vito.salvia@gmail.com
6
+ */
7
+ class NgxGeocodingModule {
8
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgxGeocodingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ /** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: NgxGeocodingModule });
10
+ /** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgxGeocodingModule });
11
+ }
12
+ export { NgxGeocodingModule };
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgxGeocodingModule, decorators: [{
14
+ type: NgModule,
15
+ args: [{
16
+ declarations: [],
17
+ imports: [],
18
+ exports: [],
19
+ }]
20
+ }] });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWdlb2NvZGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nZW9zZGkvbmd4LWdlb2NvZGluZy9zcmMvbGliL25neC1nZW9jb2RpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRXpDOzs7R0FHRztBQUNILE1BS2Esa0JBQWtCOzBIQUFsQixrQkFBa0I7MkhBQWxCLGtCQUFrQjsySEFBbEIsa0JBQWtCOztTQUFsQixrQkFBa0I7MkZBQWxCLGtCQUFrQjtrQkFMOUIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsT0FBTyxFQUFFLEVBQUU7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbi8qKlxuICogQGF1dGhvciBWaXRvIFNhbHZpYSAtIENOUiBJTUFBIGdlb1NESSBHcm91cFxuICogQGVtYWlsIHZpdG8uc2FsdmlhQGdtYWlsLmNvbVxuICovXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW10sXG4gICAgaW1wb3J0czogW10sXG4gICAgZXhwb3J0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIE5neEdlb2NvZGluZ01vZHVsZSB7fVxuIl19
@@ -0,0 +1,50 @@
1
+ import { Injectable } from "@angular/core";
2
+ import { HttpClient } from "@angular/common/http";
3
+ import { Subject } from "rxjs";
4
+ import { map, tap } from "rxjs/operators";
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common/http";
7
+ /**
8
+ * @author Vito Salvia - CNR IMAA geoSDI Group
9
+ * @email vito.salvia@gmail.com
10
+ */
11
+ class NgxGeocodingService {
12
+ http;
13
+ subjectLocation = new Subject();
14
+ subjectNoResults = new Subject();
15
+ subjectRemove = new Subject();
16
+ constructor(http) {
17
+ this.http = http;
18
+ }
19
+ /**
20
+ *
21
+ * @param address
22
+ */
23
+ geocode(address) {
24
+ const encoded = encodeURIComponent(address);
25
+ return this.http
26
+ .get(`https://nominatim.openstreetmap.org/search.php?q=${encoded}&format=jsonv2`)
27
+ .pipe(tap((res) => {
28
+ if (res.length <= 0) {
29
+ this.subjectNoResults.next(null);
30
+ }
31
+ // return res;
32
+ }))
33
+ .pipe(map((res) => res.map((item) => ({
34
+ display_name: item.display_name,
35
+ lat: item.lat,
36
+ lon: item.lon,
37
+ place_id: item.place_id,
38
+ }))));
39
+ }
40
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgxGeocodingService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
41
+ /** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgxGeocodingService, providedIn: "root" });
42
+ }
43
+ export { NgxGeocodingService };
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgxGeocodingService, decorators: [{
45
+ type: Injectable,
46
+ args: [{
47
+ providedIn: "root",
48
+ }]
49
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWdlb2NvZGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2Vvc2RpL25neC1nZW9jb2Rpbmcvc3JjL2xpYi9uZ3gtZ2VvY29kaW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbEQsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFFMUM7OztHQUdHO0FBQ0gsTUFHYSxtQkFBbUI7SUFLUjtJQUpwQixlQUFlLEdBQUcsSUFBSSxPQUFPLEVBQXFCLENBQUM7SUFDbkQsZ0JBQWdCLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUNqQyxhQUFhLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUU5QixZQUFvQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO0lBQUcsQ0FBQztJQUV4Qzs7O09BR0c7SUFDSCxPQUFPLENBQUMsT0FBZTtRQUNuQixNQUFNLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1QyxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ1gsR0FBRyxDQUNBLG9EQUFvRCxPQUFPLGdCQUFnQixDQUM5RTthQUNBLElBQUksQ0FDRCxHQUFHLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUNiLElBQUksR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDcEM7WUFDRCxjQUFjO1FBQ2xCLENBQUMsQ0FBQyxDQUNMO2FBQ0EsSUFBSSxDQUNELEdBQUcsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQ2IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNwQixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO1lBQ2IsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO1lBQ2IsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQzFCLENBQUMsQ0FBQyxDQUNOLENBQ0osQ0FBQztJQUNWLENBQUM7MEhBbkNRLG1CQUFtQjs4SEFBbkIsbUJBQW1CLGNBRmhCLE1BQU07O1NBRVQsbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5pbXBvcnQgeyBHZW9jb2RpbmdMb2NhdGlvbiB9IGZyb20gXCIuL21vZGVsL2dlb2NvZGluZy1sb2NhdGlvbi5tb2RlbFwiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBtYXAsIHRhcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG4vKipcbiAqIEBhdXRob3IgVml0byBTYWx2aWEgLSBDTlIgSU1BQSBnZW9TREkgR3JvdXBcbiAqIEBlbWFpbCB2aXRvLnNhbHZpYUBnbWFpbC5jb21cbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46IFwicm9vdFwiLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3hHZW9jb2RpbmdTZXJ2aWNlIHtcbiAgICBzdWJqZWN0TG9jYXRpb24gPSBuZXcgU3ViamVjdDxHZW9jb2RpbmdMb2NhdGlvbj4oKTtcbiAgICBzdWJqZWN0Tm9SZXN1bHRzID0gbmV3IFN1YmplY3QoKTtcbiAgICBzdWJqZWN0UmVtb3ZlID0gbmV3IFN1YmplY3QoKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge31cblxuICAgIC8qKlxuICAgICAqXG4gICAgICogQHBhcmFtIGFkZHJlc3NcbiAgICAgKi9cbiAgICBnZW9jb2RlKGFkZHJlc3M6IHN0cmluZyk6IE9ic2VydmFibGU8R2VvY29kaW5nTG9jYXRpb25bXT4ge1xuICAgICAgICBjb25zdCBlbmNvZGVkID0gZW5jb2RlVVJJQ29tcG9uZW50KGFkZHJlc3MpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAuZ2V0PExvY2F0aW9uPihcbiAgICAgICAgICAgICAgICBgaHR0cHM6Ly9ub21pbmF0aW0ub3BlbnN0cmVldG1hcC5vcmcvc2VhcmNoLnBocD9xPSR7ZW5jb2RlZH0mZm9ybWF0PWpzb252MmAsXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YXAoKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXMubGVuZ3RoIDw9IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3ViamVjdE5vUmVzdWx0cy5uZXh0KG51bGwpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIHJldHVybiByZXM7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHJlczogYW55KSA9PlxuICAgICAgICAgICAgICAgICAgICByZXMubWFwKChpdGVtOiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5X25hbWU6IGl0ZW0uZGlzcGxheV9uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGF0OiBpdGVtLmxhdCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvbjogaXRlbS5sb24sXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZV9pZDogaXRlbS5wbGFjZV9pZCxcbiAgICAgICAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,77 @@
1
+ import * as i0 from '@angular/core';
2
+ import { NgModule, Injectable } from '@angular/core';
3
+ import * as i1 from '@angular/common/http';
4
+ import { Subject } from 'rxjs';
5
+ import { tap, map } from 'rxjs/operators';
6
+
7
+ /**
8
+ * @author Vito Salvia - CNR IMAA geoSDI Group
9
+ * @email vito.salvia@gmail.com
10
+ */
11
+ class NgxGeocodingModule {
12
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgxGeocodingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
+ /** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: NgxGeocodingModule });
14
+ /** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgxGeocodingModule });
15
+ }
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgxGeocodingModule, decorators: [{
17
+ type: NgModule,
18
+ args: [{
19
+ declarations: [],
20
+ imports: [],
21
+ exports: [],
22
+ }]
23
+ }] });
24
+
25
+ /**
26
+ * @author Vito Salvia - CNR IMAA geoSDI Group
27
+ * @email vito.salvia@gmail.com
28
+ */
29
+ class NgxGeocodingService {
30
+ http;
31
+ subjectLocation = new Subject();
32
+ subjectNoResults = new Subject();
33
+ subjectRemove = new Subject();
34
+ constructor(http) {
35
+ this.http = http;
36
+ }
37
+ /**
38
+ *
39
+ * @param address
40
+ */
41
+ geocode(address) {
42
+ const encoded = encodeURIComponent(address);
43
+ return this.http
44
+ .get(`https://nominatim.openstreetmap.org/search.php?q=${encoded}&format=jsonv2`)
45
+ .pipe(tap((res) => {
46
+ if (res.length <= 0) {
47
+ this.subjectNoResults.next(null);
48
+ }
49
+ // return res;
50
+ }))
51
+ .pipe(map((res) => res.map((item) => ({
52
+ display_name: item.display_name,
53
+ lat: item.lat,
54
+ lon: item.lon,
55
+ place_id: item.place_id,
56
+ }))));
57
+ }
58
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgxGeocodingService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
59
+ /** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgxGeocodingService, providedIn: "root" });
60
+ }
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgxGeocodingService, decorators: [{
62
+ type: Injectable,
63
+ args: [{
64
+ providedIn: "root",
65
+ }]
66
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
67
+
68
+ /*
69
+ * Public API Surface of ngx-geocoding
70
+ */
71
+
72
+ /**
73
+ * Generated bundle index. Do not edit.
74
+ */
75
+
76
+ export { NgxGeocodingModule, NgxGeocodingService };
77
+ //# sourceMappingURL=geosdi-ngx-geocoding.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geosdi-ngx-geocoding.mjs","sources":["../../../../projects/geosdi/ngx-geocoding/src/lib/ngx-geocoding.module.ts","../../../../projects/geosdi/ngx-geocoding/src/lib/ngx-geocoding.service.ts","../../../../projects/geosdi/ngx-geocoding/src/public-api.ts","../../../../projects/geosdi/ngx-geocoding/src/geosdi-ngx-geocoding.ts"],"sourcesContent":["import { NgModule } from \"@angular/core\";\n\n/**\n * @author Vito Salvia - CNR IMAA geoSDI Group\n * @email vito.salvia@gmail.com\n */\n@NgModule({\n declarations: [],\n imports: [],\n exports: [],\n})\nexport class NgxGeocodingModule {}\n","import { Injectable } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { GeocodingLocation } from \"./model/geocoding-location.model\";\nimport { Observable, Subject } from \"rxjs\";\nimport { map, tap } from \"rxjs/operators\";\n\n/**\n * @author Vito Salvia - CNR IMAA geoSDI Group\n * @email vito.salvia@gmail.com\n */\n@Injectable({\n providedIn: \"root\",\n})\nexport class NgxGeocodingService {\n subjectLocation = new Subject<GeocodingLocation>();\n subjectNoResults = new Subject();\n subjectRemove = new Subject();\n\n constructor(private http: HttpClient) {}\n\n /**\n *\n * @param address\n */\n geocode(address: string): Observable<GeocodingLocation[]> {\n const encoded = encodeURIComponent(address);\n return this.http\n .get<Location>(\n `https://nominatim.openstreetmap.org/search.php?q=${encoded}&format=jsonv2`,\n )\n .pipe(\n tap((res: any) => {\n if (res.length <= 0) {\n this.subjectNoResults.next(null);\n }\n // return res;\n }),\n )\n .pipe(\n map((res: any) =>\n res.map((item: any) => ({\n display_name: item.display_name,\n lat: item.lat,\n lon: item.lon,\n place_id: item.place_id,\n })),\n ),\n );\n }\n}\n","/*\n * Public API Surface of ngx-geocoding\n */\n\nexport * from './lib/ngx-geocoding.module';\nexport * from './lib/ngx-geocoding.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;AAEA;;;AAGG;AACH,MAKa,kBAAkB,CAAA;0HAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;2HAAlB,kBAAkB,EAAA,CAAA,CAAA;2HAAlB,kBAAkB,EAAA,CAAA,CAAA;;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,OAAO,EAAE,EAAE;AACd,iBAAA,CAAA;;;ACJD;;;AAGG;AACH,MAGa,mBAAmB,CAAA;AAKR,IAAA,IAAA,CAAA;AAJpB,IAAA,eAAe,GAAG,IAAI,OAAO,EAAqB,CAAC;AACnD,IAAA,gBAAgB,GAAG,IAAI,OAAO,EAAE,CAAC;AACjC,IAAA,aAAa,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,IAAA,WAAA,CAAoB,IAAgB,EAAA;QAAhB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;KAAI;AAExC;;;AAGG;AACH,IAAA,OAAO,CAAC,OAAe,EAAA;AACnB,QAAA,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,IAAI;AACX,aAAA,GAAG,CACA,CAAA,iDAAA,EAAoD,OAAO,CAAA,cAAA,CAAgB,CAC9E;AACA,aAAA,IAAI,CACD,GAAG,CAAC,CAAC,GAAQ,KAAI;AACb,YAAA,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE;AACjB,gBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpC,aAAA;;AAEL,SAAC,CAAC,CACL;AACA,aAAA,IAAI,CACD,GAAG,CAAC,CAAC,GAAQ,KACT,GAAG,CAAC,GAAG,CAAC,CAAC,IAAS,MAAM;YACpB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;SAC1B,CAAC,CAAC,CACN,CACJ,CAAC;KACT;0HAnCQ,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAnB,uBAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFhB,MAAM,EAAA,CAAA,CAAA;;2FAET,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;;ACZD;;AAEG;;ACFH;;AAEG;;;;"}
@@ -1,4 +1,8 @@
1
- export declare class GeocodingLocation {
1
+ /**
2
+ * @author Vito Salvia - CNR IMAA geoSDI Group
3
+ * @email vito.salvia@gmail.com
4
+ */
5
+ export interface GeocodingLocation {
2
6
  display_name?: string;
3
7
  lat?: string;
4
8
  lon?: string;
@@ -1,4 +1,8 @@
1
1
  import * as i0 from "@angular/core";
2
+ /**
3
+ * @author Vito Salvia - CNR IMAA geoSDI Group
4
+ * @email vito.salvia@gmail.com
5
+ */
2
6
  export declare class NgxGeocodingModule {
3
7
  static ɵfac: i0.ɵɵFactoryDeclaration<NgxGeocodingModule, never>;
4
8
  static ɵmod: i0.ɵɵNgModuleDeclaration<NgxGeocodingModule, never, never, never>;
@@ -1,14 +1,22 @@
1
- import { HttpClient } from '@angular/common/http';
2
- import { GeocodingLocation } from './model/geocoding-location.model';
3
- import { Subject } from 'rxjs';
1
+ import { HttpClient } from "@angular/common/http";
2
+ import { GeocodingLocation } from "./model/geocoding-location.model";
3
+ import { Observable, Subject } from "rxjs";
4
4
  import * as i0 from "@angular/core";
5
+ /**
6
+ * @author Vito Salvia - CNR IMAA geoSDI Group
7
+ * @email vito.salvia@gmail.com
8
+ */
5
9
  export declare class NgxGeocodingService {
6
10
  private http;
7
11
  subjectLocation: Subject<GeocodingLocation>;
8
12
  subjectNoResults: Subject<unknown>;
9
13
  subjectRemove: Subject<unknown>;
10
14
  constructor(http: HttpClient);
11
- geocode(address: string): import("rxjs").Observable<any>;
15
+ /**
16
+ *
17
+ * @param address
18
+ */
19
+ geocode(address: string): Observable<GeocodingLocation[]>;
12
20
  static ɵfac: i0.ɵɵFactoryDeclaration<NgxGeocodingService, never>;
13
21
  static ɵprov: i0.ɵɵInjectableDeclaration<NgxGeocodingService>;
14
22
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@geosdi/ngx-geocoding",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "Component to get a list of place with a geocoding service",
5
5
  "author": "Salvia Vito (vito.salvia@gmail.com)",
6
6
  "keywords": [
@@ -12,19 +12,26 @@
12
12
  ],
13
13
  "license": "MIT",
14
14
  "peerDependencies": {
15
- "@angular/common": ">=12.0.0",
16
- "@angular/core": ">=12.0.0",
17
- "typescript": ">=4.0.0",
18
- "rxjs": ">=7.0.0"
15
+ "@angular/common": ">=16.0.0",
16
+ "@angular/core": ">=16.0.0",
17
+ "typescript": ">=5.0.0",
18
+ "rxjs": ">=7.8.0"
19
19
  },
20
- "dependencies": {
21
- "tslib": "^2.1.0"
20
+ "sideEffects": false,
21
+ "module": "fesm2022/geosdi-ngx-geocoding.mjs",
22
+ "typings": "index.d.ts",
23
+ "exports": {
24
+ "./package.json": {
25
+ "default": "./package.json"
26
+ },
27
+ ".": {
28
+ "types": "./index.d.ts",
29
+ "esm2022": "./esm2022/geosdi-ngx-geocoding.mjs",
30
+ "esm": "./esm2022/geosdi-ngx-geocoding.mjs",
31
+ "default": "./fesm2022/geosdi-ngx-geocoding.mjs"
32
+ }
22
33
  },
23
- "main": "bundles/geosdi-ngx-geocoding.umd.js",
24
- "module": "fesm2015/geosdi-ngx-geocoding.js",
25
- "es2015": "fesm2015/geosdi-ngx-geocoding.js",
26
- "esm2015": "esm2015/geosdi-ngx-geocoding.js",
27
- "fesm2015": "fesm2015/geosdi-ngx-geocoding.js",
28
- "typings": "geosdi-ngx-geocoding.d.ts",
29
- "sideEffects": false
34
+ "dependencies": {
35
+ "tslib": "^2.3.0"
36
+ }
30
37
  }
@@ -1,94 +0,0 @@
1
- (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('rxjs'), require('rxjs/operators'), require('@angular/common/http')) :
3
- typeof define === 'function' && define.amd ? define('@geosdi/ngx-geocoding', ['exports', '@angular/core', 'rxjs', 'rxjs/operators', '@angular/common/http'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.geosdi = global.geosdi || {}, global.geosdi["ngx-geocoding"] = {}), global.ng.core, global.rxjs, global.rxjs.operators, global.ng.common.http));
5
- })(this, (function (exports, i0, rxjs, operators, i1) { 'use strict';
6
-
7
- function _interopNamespace(e) {
8
- if (e && e.__esModule) return e;
9
- var n = Object.create(null);
10
- if (e) {
11
- Object.keys(e).forEach(function (k) {
12
- if (k !== 'default') {
13
- var d = Object.getOwnPropertyDescriptor(e, k);
14
- Object.defineProperty(n, k, d.get ? d : {
15
- enumerable: true,
16
- get: function () { return e[k]; }
17
- });
18
- }
19
- });
20
- }
21
- n["default"] = e;
22
- return Object.freeze(n);
23
- }
24
-
25
- var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
26
- var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
27
-
28
- var NgxGeocodingModule = /** @class */ (function () {
29
- function NgxGeocodingModule() {
30
- }
31
- return NgxGeocodingModule;
32
- }());
33
- /** @nocollapse */ NgxGeocodingModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0__namespace, type: NgxGeocodingModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
34
- /** @nocollapse */ NgxGeocodingModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0__namespace, type: NgxGeocodingModule });
35
- /** @nocollapse */ NgxGeocodingModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0__namespace, type: NgxGeocodingModule, imports: [[]] });
36
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0__namespace, type: NgxGeocodingModule, decorators: [{
37
- type: i0.NgModule,
38
- args: [{
39
- declarations: [],
40
- imports: [],
41
- exports: []
42
- }]
43
- }] });
44
-
45
- var NgxGeocodingService = /** @class */ (function () {
46
- function NgxGeocodingService(http) {
47
- this.http = http;
48
- this.subjectLocation = new rxjs.Subject();
49
- this.subjectNoResults = new rxjs.Subject();
50
- this.subjectRemove = new rxjs.Subject();
51
- }
52
- NgxGeocodingService.prototype.geocode = function (address) {
53
- var _this = this;
54
- var encoded = encodeURIComponent(address);
55
- return this.http
56
- .get("https://nominatim.openstreetmap.org/search.php?q=" + encoded + "&format=jsonv2")
57
- .pipe(operators.tap(function (res) {
58
- if (res.length <= 0) {
59
- _this.subjectNoResults.next(null);
60
- }
61
- // return res;
62
- })).pipe(operators.map(function (res) { return res.map(function (item) { return ({
63
- display_name: item.display_name,
64
- lat: item.lat,
65
- lon: item.lon,
66
- place_id: item.place_id
67
- }); }); }));
68
- };
69
- return NgxGeocodingService;
70
- }());
71
- /** @nocollapse */ NgxGeocodingService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0__namespace, type: NgxGeocodingService, deps: [{ token: i1__namespace.HttpClient }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
72
- /** @nocollapse */ NgxGeocodingService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0__namespace, type: NgxGeocodingService, providedIn: 'root' });
73
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0__namespace, type: NgxGeocodingService, decorators: [{
74
- type: i0.Injectable,
75
- args: [{
76
- providedIn: 'root'
77
- }]
78
- }], ctorParameters: function () { return [{ type: i1__namespace.HttpClient }]; } });
79
-
80
- /*
81
- * Public API Surface of ngx-geocoding
82
- */
83
-
84
- /**
85
- * Generated bundle index. Do not edit.
86
- */
87
-
88
- exports.NgxGeocodingModule = NgxGeocodingModule;
89
- exports.NgxGeocodingService = NgxGeocodingService;
90
-
91
- Object.defineProperty(exports, '__esModule', { value: true });
92
-
93
- }));
94
- //# sourceMappingURL=geosdi-ngx-geocoding.umd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"geosdi-ngx-geocoding.umd.js","sources":["../../../../projects/geosdi/ngx-geocoding/src/lib/ngx-geocoding.module.ts","../../../../projects/geosdi/ngx-geocoding/src/lib/ngx-geocoding.service.ts","../../../../projects/geosdi/ngx-geocoding/src/public-api.ts","../../../../projects/geosdi/ngx-geocoding/src/geosdi-ngx-geocoding.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\n\n@NgModule({\n declarations: [],\n imports: [\n ],\n exports: []\n})\nexport class NgxGeocodingModule {\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { GeocodingLocation } from './model/geocoding-location.model';\nimport { Subject } from 'rxjs';\nimport {map, tap} from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NgxGeocodingService {\n\n subjectLocation = new Subject<GeocodingLocation>();\n subjectNoResults = new Subject();\n subjectRemove = new Subject();\n\n\n constructor(private http: HttpClient) { }\n\n geocode(address: string) {\n const encoded = encodeURIComponent(address);\n return this.http\n .get<Location>(\n `https://nominatim.openstreetmap.org/search.php?q=${encoded}&format=jsonv2`,\n )\n .pipe(tap((res: any) => {\n if (res.length <= 0) {\n this.subjectNoResults.next(null)\n }\n // return res;\n })).pipe(map((res: any) => res.map((item: any) => (\n {\n display_name: item.display_name,\n lat: item.lat,\n lon: item.lon,\n place_id: item.place_id\n }\n ))));\n }\n}\n","/*\n * Public API Surface of ngx-geocoding\n */\n\nexport * from './lib/ngx-geocoding.module';\nexport * from './lib/ngx-geocoding.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["NgModule","Subject","tap","map","Injectable"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;YAQA;;;;iKAAa,kBAAkB;kKAAlB,kBAAkB;kKAAlB,kBAAkB,YAJpB,EACR;0HAGU,kBAAkB;0BAN9BA,WAAQ;2BAAC;4BACR,YAAY,EAAE,EAAE;4BAChB,OAAO,EAAE,EACR;4BACD,OAAO,EAAE,EAAE;yBACZ;;;;YCSC,6BAAoB,IAAgB;gBAAhB,SAAI,GAAJ,IAAI,CAAY;gBALpC,oBAAe,GAAG,IAAIC,YAAO,EAAqB,CAAC;gBACnD,qBAAgB,GAAG,IAAIA,YAAO,EAAE,CAAC;gBACjC,kBAAa,GAAG,IAAIA,YAAO,EAAE,CAAC;aAGW;YAEzC,qCAAO,GAAP,UAAQ,OAAe;gBAAvB,iBAmBC;gBAlBC,IAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBAC5C,OAAO,IAAI,CAAC,IAAI;qBACb,GAAG,CACF,sDAAoD,OAAO,mBAAgB,CAC5E;qBACA,IAAI,CAACC,aAAG,CAAC,UAAC,GAAQ;oBACjB,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE;wBACnB,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;qBACjC;;iBAEF,CAAC,CAAC,CAAC,IAAI,CAACC,aAAG,CAAC,UAAC,GAAQ,IAAK,OAAA,GAAG,CAAC,GAAG,CAAC,UAAC,IAAS,IAAK,QAChD;oBACE,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;iBACxB,IACF,CAAC,GAAA,CAAC,CAAC,CAAC;aACR;;;kKA5BU,mBAAmB;sKAAnB,mBAAmB,cAFlB,MAAM;0HAEP,mBAAmB;0BAH/BC,aAAU;2BAAC;4BACV,UAAU,EAAE,MAAM;yBACnB;;;QCRD;;;;QCAA;;;;;;;;;;;;;"}
@@ -1,9 +0,0 @@
1
- /*
2
- * @Author: Salvia Vito
3
- * @Date: 2019-01-11 11:40:56
4
- * @Last Modified by: Salvia Vito
5
- * @Last Modified time: 2019-01-11 11:46:28
6
- */
7
- export class GeocodingLocation {
8
- }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvY29kaW5nLWxvY2F0aW9uLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2Vvc2RpL25neC1nZW9jb2Rpbmcvc3JjL2xpYi9tb2RlbC9nZW9jb2RpbmctbG9jYXRpb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQU8saUJBQWlCO0NBTzdCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIEBBdXRob3I6IFNhbHZpYSBWaXRvXG4gKiBARGF0ZTogMjAxOS0wMS0xMSAxMTo0MDo1NlxuICogQExhc3QgTW9kaWZpZWQgYnk6IFNhbHZpYSBWaXRvXG4gKiBATGFzdCBNb2RpZmllZCB0aW1lOiAyMDE5LTAxLTExIDExOjQ2OjI4XG4gKi9cbmV4cG9ydCBjbGFzcyBHZW9jb2RpbmdMb2NhdGlvbiB7XG5cbiAgICBkaXNwbGF5X25hbWU/OiBzdHJpbmc7XG4gICAgbGF0Pzogc3RyaW5nO1xuICAgIGxvbj86IHN0cmluZztcbiAgICBwbGFjZV9pZD86IHN0cmluZztcblxufVxuIl19
@@ -1,16 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class NgxGeocodingModule {
4
- }
5
- /** @nocollapse */ NgxGeocodingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: NgxGeocodingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
6
- /** @nocollapse */ NgxGeocodingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: NgxGeocodingModule });
7
- /** @nocollapse */ NgxGeocodingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: NgxGeocodingModule, imports: [[]] });
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: NgxGeocodingModule, decorators: [{
9
- type: NgModule,
10
- args: [{
11
- declarations: [],
12
- imports: [],
13
- exports: []
14
- }]
15
- }] });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWdlb2NvZGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nZW9zZGkvbmd4LWdlb2NvZGluZy9zcmMvbGliL25neC1nZW9jb2RpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUXpDLE1BQU0sT0FBTyxrQkFBa0I7O21JQUFsQixrQkFBa0I7b0lBQWxCLGtCQUFrQjtvSUFBbEIsa0JBQWtCLFlBSnBCLEVBQ1I7NEZBR1Usa0JBQWtCO2tCQU45QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUUsRUFDUjtvQkFDRCxPQUFPLEVBQUUsRUFBRTtpQkFDWiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGltcG9ydHM6IFtcbiAgXSxcbiAgZXhwb3J0czogW11cbn0pXG5leHBvcnQgY2xhc3MgTmd4R2VvY29kaW5nTW9kdWxlIHtcblxufVxuIl19
@@ -1,39 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { HttpClient } from '@angular/common/http';
3
- import { Subject } from 'rxjs';
4
- import { map, tap } from 'rxjs/operators';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common/http";
7
- export class NgxGeocodingService {
8
- constructor(http) {
9
- this.http = http;
10
- this.subjectLocation = new Subject();
11
- this.subjectNoResults = new Subject();
12
- this.subjectRemove = new Subject();
13
- }
14
- geocode(address) {
15
- const encoded = encodeURIComponent(address);
16
- return this.http
17
- .get(`https://nominatim.openstreetmap.org/search.php?q=${encoded}&format=jsonv2`)
18
- .pipe(tap((res) => {
19
- if (res.length <= 0) {
20
- this.subjectNoResults.next(null);
21
- }
22
- // return res;
23
- })).pipe(map((res) => res.map((item) => ({
24
- display_name: item.display_name,
25
- lat: item.lat,
26
- lon: item.lon,
27
- place_id: item.place_id
28
- }))));
29
- }
30
- }
31
- /** @nocollapse */ NgxGeocodingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: NgxGeocodingService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
32
- /** @nocollapse */ NgxGeocodingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: NgxGeocodingService, providedIn: 'root' });
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: NgxGeocodingService, decorators: [{
34
- type: Injectable,
35
- args: [{
36
- providedIn: 'root'
37
- }]
38
- }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWdlb2NvZGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2Vvc2RpL25neC1nZW9jb2Rpbmcvc3JjL2xpYi9uZ3gtZ2VvY29kaW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUMsR0FBRyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7QUFLeEMsTUFBTSxPQUFPLG1CQUFtQjtJQU85QixZQUFvQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBTHBDLG9CQUFlLEdBQUcsSUFBSSxPQUFPLEVBQXFCLENBQUM7UUFDbkQscUJBQWdCLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNqQyxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFHVSxDQUFDO0lBRXpDLE9BQU8sQ0FBQyxPQUFlO1FBQ3JCLE1BQU0sT0FBTyxHQUFHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVDLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixHQUFHLENBQ0Ysb0RBQW9ELE9BQU8sZ0JBQWdCLENBQzVFO2FBQ0EsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ3JCLElBQUksR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7YUFDakM7WUFDRCxjQUFjO1FBQ2hCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsQ0FDaEQ7WUFDRSxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO1lBQ2IsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO1lBQ2IsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3hCLENBQ0YsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNULENBQUM7O29JQTVCVSxtQkFBbUI7d0lBQW5CLG1CQUFtQixjQUZsQixNQUFNOzRGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgR2VvY29kaW5nTG9jYXRpb24gfSBmcm9tICcuL21vZGVsL2dlb2NvZGluZy1sb2NhdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE5neEdlb2NvZGluZ1NlcnZpY2Uge1xuXG4gIHN1YmplY3RMb2NhdGlvbiA9IG5ldyBTdWJqZWN0PEdlb2NvZGluZ0xvY2F0aW9uPigpO1xuICBzdWJqZWN0Tm9SZXN1bHRzID0gbmV3IFN1YmplY3QoKTtcbiAgc3ViamVjdFJlbW92ZSA9IG5ldyBTdWJqZWN0KCk7XG5cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHsgfVxuXG4gIGdlb2NvZGUoYWRkcmVzczogc3RyaW5nKSB7XG4gICAgY29uc3QgZW5jb2RlZCA9IGVuY29kZVVSSUNvbXBvbmVudChhZGRyZXNzKTtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0PExvY2F0aW9uPihcbiAgICAgICAgYGh0dHBzOi8vbm9taW5hdGltLm9wZW5zdHJlZXRtYXAub3JnL3NlYXJjaC5waHA/cT0ke2VuY29kZWR9JmZvcm1hdD1qc29udjJgLFxuICAgICAgKVxuICAgICAgLnBpcGUodGFwKChyZXM6IGFueSkgPT4ge1xuICAgICAgICBpZiAocmVzLmxlbmd0aCA8PSAwKSB7XG4gICAgICAgICAgdGhpcy5zdWJqZWN0Tm9SZXN1bHRzLm5leHQobnVsbClcbiAgICAgICAgfVxuICAgICAgICAvLyByZXR1cm4gcmVzO1xuICAgICAgfSkpLnBpcGUobWFwKChyZXM6IGFueSkgPT4gcmVzLm1hcCgoaXRlbTogYW55KSA9PiAoXG4gICAgICAgIHtcbiAgICAgICAgICBkaXNwbGF5X25hbWU6IGl0ZW0uZGlzcGxheV9uYW1lLFxuICAgICAgICAgIGxhdDogaXRlbS5sYXQsXG4gICAgICAgICAgbG9uOiBpdGVtLmxvbixcbiAgICAgICAgICBwbGFjZV9pZDogaXRlbS5wbGFjZV9pZFxuICAgICAgICB9XG4gICAgICApKSkpO1xuICB9XG59XG4iXX0=
@@ -1,63 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { NgModule, Injectable } from '@angular/core';
3
- import * as i1 from '@angular/common/http';
4
- import { Subject } from 'rxjs';
5
- import { tap, map } from 'rxjs/operators';
6
-
7
- class NgxGeocodingModule {
8
- }
9
- /** @nocollapse */ NgxGeocodingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: NgxGeocodingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- /** @nocollapse */ NgxGeocodingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: NgxGeocodingModule });
11
- /** @nocollapse */ NgxGeocodingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: NgxGeocodingModule, imports: [[]] });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: NgxGeocodingModule, decorators: [{
13
- type: NgModule,
14
- args: [{
15
- declarations: [],
16
- imports: [],
17
- exports: []
18
- }]
19
- }] });
20
-
21
- class NgxGeocodingService {
22
- constructor(http) {
23
- this.http = http;
24
- this.subjectLocation = new Subject();
25
- this.subjectNoResults = new Subject();
26
- this.subjectRemove = new Subject();
27
- }
28
- geocode(address) {
29
- const encoded = encodeURIComponent(address);
30
- return this.http
31
- .get(`https://nominatim.openstreetmap.org/search.php?q=${encoded}&format=jsonv2`)
32
- .pipe(tap((res) => {
33
- if (res.length <= 0) {
34
- this.subjectNoResults.next(null);
35
- }
36
- // return res;
37
- })).pipe(map((res) => res.map((item) => ({
38
- display_name: item.display_name,
39
- lat: item.lat,
40
- lon: item.lon,
41
- place_id: item.place_id
42
- }))));
43
- }
44
- }
45
- /** @nocollapse */ NgxGeocodingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: NgxGeocodingService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
46
- /** @nocollapse */ NgxGeocodingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: NgxGeocodingService, providedIn: 'root' });
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: NgxGeocodingService, decorators: [{
48
- type: Injectable,
49
- args: [{
50
- providedIn: 'root'
51
- }]
52
- }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
53
-
54
- /*
55
- * Public API Surface of ngx-geocoding
56
- */
57
-
58
- /**
59
- * Generated bundle index. Do not edit.
60
- */
61
-
62
- export { NgxGeocodingModule, NgxGeocodingService };
63
- //# sourceMappingURL=geosdi-ngx-geocoding.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"geosdi-ngx-geocoding.js","sources":["../../../../projects/geosdi/ngx-geocoding/src/lib/ngx-geocoding.module.ts","../../../../projects/geosdi/ngx-geocoding/src/lib/ngx-geocoding.service.ts","../../../../projects/geosdi/ngx-geocoding/src/public-api.ts","../../../../projects/geosdi/ngx-geocoding/src/geosdi-ngx-geocoding.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\n\n@NgModule({\n declarations: [],\n imports: [\n ],\n exports: []\n})\nexport class NgxGeocodingModule {\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { GeocodingLocation } from './model/geocoding-location.model';\nimport { Subject } from 'rxjs';\nimport {map, tap} from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NgxGeocodingService {\n\n subjectLocation = new Subject<GeocodingLocation>();\n subjectNoResults = new Subject();\n subjectRemove = new Subject();\n\n\n constructor(private http: HttpClient) { }\n\n geocode(address: string) {\n const encoded = encodeURIComponent(address);\n return this.http\n .get<Location>(\n `https://nominatim.openstreetmap.org/search.php?q=${encoded}&format=jsonv2`,\n )\n .pipe(tap((res: any) => {\n if (res.length <= 0) {\n this.subjectNoResults.next(null)\n }\n // return res;\n })).pipe(map((res: any) => res.map((item: any) => (\n {\n display_name: item.display_name,\n lat: item.lat,\n lon: item.lon,\n place_id: item.place_id\n }\n ))));\n }\n}\n","/*\n * Public API Surface of ngx-geocoding\n */\n\nexport * from './lib/ngx-geocoding.module';\nexport * from './lib/ngx-geocoding.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;MAQa,kBAAkB;;mIAAlB,kBAAkB;oIAAlB,kBAAkB;oIAAlB,kBAAkB,YAJpB,EACR;4FAGU,kBAAkB;kBAN9B,QAAQ;mBAAC;oBACR,YAAY,EAAE,EAAE;oBAChB,OAAO,EAAE,EACR;oBACD,OAAO,EAAE,EAAE;iBACZ;;;MCEY,mBAAmB;IAO9B,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QALpC,oBAAe,GAAG,IAAI,OAAO,EAAqB,CAAC;QACnD,qBAAgB,GAAG,IAAI,OAAO,EAAE,CAAC;QACjC,kBAAa,GAAG,IAAI,OAAO,EAAE,CAAC;KAGW;IAEzC,OAAO,CAAC,OAAe;QACrB,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,IAAI;aACb,GAAG,CACF,oDAAoD,OAAO,gBAAgB,CAC5E;aACA,IAAI,CAAC,GAAG,CAAC,CAAC,GAAQ;YACjB,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE;gBACnB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;aACjC;;SAEF,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAQ,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,IAAS,MAC3C;YACE,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CACF,CAAC,CAAC,CAAC,CAAC;KACR;;oIA5BU,mBAAmB;wIAAnB,mBAAmB,cAFlB,MAAM;4FAEP,mBAAmB;kBAH/B,UAAU;mBAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;ACRD;;;;ACAA;;;;;;"}
File without changes