src/app/ng2-google-place.service.ts
constructor()
|
Private find |
find(address_components: AddressComponent[], query: string, val: string)
|
Returns:
void
|
street_number |
street_number(address_components: AddressComponent[])
|
Returns:
void
|
street |
street(address_components: AddressComponent[])
|
Returns:
void
|
city |
city(address_components: AddressComponent[])
|
Returns:
void
|
state |
state(address_components: AddressComponent[])
|
Returns:
void
|
postal_code |
postal_code(address_components: AddressComponent[])
|
Returns:
void
|
country |
country(address_components: AddressComponent[])
|
Returns:
void
|
administrative_area_level_2 |
administrative_area_level_2(address_components: AddressComponent[])
|
Returns:
void
|
intersection |
intersection(address_components: AddressComponent[])
|
Returns:
void
|
political |
political(address_components: AddressComponent[])
|
Returns:
void
|
administrative_area_level_3 |
administrative_area_level_3(address_components: AddressComponent[])
|
Returns:
void
|
administrative_area_level_4 |
administrative_area_level_4(address_components: AddressComponent[])
|
Returns:
void
|
administrative_area_level_5 |
administrative_area_level_5(address_components: AddressComponent[])
|
Returns:
void
|
colloquial_area |
colloquial_area(address_components: AddressComponent[])
|
Returns:
void
|
ward |
ward(address_components: AddressComponent[])
|
Returns:
void
|
sublocality |
sublocality(address_components: AddressComponent[])
|
Returns:
void
|
sublocality_level_1 |
sublocality_level_1(address_components: AddressComponent[])
|
Returns:
void
|
sublocality_level_2 |
sublocality_level_2(address_components: AddressComponent[])
|
Returns:
void
|
sublocality_level_3 |
sublocality_level_3(address_components: AddressComponent[])
|
Returns:
void
|
sublocality_level_4 |
sublocality_level_4(address_components: AddressComponent[])
|
Returns:
void
|
sublocality_level_5 |
sublocality_level_5(address_components: AddressComponent[])
|
Returns:
void
|
neighborhood |
neighborhood(address_components: AddressComponent[])
|
Returns:
void
|
premise |
premise(address_components: AddressComponent[])
|
Returns:
void
|
subpremise |
subpremise(address_components: AddressComponent[])
|
Returns:
void
|
natural_feature |
natural_feature(address_components: AddressComponent[])
|
Returns:
void
|
airport |
airport(address_components: AddressComponent[])
|
Returns:
void
|
park |
park(address_components: AddressComponent[])
|
Returns:
void
|
point_of_interest |
point_of_interest(address_components: AddressComponent[])
|
Returns:
void
|
floor |
floor(address_components: AddressComponent[])
|
Returns:
void
|
establishment |
establishment(address_components: AddressComponent[])
|
Returns:
void
|
parking |
parking(address_components: AddressComponent[])
|
Returns:
void
|
post_box |
post_box(address_components: AddressComponent[])
|
Returns:
void
|
postal_town |
postal_town(address_components: AddressComponent[])
|
Returns:
void
|
room |
room(address_components: AddressComponent[])
|
Returns:
void
|
bus_station |
bus_station(address_components: AddressComponent[])
|
Returns:
void
|
train_station |
train_station(address_components: AddressComponent[])
|
Returns:
void
|
transit_station |
transit_station(address_components: AddressComponent[])
|
Returns:
void
|
countryIsoCode |
countryIsoCode()
|
Returns:
void
|
TypesOptions |
TypesOptions()
|
Returns:
void
|
import {Injectable} from '@angular/core';
import {AddressComponent} from './ng2-google-place.classes';
@Injectable()
export class GooglePlaceService {
constructor() { }
private find(address_components: Array<AddressComponent>, query: string, val: string = null) {
for (let attr of address_components) {
for (let type of attr.types) {
if (type === query) {
return val ? attr[val] : attr;
}
}
}
return null;
}
street_number(address_components: Array<AddressComponent>) {
return this.find(address_components, 'street_number', 'long_name');
}
street(address_components: Array<AddressComponent>) {
return this.find(address_components, 'route', 'long_name');
}
city(address_components: Array<AddressComponent>) {
return this.find(address_components, 'locality', 'long_name');
}
state(address_components: Array<AddressComponent>) {
return this.find(address_components, 'administrative_area_level_1', 'long_name');
}
postal_code(address_components: Array<AddressComponent>) {
return this.find(address_components, 'postal_code', 'long_name');
}
country(address_components: Array<AddressComponent>) {
return this.find(address_components, 'country', 'long_name');
}
administrative_area_level_2(address_components: Array<AddressComponent>) {
return this.find(address_components, 'administrative_area_level_2', 'long_name');
}
// MORE NOT USED YET /////
intersection(address_components: Array<AddressComponent>) {
return this.find(address_components, 'intersection');
}
political(address_components: Array<AddressComponent>) {
return this.find(address_components, 'political');
}
administrative_area_level_3(address_components: Array<AddressComponent>) {
return this.find(address_components, 'administrative_area_level_3');
}
administrative_area_level_4(address_components: Array<AddressComponent>) {
return this.find(address_components, 'administrative_area_level_4');
}
administrative_area_level_5(address_components: Array<AddressComponent>) {
return this.find(address_components, 'administrative_area_level_5');
}
colloquial_area(address_components: Array<AddressComponent>) {
return this.find(address_components, 'colloquial_area');
}
ward(address_components: Array<AddressComponent>) {
return this.find(address_components, 'ward');
}
sublocality(address_components: Array<AddressComponent>) {
return this.find(address_components, 'sublocality');
}
sublocality_level_1(address_components: Array<AddressComponent>) {
return this.find(address_components, 'sublocality_level_1');
}
sublocality_level_2(address_components: Array<AddressComponent>) {
return this.find(address_components, 'sublocality_level_2');
}
sublocality_level_3(address_components: Array<AddressComponent>) {
return this.find(address_components, 'sublocality_level_3');
}
sublocality_level_4(address_components: Array<AddressComponent>) {
return this.find(address_components, 'sublocality_level_4');
}
sublocality_level_5(address_components: Array<AddressComponent>) {
return this.find(address_components, 'sublocality_level_5');
}
neighborhood(address_components: Array<AddressComponent>) {
return this.find(address_components, 'neighborhood');
}
premise(address_components: Array<AddressComponent>) {
return this.find(address_components, 'premise');
}
subpremise(address_components: Array<AddressComponent>) {
return this.find(address_components, 'subpremise');
}
natural_feature(address_components: Array<AddressComponent>) {
return this.find(address_components, 'natural_feature');
}
airport(address_components: Array<AddressComponent>) {
return this.find(address_components, 'airport');
}
park(address_components: Array<AddressComponent>) {
return this.find(address_components, 'park');
}
point_of_interest(address_components: Array<AddressComponent>) {
return this.find(address_components, 'point_of_interest');
}
floor(address_components: Array<AddressComponent>) {
return this.find(address_components, 'floor');
}
establishment(address_components: Array<AddressComponent>) {
return this.find(address_components, 'establishment');
}
parking(address_components: Array<AddressComponent>) {
return this.find(address_components, 'parking');
}
post_box(address_components: Array<AddressComponent>) {
return this.find(address_components, 'post_box');
}
postal_town(address_components: Array<AddressComponent>) {
return this.find(address_components, 'postal_town');
}
room(address_components: Array<AddressComponent>) {
return this.find(address_components, 'room');
}
bus_station(address_components: Array<AddressComponent>) {
return this.find(address_components, 'bus_station');
}
train_station(address_components: Array<AddressComponent>) {
return this.find(address_components, 'train_station');
}
transit_station(address_components: Array<AddressComponent>) {
return this.find(address_components, 'transit_station');
}
/// return list ISO 3166-1 Alpha-2 country code
countryIsoCode() {
return [
{
Name: 'Afghanistan',
Code: 'AF'
},
{
Name: 'Åland Islands',
Code: 'AX'
},
{
Name: 'Albania',
Code: 'AL'
},
{
Name: 'Algeria',
Code: 'DZ'
},
{
Name: 'American Samoa',
Code: 'AS'
},
{
Name: 'Andorra',
Code: 'AD'
},
{
Name: 'Angola',
Code: 'AO'
},
{
Name: 'Anguilla',
Code: 'AI'
},
{
Name: 'Antarctica',
Code: 'AQ'
},
{
Name: 'Antigua and Barbuda',
Code: 'AG'
},
{
Name: 'Argentina',
Code: 'AR'
},
{
Name: 'Armenia',
Code: 'AM'
},
{
Name: 'Aruba',
Code: 'AW'
},
{
Name: 'Australia',
Code: 'AU'
},
{
Name: 'Austria',
Code: 'AT'
},
{
Name: 'Azerbaijan',
Code: 'AZ'
},
{
Name: 'Bahamas',
Code: 'BS'
},
{
Name: 'Bahrain',
Code: 'BH'
},
{
Name: 'Bangladesh',
Code: 'BD'
},
{
Name: 'Barbados',
Code: 'BB'
},
{
Name: 'Belarus',
Code: 'BY'
},
{
Name: 'Belgium',
Code: 'BE'
},
{
Name: 'Belize',
Code: 'BZ'
},
{
Name: 'Benin',
Code: 'BJ'
},
{
Name: 'Bermuda',
Code: 'BM'
},
{
Name: 'Bhutan',
Code: 'BT'
},
{
Name: 'Bolivia, Plurinational State of',
Code: 'BO'
},
{
Name: 'Bonaire, Sint Eustatius and Saba',
Code: 'BQ'
},
{
Name: 'Bosnia and Herzegovina',
Code: 'BA'
},
{
Name: 'Botswana',
Code: 'BW'
},
{
Name: 'Bouvet Island',
Code: 'BV'
},
{
Name: 'Brazil',
Code: 'BR'
},
{
Name: 'British Indian Ocean Territory',
Code: 'IO'
},
{
Name: 'Brunei Darussalam',
Code: 'BN'
},
{
Name: 'Bulgaria',
Code: 'BG'
},
{
Name: 'Burkina Faso',
Code: 'BF'
},
{
Name: 'Burundi',
Code: 'BI'
},
{
Name: 'Cambodia',
Code: 'KH'
},
{
Name: 'Cameroon',
Code: 'CM'
},
{
Name: 'Canada',
Code: 'CA'
},
{
Name: 'Cape Verde',
Code: 'CV'
},
{
Name: 'Cayman Islands',
Code: 'KY'
},
{
Name: 'Central African Republic',
Code: 'CF'
},
{
Name: 'Chad',
Code: 'TD'
},
{
Name: 'Chile',
Code: 'CL'
},
{
Name: 'China',
Code: 'CN'
},
{
Name: 'Christmas Island',
Code: 'CX'
},
{
Name: 'Cocos (Keeling) Islands',
Code: 'CC'
},
{
Name: 'Colombia',
Code: 'CO'
},
{
Name: 'Comoros',
Code: 'KM'
},
{
Name: 'Congo',
Code: 'CG'
},
{
Name: 'Congo, the Democratic Republic of the',
Code: 'CD'
},
{
Name: 'Cook Islands',
Code: 'CK'
},
{
Name: 'Costa Rica',
Code: 'CR'
},
{
Name: 'Côte d\'Ivoire',
Code: 'CI'
},
{
Name: 'Croatia',
Code: 'HR'
},
{
Name: 'Cuba',
Code: 'CU'
},
{
Name: 'Curaçao',
Code: 'CW'
},
{
Name: 'Cyprus',
Code: 'CY'
},
{
Name: 'Czech Republic',
Code: 'CZ'
},
{
Name: 'Denmark',
Code: 'DK'
},
{
Name: 'Djibouti',
Code: 'DJ'
},
{
Name: 'Dominica',
Code: 'DM'
},
{
Name: 'Dominican Republic',
Code: 'DO'
},
{
Name: 'Ecuador',
Code: 'EC'
},
{
Name: 'Egypt',
Code: 'EG'
},
{
Name: 'El Salvador',
Code: 'SV'
},
{
Name: 'Equatorial Guinea',
Code: 'GQ'
},
{
Name: 'Eritrea',
Code: 'ER'
},
{
Name: 'Estonia',
Code: 'EE'
},
{
Name: 'Ethiopia',
Code: 'ET'
},
{
Name: 'Falkland Islands (Malvinas)',
Code: 'FK'
},
{
Name: 'Faroe Islands',
Code: 'FO'
},
{
Name: 'Fiji',
Code: 'FJ'
},
{
Name: 'Finland',
Code: 'FI'
},
{
Name: 'France',
Code: 'FR'
},
{
Name: 'French Guiana',
Code: 'GF'
},
{
Name: 'French Polynesia',
Code: 'PF'
},
{
Name: 'French Southern Territories',
Code: 'TF'
},
{
Name: 'Gabon',
Code: 'GA'
},
{
Name: 'Gambia',
Code: 'GM'
},
{
Name: 'Georgia',
Code: 'GE'
},
{
Name: 'Germany',
Code: 'DE'
},
{
Name: 'Ghana',
Code: 'GH'
},
{
Name: 'Gibraltar',
Code: 'GI'
},
{
Name: 'Greece',
Code: 'GR'
},
{
Name: 'Greenland',
Code: 'GL'
},
{
Name: 'Grenada',
Code: 'GD'
},
{
Name: 'Guadeloupe',
Code: 'GP'
},
{
Name: 'Guam',
Code: 'GU'
},
{
Name: 'Guatemala',
Code: 'GT'
},
{
Name: 'Guernsey',
Code: 'GG'
},
{
Name: 'Guinea',
Code: 'GN'
},
{
Name: 'Guinea-Bissau',
Code: 'GW'
},
{
Name: 'Guyana',
Code: 'GY'
},
{
Name: 'Haiti',
Code: 'HT'
},
{
Name: 'Heard Island and McDonald Islands',
Code: 'HM'
},
{
Name: 'Holy See (Vatican City State)',
Code: 'VA'
},
{
Name: 'Honduras',
Code: 'HN'
},
{
Name: 'Hong Kong',
Code: 'HK'
},
{
Name: 'Hungary',
Code: 'HU'
},
{
Name: 'Iceland',
Code: 'IS'
},
{
Name: 'India',
Code: 'IN'
},
{
Name: 'Indonesia',
Code: 'ID'
},
{
Name: 'Iran, Islamic Republic of',
Code: 'IR'
},
{
Name: 'Iraq',
Code: 'IQ'
},
{
Name: 'Ireland',
Code: 'IE'
},
{
Name: 'Isle of Man',
Code: 'IM'
},
{
Name: 'Israel',
Code: 'IL'
},
{
Name: 'Italy',
Code: 'IT'
},
{
Name: 'Jamaica',
Code: 'JM'
},
{
Name: 'Japan',
Code: 'JP'
},
{
Name: 'Jersey',
Code: 'JE'
},
{
Name: 'Jordan',
Code: 'JO'
},
{
Name: 'Kazakhstan',
Code: 'KZ'
},
{
Name: 'Kenya',
Code: 'KE'
},
{
Name: 'Kiribati',
Code: 'KI'
},
{
Name: 'Korea, Democratic People\'s Republic of',
Code: 'KP'
},
{
Name: 'Korea, Republic of',
Code: 'KR'
},
{
Name: 'Kuwait',
Code: 'KW'
},
{
Name: 'Kyrgyzstan',
Code: 'KG'
},
{
Name: 'Lao People\'s Democratic Republic',
Code: 'LA'
},
{
Name: 'Latvia',
Code: 'LV'
},
{
Name: 'Lebanon',
Code: 'LB'
},
{
Name: 'Lesotho',
Code: 'LS'
},
{
Name: 'Liberia',
Code: 'LR'
},
{
Name: 'Libya',
Code: 'LY'
},
{
Name: 'Liechtenstein',
Code: 'LI'
},
{
Name: 'Lithuania',
Code: 'LT'
},
{
Name: 'Luxembourg',
Code: 'LU'
},
{
Name: 'Macao',
Code: 'MO'
},
{
Name: 'Macedonia, the Former Yugoslav Republic of',
Code: 'MK'
},
{
Name: 'Madagascar',
Code: 'MG'
},
{
Name: 'Malawi',
Code: 'MW'
},
{
Name: 'Malaysia',
Code: 'MY'
},
{
Name: 'Maldives',
Code: 'MV'
},
{
Name: 'Mali',
Code: 'ML'
},
{
Name: 'Malta',
Code: 'MT'
},
{
Name: 'Marshall Islands',
Code: 'MH'
},
{
Name: 'Martinique',
Code: 'MQ'
},
{
Name: 'Mauritania',
Code: 'MR'
},
{
Name: 'Mauritius',
Code: 'MU'
},
{
Name: 'Mayotte',
Code: 'YT'
},
{
Name: 'Mexico',
Code: 'MX'
},
{
Name: 'Micronesia, Federated States of',
Code: 'FM'
},
{
Name: 'Moldova, Republic of',
Code: 'MD'
},
{
Name: 'Monaco',
Code: 'MC'
},
{
Name: 'Mongolia',
Code: 'MN'
},
{
Name: 'Montenegro',
Code: 'ME'
},
{
Name: 'Montserrat',
Code: 'MS'
},
{
Name: 'Morocco',
Code: 'MA'
},
{
Name: 'Mozambique',
Code: 'MZ'
},
{
Name: 'Myanmar',
Code: 'MM'
},
{
Name: 'Namibia',
Code: 'NA'
},
{
Name: 'Nauru',
Code: 'NR'
},
{
Name: 'Nepal',
Code: 'NP'
},
{
Name: 'Netherlands',
Code: 'NL'
},
{
Name: 'New Caledonia',
Code: 'NC'
},
{
Name: 'New Zealand',
Code: 'NZ'
},
{
Name: 'Nicaragua',
Code: 'NI'
},
{
Name: 'Niger',
Code: 'NE'
},
{
Name: 'Nigeria',
Code: 'NG'
},
{
Name: 'Niue',
Code: 'NU'
},
{
Name: 'Norfolk Island',
Code: 'NF'
},
{
Name: 'Northern Mariana Islands',
Code: 'MP'
},
{
Name: 'Norway',
Code: 'NO'
},
{
Name: 'Oman',
Code: 'OM'
},
{
Name: 'Pakistan',
Code: 'PK'
},
{
Name: 'Palau',
Code: 'PW'
},
{
Name: 'Palestine, State of',
Code: 'PS'
},
{
Name: 'Panama',
Code: 'PA'
},
{
Name: 'Papua New Guinea',
Code: 'PG'
},
{
Name: 'Paraguay',
Code: 'PY'
},
{
Name: 'Peru',
Code: 'PE'
},
{
Name: 'Philippines',
Code: 'PH'
},
{
Name: 'Pitcairn',
Code: 'PN'
},
{
Name: 'Poland',
Code: 'PL'
},
{
Name: 'Portugal',
Code: 'PT'
},
{
Name: 'Puerto Rico',
Code: 'PR'
},
{
Name: 'Qatar',
Code: 'QA'
},
{
Name: 'Réunion',
Code: 'RE'
},
{
Name: 'Romania',
Code: 'RO'
},
{
Name: 'Russian Federation',
Code: 'RU'
},
{
Name: 'Rwanda',
Code: 'RW'
},
{
Name: 'Saint Barthélemy',
Code: 'BL'
},
{
Name: 'Saint Helena, Ascension and Tristan da Cunha',
Code: 'SH'
},
{
Name: 'Saint Kitts and Nevis',
Code: 'KN'
},
{
Name: 'Saint Lucia',
Code: 'LC'
},
{
Name: 'Saint Martin (French part)',
Code: 'MF'
},
{
Name: 'Saint Pierre and Miquelon',
Code: 'PM'
},
{
Name: 'Saint Vincent and the Grenadines',
Code: 'VC'
},
{
Name: 'Samoa',
Code: 'WS'
},
{
Name: 'San Marino',
Code: 'SM'
},
{
Name: 'Sao Tome and Principe',
Code: 'ST'
},
{
Name: 'Saudi Arabia',
Code: 'SA'
},
{
Name: 'Senegal',
Code: 'SN'
},
{
Name: 'Serbia',
Code: 'RS'
},
{
Name: 'Seychelles',
Code: 'SC'
},
{
Name: 'Sierra Leone',
Code: 'SL'
},
{
Name: 'Singapore',
Code: 'SG'
},
{
Name: 'Sint Maarten (Dutch part)',
Code: 'SX'
},
{
Name: 'Slovakia',
Code: 'SK'
},
{
Name: 'Slovenia',
Code: 'SI'
},
{
Name: 'Solomon Islands',
Code: 'SB'
},
{
Name: 'Somalia',
Code: 'SO'
},
{
Name: 'South Africa',
Code: 'ZA'
},
{
Name: 'South Georgia and the South Sandwich Islands',
Code: 'GS'
},
{
Name: 'South Sudan',
Code: 'SS'
},
{
Name: 'Spain',
Code: 'ES'
},
{
Name: 'Sri Lanka',
Code: 'LK'
},
{
Name: 'Sudan',
Code: 'SD'
},
{
Name: 'Suriname',
Code: 'SR'
},
{
Name: 'Svalbard and Jan Mayen',
Code: 'SJ'
},
{
Name: 'Swaziland',
Code: 'SZ'
},
{
Name: 'Sweden',
Code: 'SE'
},
{
Name: 'Switzerland',
Code: 'CH'
},
{
Name: 'Syrian Arab Republic',
Code: 'SY'
},
{
Name: 'Taiwan, Province of China',
Code: 'TW'
},
{
Name: 'Tajikistan',
Code: 'TJ'
},
{
Name: 'Tanzania, United Republic of',
Code: 'TZ'
},
{
Name: 'Thailand',
Code: 'TH'
},
{
Name: 'Timor-Leste',
Code: 'TL'
},
{
Name: 'Togo',
Code: 'TG'
},
{
Name: 'Tokelau',
Code: 'TK'
},
{
Name: 'Tonga',
Code: 'TO'
},
{
Name: 'Trinidad and Tobago',
Code: 'TT'
},
{
Name: 'Tunisia',
Code: 'TN'
},
{
Name: 'Turkey',
Code: 'TR'
},
{
Name: 'Turkmenistan',
Code: 'TM'
},
{
Name: 'Turks and Caicos Islands',
Code: 'TC'
},
{
Name: 'Tuvalu',
Code: 'TV'
},
{
Name: 'Uganda',
Code: 'UG'
},
{
Name: 'Ukraine',
Code: 'UA'
},
{
Name: 'United Arab Emirates',
Code: 'AE'
},
{
Name: 'United Kingdom',
Code: 'GB'
},
{
Name: 'United States',
Code: 'US'
},
{
Name: 'United States Minor Outlying Islands',
Code: 'UM'
},
{
Name: 'Uruguay',
Code: 'UY'
},
{
Name: 'Uzbekistan',
Code: 'UZ'
},
{
Name: 'Vanuatu',
Code: 'VU'
},
{
Name: 'Venezuela, Bolivarian Republic of',
Code: 'VE'
},
{
Name: 'Viet Nam',
Code: 'VN'
},
{
Name: 'Virgin Islands, British',
Code: 'VG'
},
{
Name: 'Virgin Islands, U.S.',
Code: 'VI'
},
{
Name: 'Wallis and Futuna',
Code: 'WF'
},
{
Name: 'Western Sahara',
Code: 'EH'
},
{
Name: 'Yemen',
Code: 'YE'
},
{
Name: 'Zambia',
Code: 'ZM'
},
{
Name: 'Zimbabwe',
Code: 'ZW'
}
];
}
// Types options
TypesOptions() {
return [
'(cities)',
'(regions)',
'country',
'postal_code',
'sublocality',
'establishment',
'address',
'geocode'
];
}
}