سلام دوستان
من توی react native map مارکر گذاشتم میخوام مثل اسنپ مثلا هر 10 ثانیه موقعیت جدید به مارکر بدم و اون عوض بشه موقعیتش
چطور میتونم این کارو بکنم؟
واقعا به کمکتون احتیاج دارم
React Native توابع تایمر جاوااسکریپت رو پشتیبانی میکنه..
کدهای مربوط به آپدیت کردن مارکر رو داخل یه تابع قرار بده.
و با استفاده از setInterval() تکرارش کن:
function updateMarker() {
// کدهای مربوط به مارکر
}
let Timer = setInterval(updateMarker, 10000);
و برای توقف تکرار هم:
clearInterval(Timer);
یه پکیج برای اینکار ارائه شده, البته من تستش نکردم.
https://www.npmjs.com/package/react-native-timer
مستندات تایمرها در React Native هم بررسی کنید:
https://facebook.github.io/react-native/docs/timers
@araz2salmasi
سلام
من ترجیح می دم به جای استفاده از تایمر و هر ده ثانیه بیام و از اطلاعات realtime استفاده کنم
برای اینکار شما باید با socket.io کار کنید. من توی یکی از پروژهام استفاده کردم و عالی کار میکنه. البته برای اجرای اون باید یک node server رو راه اندازی کنید که نیاز به VPS داره و روی هاست های اشتراکی نمی تونید اینکارو بکنید.
پکیجی که توصیه میکنم برای اینکار استفاده کنید پکیج زیر هست:
https://github.com/socketio/socket.io-client
نکته : من با ریداکس هم تلفیق کردم و نتیجه عالی بود. برای ذخیره اطلاعات سمت سرور هم می تونید از redis استفاده کنید
یه راه حل با حاله دیگه هم وجود داره برای اینکار و اون استفاده از push notification هست که می تونید موقعیت شخص رو در payload بزارید و برای شخص دوم ارسال کنید.مزیت اینکار این هست که وقتی اپ تون در background هم هست می تونه هم موقعیت خودش رو ارسال کنه و هم دریافت کنه . که باز اگر از سرویس وان سیگنال استفاده کنید یه سرویس برای ارسال پوش به صورت p2p داره یعنی اینکه شما بدون اینکه بخوای اطلاعات موقعیتی رو به سرورتون بفرستین به شخص مقابلتون می فرستین و این باعث می شه لود سرورتون کاهش قابل ملاحضه ایی داشته باشه.
نکته : وان سیگنال ایران رو تحریم کرده ولی میشه با راه اندازی یک پراکسی سرور و تغییر دادن آدرس سرور وان سیگنال در پکیج وان سیگنال این تحریم رو دور زد. خوشبختانه من خودم تونستم اینکار رو بکنم و قابل انجام هست.(ولی خدایی سخته یخورده و شما باید یه vps در خارج از ایران هم تهیه کنید)
من پکیجی که علی آقا @ali.bayat هم معرفی کردند تست کردم و جواب میده ولی مشکلش اینه که مثال هاش کمه و با ES6 نیست.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟