ទំព័រដើម/មគ្គុទេសក៍/អ្នកអភិវឌ្ឍន៍
អ្នកអភិវឌ្ឍន៍

ភាពមានស្រាប់នៃកង់នៅពេលវេលាពិតប្រាកដ៖ របៀបបង្ហាញវាក្នុងកម្មវិធី?

បង្ហាញភាពមានស្រាប់នៃកង់ជាមួយ API ROOTE៖ ពេលវេលាផ្លាស់ប្តូរ ភាពថ្មី តម្លៃមិនស្គាល់ ការត្រួតពិនិត្យឡើងវិញ និងទិន្នន័យអស់កំណត់ក្នុងកម្មវិធីរបស់អ្នក។

By ROOTE·7 នាទីអាន
ភាពមានស្រាប់នៃកង់នៅពេលវេលាពិតប្រាកដ៖ របៀបបង្ហាញវាក្នុងកម្មវិធី?
ភាពមានស្រាប់ ត្រូវបានសង្កេត និងមូលដ្ឋាន context របស់វា។

ព័ត៌មានសំខាន់ក្នុងរយៈពេលប៉ុន្មានវិនាទី

បង្ហាញបរិមាណដែលមានស្រាប់ ជាមួយស្ថានភាពភាពថ្មី រូបមន្តពេលវេលា និងលក្ខខណ្ឌសម្រាប់យកកង់។ តម្លៃមិនស្គាល់នៅតែមិនស្គាល់ ហើយការសង្កេតចាស់មិនក្លាយជាពេលវេលាពិតប្រាកដ ពីព្រោះកម្មវិធីរបស់អ្នកទើបទទួលបានវា។

ដើម្បីបង្ហាញភាពមានស្រាប់នៃកង់នៅពេលវេលាពិតប្រាកដក្នុងកម្មវិធី មិនត្រូវភ្ជាប់បរិមាណដែលត្រូវបានបញ្ចូនជាមួយភាពថ្មី និងលក្ខខណ្ឌសម្រាប់យកកង់។ ការសង្កេតប្រាប់អំពីអ្វីដែលប្រភពបានដឹងក្នុងពេលវេលាមួយ; វាមិនធានាថាកង់មួយនឹងនៅមាននៅពេលអ្នកមកដល់។

កិច្ចសន្យាចលនាគឺបំបែកផ្ទះចតកង់ រថយន្តឯកជន និងស្ថានភាពរបស់ពួកវា។ មុខងារត្រូវបកប្រែភាពខុសគ្នាទាំងនេះដោយមិនបំភាន់ចន្លោះតម្លៃមិនស្គាល់ ផ្ទះចតដែលទទេ និងប្រភពដែលមិនអាចប្រើបានជាបណ្តោះអាសន្ន។

បំបែកផ្ទះចតពីរថយន្តឯកជន

ផ្ទះចតអាចបង្ហាញរាប់កង់ និងចំនួនកន្លែងត្រឡប់វិញបាន។ រថយន្តឯកជនមានស្ថានភាពភាពមានស្រាប់ និងព័ត៌មានផ្សេងៗទៀត។ ជៀសវាងរាប់ផ្ទះចតថាជាកង់ ឬបូកបន្ថែមរាប់ចំនួនដែលបង្ហាញទៅលើសារពើភណ្ឌដូចគ្នា។

ក្នុង DTO ចលនារបស់ ROOTE, availability.bikes និង availability.docks អាចមិនស្គាល់។ វាល propulsion ឬ battery ត្រូវបង្ហាញតែពេលវាមាន ហើយផ្ទាត់មើលតាមកិច្ចសន្យា។

កិច្ចសន្យា OpenAPI របស់ ROOTE

អានភាពថ្មី និងពេលវេលាផ្លាស់ប្តូរ

វាលការបកប្រែ
freshness.stateស្ថានភាពដែលបានប្រកាស៖ fresh, stale, unknown ឬ static
freshness.source_updated_atកាលបរិច្ឆេទនៃការអាប់ដេតប្រភព ប្រសិនបើស្គាល់
freshness.received_atកាលបរិច្ឆេទទទួលដែលបង្ហាញដោយកិច្ចសន្យា
freshness.expires_atថ្ងៃផុតកំណត់ត្រឹមត្រូវ បើស្គាល់
availability.bikesបរិមាណដែលស្គាល់ ឬតម្លៃមិនស្គាល់
pickup.enabled និង pickup.stateព័ត៌មានអំពីការយកកង់នៅផ្ទះចត

ម៉ោងដែលអ្នកហៅមិនមែនម៉ោងតាមការសង្កេតទេ។ លទ្ធផលដែលទទួលនៅម៉ោង 10 ពេលអាចមានប្រភពបានត្រូវបានបន្ទាន់សម័យនៅម៉ោង 9:45។ កុំបង្ហាញ "ត្រូវបានបន្ទាន់សម័យឥឡូវនេះ" ដោយផ្អែកលើម៉ោងទទួលពីផ្ទៃមុខរបស់អ្នកតែប៉ុណ្ណោះ។

រៀបចំស្ថានភាពបង្ហាញខុសគ្នា

ទិន្នន័យបានទទួលការបង្ហាញដែលត្រូវរៀបចំ
បរិមាណស្គាល់ និងទិន្នន័យថ្មីបរិមាណដែលបានសង្កេត និងបង្ហាញពេលវេលា
បរិមាណស្មើសូន្យគ្មានកង់ដែលត្រូវបានសង្កេតទេ ជាមួយ context ពេលវេលា
បរិមាណ nullភាពមានស្រាប់មិនស្គាល់
ស្ថានភាព stale ឬផុតកំណត់ទិន្នន័យចាស់; សូមផ្តល់ជំនួយក្នុងការផ្លាស់ប្តូរ
pickup.enabled=falseមិនអាចយកកង់បាន ទោះបីជានៅមានរាប់វិជ្ជមានក៏ដោយ
កំហុសស្វែងរកភាពមានស្រាប់មិនអាចប្រើបានបណ្តោះអាសន្ន ដោយមិនបម្លែងទៅសូន្យ

កុំចាត់ថាស្ថានភាព unknown ឬ static ជាថ្មី។ ព័ត៌មានផ្ទះចតអាចមានស្ថេរភាព ពោលគឺរាប់កង់អាចរហ័សរំលង។ រក្សាការជូនដំណឹង និងតម្រូវការដែលបានទាមទារដោយចម្លើយ។

ឧទាហរណ៍នៃការធ្វើឲ្យមានទ្រង់ទ្រាយស្រួល មុននឹងបង្ហាញ

មុខងារខាងក្រោមបង្កើតស្ថានភាពបង្ហាញពីផ្ទះចតដែលបានផ្ទៀងផ្ទាត់ដោយគំរូ ROOTE។ វាមិនមែនជាប្រភពផ្ទៀងផ្ទាត់ចម្លើយពេញលេញទេ។ អត្ថន័យដែលបង្ហាញត្រូវបានយកពីសោរ​ចំណាត់ថ្នាក់បំភ្លឺរបស់ផ្ទៃមុខរបស់អ្នក។

function availabilityView(station, now = Date.now()) {
  const freshness = station.freshness;
  const expiresAt = freshness.expires_at
    ? Date.parse(freshness.expires_at) : null;
  const expired = expiresAt !== null &&
    Number.isFinite(expiresAt) && expiresAt <= now;
  if (station.pickup.enabled === false ||
      station.pickup.state === 'unavailable_now') {
    return { state: 'pickup_unavailable', count: null };
  }
  if (expired || freshness.state === 'stale') {
    return { state: 'stale', count: null };
  }
  const count = station.availability.bikes;
  if (freshness.state !== 'fresh' || count === null ||
      !Number.isFinite(count) || count < 0) {
    return { state: 'unknown', count: null };
  }
  return {
    state: count === 0 ? 'empty' : 'observed', count,
    sourceUpdatedAt: freshness.source_updated_at,
    receivedAt: freshness.received_at,
    pickupState: station.pickup.state
  };
}

ទោះបីមានស្ថានភាព observed ក៏ដោយ កុំបំលែង pickupState=unknown ទៅជាការយកបានបញ្ជាក់។ រាប់កង់នៅតែជាការសង្កេត។ បង្ហាញ context សម្រាប់ការយក ប្រសិនបើផលិតផលរបស់អ្នកជួយអ្នកប្រើក្នុងការជ្រើសរើសផ្ទះចត។

ធ្វើការត្រួតពិនិត្យបច្ចុប្បន្នភាពដោយមិនបង្កើនការហៅមិនចាំបាច់

បំរើការត្រួតពិនិត្យដោយផ្អែកលើថ្ងៃផុតកំណត់ ឧបសគ្គសេវា និងពហុពាក្យអ្នកប្រើ។ សហការជាមួយសំណើដូចគ្នា ចៀសវាងហៅផ្ទៃខាងក្រោយកាន់តែវេននៅលើទំព័រមិនប្រើ និងបោះបង់វានៅពេលស្វែងរកត្រូវបានប្ដូរ។

ពេលវេលាដាក់ទុកក្នុងទីលំនៅមិនជាភស្តុតាងភាពថ្មីរបស់ប្រភពទេ។ បន្ទាប់ពីកំហុស អ្នកអាចរក្សាការសង្កេតចុងក្រោយដែលមានកាលបរិច្ឆេទ ប្រសិនបើផ្ទៃមុខរបស់អ្នកបង្ហាញវាឲ្យច្បាស់ថាជាទិន្នន័យចាស់។ កុំលុបបំបាត់ការបំបែកនេះនៅលើការត្រឡប់ជាលទ្ធផលជោគជ័យដំបូងក្រោយការ error ប្រសិនបើប្រភពនៅតែ stale។

យល់អំពីទំនាក់ទំនងជាមួយ GBFS

GBFS ពិពណ៌នាសេវាចលនាចែករំលែក និងស្ថានភាពដែលបានបង្ហាញ។ ការអ៊ីនធឺក្រាតផ្ទាល់ត្រូវបកប្រែឯកសារ កំណែ និងពេលវេលារបស់ហ្វ្លុច។ ជាមួយ API ដែលមានស្តង់ដារ សូមប្រើកិច្ចសន្យា API មិនត្រូវបន្ថែមវាល GBFS ដែលជាលោកថាគួរត្រូវធ្លាប់បាត់ក្នុងចម្លើយរបស់វា។

ជ្រើសរើសរវាង GTFS, GTFS Realtime និង GBFS

សាកល្បងស្ថានភាពដែលបំភាន់អ្នកអាន

សាកល្បងសូន្យពិត បរិមាណមិនស្គាល់ កាលបរិច្ឆេទផុតកំណត់ ការយកបានបិទ និងកំហុសបន្ទាប់ពីលទ្ធផលត្រឹមត្រូវ។ ពិនិត្យមើលតំបន់ម៉ោងបង្ហាញផងដែរ។ រាប់វិជ្ជមានមិនគួរបង្កើត "កង់បានកក់" ហើយភាពមិនអាចប្រើបានមិនគួរបង្កើតសូន្យក្លែងក្លាយ។

គ្រប់គ្រងចម្លើយទទេ និងកំហុស

អនុវត្តច្បាប់ទាំងនេះនៅក្នុងជំនួយការជំនួយរបស់ AI

មគ្គុទេសក៍អ្នកប្រើសម្រាប់ស្វែងរកកង់

សម្រាប់អ្នកអភិវឌ្ឍន៍កម្មវិធីក្រុមហ៊ុន ROOTE Mobility API

ចល័តភាពជុំវិញចំណុចមួយ។
ផ្ទាល់ក្នុងកម្មវិធីរបស់អ្នក។

  • ស្វែងរក
    ជុំវិញទីតាំងមួយ
  • ចូលដល់
    ទិន្នន័យចល័តភាព
  • ផ្សំក្នុង
    កម្មវិធីរបស់អ្នក

ផ្លាស់ពីផែនទីទៅទិន្នន័យ៖ ស្វែងរកចល័តភាពនិងសេវាកម្មជិតខាងជាមួយ ROOTE API។

សំណួរញឹកញាប់

បរិមាណវិជ្ជមានធានាកង់នៅពេលខ្ញុំមកដល់ទេ?

ទេ។ វាបង្ហាញពីការសង្កេត ដែលអាចប្ដូរប្រែរវាងការស្វែងរក និងពេលអ្នកមកដល់។

តើអាចជំនួស null ជាសូន្យបានទេ?

ទេ។ null បង្ហាញតម្លៃមិនស្គាល់។ សូន្យគឺបរិមាណដែលបានស្គាល់ ហើយមានន័យផ្សេង។

តើត្រូវត្រួតពិនិត្យឡើងវិញរាល់ប៉ុន្មានវិនាទី?

សូមប្រើសញ្ញាប្រសើរពាក់ព័ន្ធការពិត ប្រព័ន្ធសេវាកម្ម និងតម្រូវការផ្ទៃមុខរបស់អ្នក។ អត្រាដែលមានការកំណត់មិនធានាប្រភពនៅភាពថ្មីជាងឡើយ។

តើអ្នកកំពុងស្វែងរកអ្វីជុំវិញខ្លួនទេ?

ស្វែងរកតំបន់របស់អ្នកជាមួយ ROOTE ហើយរកព័ត៌មានដែលមានសម្រាប់រៀបចំដំណើររបស់អ្នក។

ស្វែងរកផែនទី ROOTE ↗