nativescript-google-places-autocomplete-last-version
Version:
A NativeScript plugin that works.
65 lines • 2.54 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var google_places_autocomplete_static_1 = require("./google-places-autocomplete.static");
var axios_1 = require("axios");
var Common = (function () {
function Common(key) {
this.key = key;
this.apikey = key;
}
Common.prototype.search = function (terms, countryISO, types) {
if (countryISO === void 0) { countryISO = ''; }
if (types === void 0) { types = 'geocode'; }
var requestUrl = google_places_autocomplete_static_1.PLACES_API_URL +
'?input=' +
encodeURIComponent(terms.trim()) +
(countryISO ? '&components=country:' + countryISO : '') +
'&types=' +
types +
'&key=' +
this.apikey;
return axios_1.default.get(requestUrl).then(function (_a) {
var data = _a.data;
var items = [];
for (var i = 0; i < data.predictions.length; i++) {
items.push({
description: data.predictions[i].description,
placeId: data.predictions[i].place_id,
data: data.predictions[i],
});
}
return items;
});
};
Common.prototype.getPlaceById = function (placeId) {
var requestUrl = google_places_autocomplete_static_1.PLACES_DETAILS_API_URL_places +
'?placeid=' +
placeId +
'&key=' +
this.apikey;
return axios_1.default.get(requestUrl).then(function (_a) {
var data = _a.data;
var place = {};
place.latitude = data.result.geometry.location.lat;
place.longitude = data.result.geometry.location.lng;
place.name = data.result.name;
place.phoneNumber = data.result.international_phone_number;
place.formattedAddress = data.result.formatted_address;
place.data = data;
if (data.result.photos && data.result.photos.length > 0) {
place.photoReference = data.result.photos[0].photo_reference;
}
return place;
});
};
Common.prototype.handleErrors = function (response) {
if (!response.result) {
console.log('google-geocoder error');
console.log(JSON.stringify(response));
}
return response;
};
return Common;
}());
exports.Common = Common;
//# sourceMappingURL=google-places-autocomplete.common.js.map