Преди това ми мина през ума, загубих половин ден в търсене на плъгин, който ПРОСТО да работи без никакви допълнителни трикове, за да продължа пътуването си, но не го направих, затова създадох този плъгин и го наричам „Приставка за NativeScript, която работи ”, шегувайки се, наричам го „nativescript-google-places-autocomplete”.
В текущото приложение, върху което работя с клиент, ние просто искаме да покажем автоматично довършване на въведено търсене, със списък с прогнози за места, така че опитах някои плъгини и някакъв ванилен Javascript код (не е добър за поддръжка на кода), но не, аз избера да създам свой собствен плъгин и да го споделя с общността.
За да започна, имам нужда от kickstart проект или файлови структури, никога не стартирам проект с обикновени файлове, отне време за изпълнение на съществената нужда, така че намерих начален проект (че допринесох за него
) в акаунта на Nativescript GitHub: https://github.com/NativeScript/nativescript-plugin-seed
След това създадох свой собствен API ключ и започнах да прилагам свои собствени неща.
Така че ще работим върху някои от тези файлове, всички файлове се генерират от семената, с изключение на този
google-places-autocomplete.static.ts
Този файл съдържа статична променлива, за да поддържа структурата и кода чисти.
Ok,
google-places-autocomplete.android.ts
google-places-autocomplete.common.ts
google-places-autocomplete.ios.ts
когато имаме обща функционалност между iOS и Android, поставяме: google-places-autocomplete.common.ts,в противен случай внедряваме всеки файл според нуждите на платформата.
google-places-autocomplete.android.ts
google-places-autocomplete.common.d.ts
google-places-autocomplete.ios.d.ts
Тези файлове се генерират автоматично с Typescript и съдържат типовете и дефинициите на TS файловете.
Така че цялата работа ще бъде върху файла google-places-autocomplete.common.ts, защото ще използваме модулите Nativescript, които поддържат и двете платформи, и ето нашия файл.
Първо, нека импортирамемодула, който ще използваме
Плъгинът прави две неща, търси места от заявка и показва подробности за място от идентификатор на място.
В тези две функции направихме две прости заявки (използвайки HTTP модул от nativescript) към API на google places
Ето крайния продукт и за да научите повече за модула или да проверите за демонстрация, отидете на тази връзка: https://github.com/labidiaymen/nativescript-google-places-autocomplete
Този пакет се хоства на npmjs.com
https://www.npmjs.com/package/nativescript-google-places-autocomplete
Надявам се да помогне, благодаря