wft-geodb-angular-client v6.0.2
GeoDB Angular Client
This library provides Angular client bindings to the GeoDB service.
Setup
cd
into your Angular project root.npm install wft-geodb-angular-client@latest --save
If using the FREE instance, update your SampleAppModule.ts
as follows:
@NgModule({
declarations: [
...
],
imports: [
...
GeoDbFreeModule.forRoot({
apiKey: null,
serviceUri: http://geodb-free-service.wirefreethought.com
})
],
bootstrap: [AppComponent]
})
export class SampleAppModule { }
Otherwise, if using the PRO instance:
- Create an account on RapidAPI. As part of account creation, Rapid asks for credit-card info. As long as you stay within the free usage limits of the Basic plan, your credit card will not be charged.
- Select a GeoDB plan.
- Update your
SampleAppModule.ts
as follows:@NgModule({ declarations: [ ... ], imports: [ ... GeoDbProModule.forRoot({ apiKey: YOUR_RAPID-API_KEY, serviceUri: https://wft-geo-db.p.rapidapi.com }) ], bootstrap: [AppComponent] }) export class SampleAppModule { }
Usage
In your Typescript class:
constructor(private geoDbService: DummyService) { }
Later on, in some method:
this.geoDbService.someMethod({
someRequestParam: value,
someOtherRequestParam: value,
...
})
.subscribe(
(response: GeoResponse<TheResponsePayloadType>) => {
// Do your thing!
}
)
Cookbook
Find all cities in the US starting with San and having a minimum population of 100,000 (first 10 results):
this.geoDbService.findPlaces({
namePrefix: "San",
countryIds: ["US"],
minPopulation: 100000,
types: ["CITY"],
limit: 10,
offset: 0
})
.subscribe(
(response: GeoResponse<PlaceSummary[]>) => {
const totalCount = response.metadata.totalCount;
let data: PlaceSummary[] = response.data;
// Do your thing!
}
);
Find all cities and towns in the Los Angeles area and having a minimum population of 50,000 - sorting by population, descending (first 10 results):
this.geoDbService.findPlaceById("Q65")
.subscribe(
(placeByIdResponse: GeoResponse<PlaceDetails> => {
const placeLocation: GeoLocation = placeByIdResponse.data.location;
this.geoDbService.findPlacesNearLocation({
location: {
latitude: cityLocation.latitude,
longitude: cityLocation.longitude,
radius: 50,
radiusUnit: "MI"
},
minPopulation: 50000,
types: ["CITY"],
sortDirectives: [
"-population"
],
limit: 10,
offset: 0
})
.subscribe(
(citiesNearLocationResponse: GeoResponse<PlaceSummary[]>) => {
const totalCount = citiesNearLocationResponse.metadata.totalCount;
let data: PlaceSummary[] = citiesNearLocationResponse.data;
// Do your thing!
}
);
}
);
Find all cities in California having a minimum population of 100,000 - sorting by population, ascending (first 10 results):
this.geoDbService.findRegionPlaces({
countryId: "US",
regionCode: "CA",
minPopulation: 100000,
types: ["CITY"],
sortDirectives: [
"population"
],
limit: 10,
offset: 0
})
.subscribe(
(response: GeoResponse<PlaceSummary[]>) => {
const totalCount = response.metadata.totalCount;
let data: PlaceSummary[] = response.data;
// Do your thing!
}
);
Find all cities in the Los Angeles and New York time-zones - sorting by elevation, ascending, then population, descending (first 10 results):
this.geoDbService.findPlaces({
timeZoneIds: [
"America__Los_Angeles, America__New_York"
],
ypes: ["CITY"],
sortDirectives: [
"elevation",
"-population"
],
limit: 10,
offset: 0
})
.subscribe(
(response: GeoResponse<PlaceSummary[]>) => {
const totalCount = response.metadata.totalCount;
let data: PlaceSummary[] = response.data;
// Do your thing!
}
);
See the sample app for more detailed examples.
API Docs
For detailed REST docs, go here.
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago