@aass יצרתי לך מפה מסוננת שכוללת רק את הכבישים עצמם - בלי בניינים וכו'
מצורף - שוקל יחד 45 מ"ב. במקום 118 מ"ב!
מקווה שזה עובד טוב.
תחלץ את שניהם יחד - זה קובץ מפוצל.
moovitus-all-roads-map.osm.part1.rar
moovitus-all-roads-map.osm.part2.rar
אני מנסה כעת להקטין את זה יותר.
אגב האלגוריתם עצמו - זה הקובץ הזה:
הראשון זה הקוד שקובע חוקים לגבי מרחקים - כמה זמן ומאמץ הן לוקחים בהליכה.
routing.xml
השני זה האלגוריתם עצמו:
CMakeLists.txt
אגב, עיין בספויילר - זה חשוב!
Spoiler
חשוב שתדע שלשלוף רק את אלגוריתם הניווט מתוך הקוד של OsmAnd ולהכניס אותו לאפליקציה שלך זו משימה כמעט בלתי אפשרית. הקוד שלהם מסובך מאוד ותלוי בפורמט מפות סגור משלהם שנקרא OBF.
אם אתה רוצה להכניס מנוע חישוב זמנים לאפליקציה שלך בצורה חלקה, רוב המפתחים משתמשים בספריות קוד פתוח ייעודיות לניווט שנועדו בדיוק לזה – לקרוא את קובץ ה-PBF המוקטן שיצרנו קודם ולחשב מסלול.
הנה השתיים המובילות והמומלצות ביותר לתחום הזה:
GraphHopper: ספרייה חזקה מאוד, מבוססת Java, שקלה מאוד להטמעה באפליקציות אנדרואיד ומעולה לניווט אופליין רגלי.
BRouter: מנוע קליל שנוצר ספציפית לניווט אופליין להולכי רגל ורוכבי אופניים (יחסוך לך המון משקל באפליקציה).
באיזו סביבת פיתוח או שפת תכנות (למשל Android Studio/Java, Flutter, או React Native) אתה כותב את האפליקציה שלך?
בהצלחה!
אשמח לשמוע שעזרתי במשהו.