arazsalmasi
6 سال پیش توسط arazsalmasi مطرح شد
4 پاسخ

آپدیت مارکر در مپ

سلام دوستان
من توی react native map مارکر گذاشتم میخوام مثل اسنپ مثلا هر 10 ثانیه موقعیت جدید به مارکر بدم و اون عوض بشه موقعیتش
چطور میتونم این کارو بکنم؟
واقعا به کمکتون احتیاج دارم


ثبت پرسش جدید
علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 6 سال پیش مطرح شد
0

React Native توابع تایمر جاوااسکریپت رو پشتیبانی میکنه..

کدهای مربوط به آپدیت کردن مارکر رو داخل یه تابع قرار بده.
و با استفاده از setInterval() تکرارش کن:

function updateMarker() {
    //  کدهای مربوط به مارکر
}

let Timer = setInterval(updateMarker, 10000);

و برای توقف تکرار هم:

clearInterval(Timer);

arazsalmasi
@araz2salmasi 6 سال پیش مطرح شد
0

این کار رو میکنم . مشکل ایه که توی مپ موقعیت حدید اعمال تمیشه


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 6 سال پیش مطرح شد
0

یه پکیج برای این‌کار ارائه شده, البته من تستش نکردم.

https://www.npmjs.com/package/react-native-timer

مستندات تایمرها در React Native هم بررسی کنید:

https://facebook.github.io/react-native/docs/timers

vahid Mohammadi
@viva.mohammadi 6 سال پیش مطرح شد
0

@araz2salmasi
سلام
من ترجیح می دم به جای استفاده از تایمر و هر ده ثانیه بیام و از اطلاعات realtime استفاده کنم
برای اینکار شما باید با socket.io کار کنید. من توی یکی از پروژهام استفاده کردم و عالی کار میکنه. البته برای اجرای اون باید یک node server رو راه اندازی کنید که نیاز به VPS داره و روی هاست های اشتراکی نمی تونید اینکارو بکنید.
‍پکیجی که توصیه میکنم برای اینکار استفاده کنید پکیج زیر هست:

https://github.com/socketio/socket.io-client

نکته : من با ریداکس هم تلفیق کردم و نتیجه عالی بود. برای ذخیره اطلاعات سمت سرور هم می تونید از redis استفاده کنید

یه راه حل با حاله دیگه هم وجود داره برای اینکار و اون استفاده از push notification هست که می تونید موقعیت شخص رو در payload بزارید و برای شخص دوم ارسال کنید.مزیت اینکار این هست که وقتی اپ تون در background هم هست می تونه هم موقعیت خودش رو ارسال کنه و هم دریافت کنه . که باز اگر از سرویس وان سیگنال استفاده کنید یه سرویس برای ارسال پوش به صورت p2p داره یعنی اینکه شما بدون اینکه بخوای اطلاعات موقعیتی رو به سرورتون بفرستین به شخص مقابلتون می فرستین و این باعث می شه لود سرورتون کاهش قابل ملاحضه ایی داشته باشه.
نکته : وان سیگنال ایران رو تحریم کرده ولی میشه با راه اندازی یک پراکسی سرور و تغییر دادن آدرس سرور وان سیگنال در پکیج وان سیگنال این تحریم رو دور زد. خوشبختانه من خودم تونستم اینکار رو بکنم و قابل انجام هست.(ولی خدایی سخته یخورده و شما باید یه vps در خارج از ایران هم تهیه کنید)

من پکیجی که علی آقا @ali.bayat هم معرفی کردند تست کردم و جواب میده ولی مشکلش اینه که مثال هاش کمه و با ES6 نیست.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام