@geosdi/ngx-geocoding 1.0.1 → 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/esm2022/lib/model/geocoding-location.model.mjs +2 -0
- package/esm2022/lib/ngx-geocoding.module.mjs +21 -0
- package/esm2022/lib/ngx-geocoding.service.mjs +50 -0
- package/{fesm2020 → fesm2022}/geosdi-ngx-geocoding.mjs +20 -14
- package/fesm2022/geosdi-ngx-geocoding.mjs.map +1 -0
- package/lib/model/geocoding-location.model.d.ts +5 -1
- package/lib/ngx-geocoding.service.d.ts +7 -4
- package/package.json +10 -16
- package/esm2020/lib/model/geocoding-location.model.mjs +0 -9
- package/esm2020/lib/ngx-geocoding.module.mjs +0 -20
- package/esm2020/lib/ngx-geocoding.service.mjs +0 -43
- package/fesm2015/geosdi-ngx-geocoding.mjs +0 -71
- package/fesm2015/geosdi-ngx-geocoding.mjs.map +0 -1
- package/fesm2020/geosdi-ngx-geocoding.mjs.map +0 -1
- /package/{esm2020 → esm2022}/geosdi-ngx-geocoding.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
|
@@ -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==
|
|
@@ -9,16 +9,16 @@ import { tap, map } from 'rxjs/operators';
|
|
|
9
9
|
* @email vito.salvia@gmail.com
|
|
10
10
|
*/
|
|
11
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 });
|
|
12
15
|
}
|
|
13
|
-
|
|
14
|
-
/** @nocollapse */ NgxGeocodingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: NgxGeocodingModule });
|
|
15
|
-
/** @nocollapse */ NgxGeocodingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxGeocodingModule });
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxGeocodingModule, decorators: [{
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgxGeocodingModule, decorators: [{
|
|
17
17
|
type: NgModule,
|
|
18
18
|
args: [{
|
|
19
19
|
declarations: [],
|
|
20
20
|
imports: [],
|
|
21
|
-
exports: []
|
|
21
|
+
exports: [],
|
|
22
22
|
}]
|
|
23
23
|
}] });
|
|
24
24
|
|
|
@@ -27,12 +27,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
27
27
|
* @email vito.salvia@gmail.com
|
|
28
28
|
*/
|
|
29
29
|
class NgxGeocodingService {
|
|
30
|
+
http;
|
|
31
|
+
subjectLocation = new Subject();
|
|
32
|
+
subjectNoResults = new Subject();
|
|
33
|
+
subjectRemove = new Subject();
|
|
30
34
|
constructor(http) {
|
|
31
35
|
this.http = http;
|
|
32
|
-
this.subjectLocation = new Subject();
|
|
33
|
-
this.subjectNoResults = new Subject();
|
|
34
|
-
this.subjectRemove = new Subject();
|
|
35
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
*
|
|
39
|
+
* @param address
|
|
40
|
+
*/
|
|
36
41
|
geocode(address) {
|
|
37
42
|
const encoded = encodeURIComponent(address);
|
|
38
43
|
return this.http
|
|
@@ -42,20 +47,21 @@ class NgxGeocodingService {
|
|
|
42
47
|
this.subjectNoResults.next(null);
|
|
43
48
|
}
|
|
44
49
|
// return res;
|
|
45
|
-
}))
|
|
50
|
+
}))
|
|
51
|
+
.pipe(map((res) => res.map((item) => ({
|
|
46
52
|
display_name: item.display_name,
|
|
47
53
|
lat: item.lat,
|
|
48
54
|
lon: item.lon,
|
|
49
|
-
place_id: item.place_id
|
|
55
|
+
place_id: item.place_id,
|
|
50
56
|
}))));
|
|
51
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" });
|
|
52
60
|
}
|
|
53
|
-
|
|
54
|
-
/** @nocollapse */ NgxGeocodingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxGeocodingService, providedIn: 'root' });
|
|
55
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxGeocodingService, decorators: [{
|
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgxGeocodingService, decorators: [{
|
|
56
62
|
type: Injectable,
|
|
57
63
|
args: [{
|
|
58
|
-
providedIn:
|
|
64
|
+
providedIn: "root",
|
|
59
65
|
}]
|
|
60
66
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
61
67
|
|
|
@@ -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,7 +1,6 @@
|
|
|
1
|
-
import { HttpClient } from
|
|
2
|
-
import { GeocodingLocation } from
|
|
3
|
-
import { Subject } from
|
|
4
|
-
import { Observable } from 'rxjs';
|
|
1
|
+
import { HttpClient } from "@angular/common/http";
|
|
2
|
+
import { GeocodingLocation } from "./model/geocoding-location.model";
|
|
3
|
+
import { Observable, Subject } from "rxjs";
|
|
5
4
|
import * as i0 from "@angular/core";
|
|
6
5
|
/**
|
|
7
6
|
* @author Vito Salvia - CNR IMAA geoSDI Group
|
|
@@ -13,6 +12,10 @@ export declare class NgxGeocodingService {
|
|
|
13
12
|
subjectNoResults: Subject<unknown>;
|
|
14
13
|
subjectRemove: Subject<unknown>;
|
|
15
14
|
constructor(http: HttpClient);
|
|
15
|
+
/**
|
|
16
|
+
*
|
|
17
|
+
* @param address
|
|
18
|
+
*/
|
|
16
19
|
geocode(address: string): Observable<GeocodingLocation[]>;
|
|
17
20
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgxGeocodingService, never>;
|
|
18
21
|
static ɵprov: i0.ɵɵInjectableDeclaration<NgxGeocodingService>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@geosdi/ngx-geocoding",
|
|
3
|
-
"version": "1.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,16 +12,13 @@
|
|
|
12
12
|
],
|
|
13
13
|
"license": "MIT",
|
|
14
14
|
"peerDependencies": {
|
|
15
|
-
"@angular/common": ">=
|
|
16
|
-
"@angular/core": ">=
|
|
17
|
-
"typescript": ">=
|
|
15
|
+
"@angular/common": ">=16.0.0",
|
|
16
|
+
"@angular/core": ">=16.0.0",
|
|
17
|
+
"typescript": ">=5.0.0",
|
|
18
18
|
"rxjs": ">=7.8.0"
|
|
19
19
|
},
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"esm2020": "esm2020/geosdi-ngx-geocoding.mjs",
|
|
23
|
-
"fesm2020": "fesm2020/geosdi-ngx-geocoding.mjs",
|
|
24
|
-
"fesm2015": "fesm2015/geosdi-ngx-geocoding.mjs",
|
|
20
|
+
"sideEffects": false,
|
|
21
|
+
"module": "fesm2022/geosdi-ngx-geocoding.mjs",
|
|
25
22
|
"typings": "index.d.ts",
|
|
26
23
|
"exports": {
|
|
27
24
|
"./package.json": {
|
|
@@ -29,15 +26,12 @@
|
|
|
29
26
|
},
|
|
30
27
|
".": {
|
|
31
28
|
"types": "./index.d.ts",
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"node": "./fesm2015/geosdi-ngx-geocoding.mjs",
|
|
36
|
-
"default": "./fesm2020/geosdi-ngx-geocoding.mjs"
|
|
29
|
+
"esm2022": "./esm2022/geosdi-ngx-geocoding.mjs",
|
|
30
|
+
"esm": "./esm2022/geosdi-ngx-geocoding.mjs",
|
|
31
|
+
"default": "./fesm2022/geosdi-ngx-geocoding.mjs"
|
|
37
32
|
}
|
|
38
33
|
},
|
|
39
|
-
"sideEffects": false,
|
|
40
34
|
"dependencies": {
|
|
41
|
-
"tslib": "
|
|
35
|
+
"tslib": "^2.3.0"
|
|
42
36
|
}
|
|
43
37
|
}
|
|
@@ -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,20 +0,0 @@
|
|
|
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
|
-
export class NgxGeocodingModule {
|
|
8
|
-
}
|
|
9
|
-
/** @nocollapse */ NgxGeocodingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxGeocodingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10
|
-
/** @nocollapse */ NgxGeocodingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: NgxGeocodingModule });
|
|
11
|
-
/** @nocollapse */ NgxGeocodingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxGeocodingModule });
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxGeocodingModule, decorators: [{
|
|
13
|
-
type: NgModule,
|
|
14
|
-
args: [{
|
|
15
|
-
declarations: [],
|
|
16
|
-
imports: [],
|
|
17
|
-
exports: []
|
|
18
|
-
}]
|
|
19
|
-
}] });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWdlb2NvZGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nZW9zZGkvbmd4LWdlb2NvZGluZy9zcmMvbGliL25neC1nZW9jb2RpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRXpDOzs7R0FHRztBQU9ILE1BQU0sT0FBTyxrQkFBa0I7O2tJQUFsQixrQkFBa0I7bUlBQWxCLGtCQUFrQjttSUFBbEIsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBTjlCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRSxFQUNSO29CQUNELE9BQU8sRUFBRSxFQUFFO2lCQUNaIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBAYXV0aG9yIFZpdG8gU2FsdmlhIC0gQ05SIElNQUEgZ2VvU0RJIEdyb3VwXG4gKiBAZW1haWwgdml0by5zYWx2aWFAZ21haWwuY29tXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGltcG9ydHM6IFtcbiAgXSxcbiAgZXhwb3J0czogW11cbn0pXG5leHBvcnQgY2xhc3MgTmd4R2VvY29kaW5nTW9kdWxlIHtcblxufVxuIl19
|
|
@@ -1,43 +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
|
-
/**
|
|
8
|
-
* @author Vito Salvia - CNR IMAA geoSDI Group
|
|
9
|
-
* @email vito.salvia@gmail.com
|
|
10
|
-
*/
|
|
11
|
-
export class NgxGeocodingService {
|
|
12
|
-
constructor(http) {
|
|
13
|
-
this.http = http;
|
|
14
|
-
this.subjectLocation = new Subject();
|
|
15
|
-
this.subjectNoResults = new Subject();
|
|
16
|
-
this.subjectRemove = new Subject();
|
|
17
|
-
}
|
|
18
|
-
geocode(address) {
|
|
19
|
-
const encoded = encodeURIComponent(address);
|
|
20
|
-
return this.http
|
|
21
|
-
.get(`https://nominatim.openstreetmap.org/search.php?q=${encoded}&format=jsonv2`)
|
|
22
|
-
.pipe(tap((res) => {
|
|
23
|
-
if (res.length <= 0) {
|
|
24
|
-
this.subjectNoResults.next(null);
|
|
25
|
-
}
|
|
26
|
-
// return res;
|
|
27
|
-
})).pipe(map((res) => res.map((item) => ({
|
|
28
|
-
display_name: item.display_name,
|
|
29
|
-
lat: item.lat,
|
|
30
|
-
lon: item.lon,
|
|
31
|
-
place_id: item.place_id
|
|
32
|
-
}))));
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
/** @nocollapse */ NgxGeocodingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxGeocodingService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
36
|
-
/** @nocollapse */ NgxGeocodingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxGeocodingService, providedIn: 'root' });
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxGeocodingService, decorators: [{
|
|
38
|
-
type: Injectable,
|
|
39
|
-
args: [{
|
|
40
|
-
providedIn: 'root'
|
|
41
|
-
}]
|
|
42
|
-
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWdlb2NvZGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2Vvc2RpL25neC1nZW9jb2Rpbmcvc3JjL2xpYi9uZ3gtZ2VvY29kaW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUMsR0FBRyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7QUFHeEM7OztHQUdHO0FBSUgsTUFBTSxPQUFPLG1CQUFtQjtJQU05QixZQUFvQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBSnBDLG9CQUFlLEdBQUcsSUFBSSxPQUFPLEVBQXFCLENBQUM7UUFDbkQscUJBQWdCLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNqQyxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFFVSxDQUFDO0lBRXpDLE9BQU8sQ0FBQyxPQUFlO1FBQ3JCLE1BQU0sT0FBTyxHQUFHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVDLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixHQUFHLENBQ0Ysb0RBQW9ELE9BQU8sZ0JBQWdCLENBQzVFO2FBQ0EsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ3JCLElBQUksR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7YUFDakM7WUFDRCxjQUFjO1FBQ2hCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsQ0FDaEQ7WUFDRSxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO1lBQ2IsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO1lBQ2IsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3hCLENBQ0YsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNULENBQUM7O21JQTNCVSxtQkFBbUI7dUlBQW5CLG1CQUFtQixjQUZsQixNQUFNOzJGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgR2VvY29kaW5nTG9jYXRpb24gfSBmcm9tICcuL21vZGVsL2dlb2NvZGluZy1sb2NhdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIEBhdXRob3IgVml0byBTYWx2aWEgLSBDTlIgSU1BQSBnZW9TREkgR3JvdXBcbiAqIEBlbWFpbCB2aXRvLnNhbHZpYUBnbWFpbC5jb21cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTmd4R2VvY29kaW5nU2VydmljZSB7XG5cbiAgc3ViamVjdExvY2F0aW9uID0gbmV3IFN1YmplY3Q8R2VvY29kaW5nTG9jYXRpb24+KCk7XG4gIHN1YmplY3ROb1Jlc3VsdHMgPSBuZXcgU3ViamVjdCgpO1xuICBzdWJqZWN0UmVtb3ZlID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHsgfVxuXG4gIGdlb2NvZGUoYWRkcmVzczogc3RyaW5nKTogT2JzZXJ2YWJsZTxHZW9jb2RpbmdMb2NhdGlvbltdPiB7XG4gICAgY29uc3QgZW5jb2RlZCA9IGVuY29kZVVSSUNvbXBvbmVudChhZGRyZXNzKTtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0PExvY2F0aW9uPihcbiAgICAgICAgYGh0dHBzOi8vbm9taW5hdGltLm9wZW5zdHJlZXRtYXAub3JnL3NlYXJjaC5waHA/cT0ke2VuY29kZWR9JmZvcm1hdD1qc29udjJgLFxuICAgICAgKVxuICAgICAgLnBpcGUodGFwKChyZXM6IGFueSkgPT4ge1xuICAgICAgICBpZiAocmVzLmxlbmd0aCA8PSAwKSB7XG4gICAgICAgICAgdGhpcy5zdWJqZWN0Tm9SZXN1bHRzLm5leHQobnVsbClcbiAgICAgICAgfVxuICAgICAgICAvLyByZXR1cm4gcmVzO1xuICAgICAgfSkpLnBpcGUobWFwKChyZXM6IGFueSkgPT4gcmVzLm1hcCgoaXRlbTogYW55KSA9PiAoXG4gICAgICAgIHtcbiAgICAgICAgICBkaXNwbGF5X25hbWU6IGl0ZW0uZGlzcGxheV9uYW1lLFxuICAgICAgICAgIGxhdDogaXRlbS5sYXQsXG4gICAgICAgICAgbG9uOiBpdGVtLmxvbixcbiAgICAgICAgICBwbGFjZV9pZDogaXRlbS5wbGFjZV9pZFxuICAgICAgICB9XG4gICAgICApKSkpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { NgModule, Injectable } from '@angular/core';
|
|
3
|
-
import { Subject } from 'rxjs';
|
|
4
|
-
import { tap, map } from 'rxjs/operators';
|
|
5
|
-
import * as i1 from '@angular/common/http';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @author Vito Salvia - CNR IMAA geoSDI Group
|
|
9
|
-
* @email vito.salvia@gmail.com
|
|
10
|
-
*/
|
|
11
|
-
class NgxGeocodingModule {
|
|
12
|
-
}
|
|
13
|
-
/** @nocollapse */ NgxGeocodingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxGeocodingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
14
|
-
/** @nocollapse */ NgxGeocodingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: NgxGeocodingModule });
|
|
15
|
-
/** @nocollapse */ NgxGeocodingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxGeocodingModule });
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", 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
|
-
constructor(http) {
|
|
31
|
-
this.http = http;
|
|
32
|
-
this.subjectLocation = new Subject();
|
|
33
|
-
this.subjectNoResults = new Subject();
|
|
34
|
-
this.subjectRemove = new Subject();
|
|
35
|
-
}
|
|
36
|
-
geocode(address) {
|
|
37
|
-
const encoded = encodeURIComponent(address);
|
|
38
|
-
return this.http
|
|
39
|
-
.get(`https://nominatim.openstreetmap.org/search.php?q=${encoded}&format=jsonv2`)
|
|
40
|
-
.pipe(tap((res) => {
|
|
41
|
-
if (res.length <= 0) {
|
|
42
|
-
this.subjectNoResults.next(null);
|
|
43
|
-
}
|
|
44
|
-
// return res;
|
|
45
|
-
})).pipe(map((res) => res.map((item) => ({
|
|
46
|
-
display_name: item.display_name,
|
|
47
|
-
lat: item.lat,
|
|
48
|
-
lon: item.lon,
|
|
49
|
-
place_id: item.place_id
|
|
50
|
-
}))));
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
/** @nocollapse */ NgxGeocodingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxGeocodingService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
54
|
-
/** @nocollapse */ NgxGeocodingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxGeocodingService, providedIn: 'root' });
|
|
55
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxGeocodingService, decorators: [{
|
|
56
|
-
type: Injectable,
|
|
57
|
-
args: [{
|
|
58
|
-
providedIn: 'root'
|
|
59
|
-
}]
|
|
60
|
-
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
61
|
-
|
|
62
|
-
/*
|
|
63
|
-
* Public API Surface of ngx-geocoding
|
|
64
|
-
*/
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Generated bundle index. Do not edit.
|
|
68
|
-
*/
|
|
69
|
-
|
|
70
|
-
export { NgxGeocodingModule, NgxGeocodingService };
|
|
71
|
-
//# sourceMappingURL=geosdi-ngx-geocoding.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
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 ],\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';\nimport {Observable} from 'rxjs';\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\n subjectLocation = new Subject<GeocodingLocation>();\n subjectNoResults = new Subject();\n subjectRemove = new Subject();\n\n constructor(private http: HttpClient) { }\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(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":";;;;;;AAEA;;;AAGG;MAOU,kBAAkB,CAAA;;kIAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;mIAAlB,kBAAkB,EAAA,CAAA,CAAA;mIAAlB,kBAAkB,EAAA,CAAA,CAAA;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAN9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,OAAO,EAAE,EACR;AACD,oBAAA,OAAO,EAAE,EAAE;iBACZ,CAAA;;;ACJD;;;AAGG;MAIU,mBAAmB,CAAA;AAM9B,IAAA,WAAA,CAAoB,IAAgB,EAAA;AAAhB,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAJpC,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,OAAO,EAAqB,CAAC;AACnD,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,OAAO,EAAE,CAAC;AACjC,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,OAAO,EAAE,CAAC;KAEW;AAEzC,IAAA,OAAO,CAAC,OAAe,EAAA;AACrB,QAAA,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,IAAI;AACb,aAAA,GAAG,CACF,CAAA,iDAAA,EAAoD,OAAO,CAAA,cAAA,CAAgB,CAC5E;AACA,aAAA,IAAI,CAAC,GAAG,CAAC,CAAC,GAAQ,KAAI;AACrB,YAAA,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE;AACnB,gBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACjC,aAAA;;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;;mIA3BU,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,mBAAA,mBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFlB,MAAM,EAAA,CAAA,CAAA;2FAEP,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;ACbD;;AAEG;;ACFH;;AAEG;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
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 ],\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';\nimport {Observable} from 'rxjs';\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\n subjectLocation = new Subject<GeocodingLocation>();\n subjectNoResults = new Subject();\n subjectRemove = new Subject();\n\n constructor(private http: HttpClient) { }\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(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":";;;;;;AAEA;;;AAGG;MAOU,kBAAkB,CAAA;;kIAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;mIAAlB,kBAAkB,EAAA,CAAA,CAAA;mIAAlB,kBAAkB,EAAA,CAAA,CAAA;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAN9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,OAAO,EAAE,EACR;AACD,oBAAA,OAAO,EAAE,EAAE;AACZ,iBAAA,CAAA;;;ACJD;;;AAGG;MAIU,mBAAmB,CAAA;AAM9B,IAAA,WAAA,CAAoB,IAAgB,EAAA;QAAhB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAJpC,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,OAAO,EAAqB,CAAC;AACnD,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,OAAO,EAAE,CAAC;AACjC,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,OAAO,EAAE,CAAC;KAEW;AAEzC,IAAA,OAAO,CAAC,OAAe,EAAA;AACrB,QAAA,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,IAAI;AACb,aAAA,GAAG,CACF,CAAA,iDAAA,EAAoD,OAAO,CAAA,cAAA,CAAgB,CAC5E;AACA,aAAA,IAAI,CAAC,GAAG,CAAC,CAAC,GAAQ,KAAI;AACrB,YAAA,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE;AACnB,gBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACjC,aAAA;;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;;mIA3BU,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,mBAAA,mBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFlB,MAAM,EAAA,CAAA,CAAA;2FAEP,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACbD;;AAEG;;ACFH;;AAEG;;;;"}
|
|
File without changes
|
|
File without changes
|