Navigation guidance method, device, apparatus, and program product

By generating and applying bidirectional navigation data through bidirectional route calculation between the navigation client and server, the navigation problem of not being able to determine the location and direction under user-defined routes is solved, realizing flexible multi-directional navigation guidance and improving the user experience.

CN116337099BActive Publication Date: 2026-03-20ALIBABA (CHINA) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-02-24
Publication Date
2026-03-20

AI Technical Summary

Technical Problem

Existing navigation clients cannot provide multi-directional navigation guidance services when users define routes and are unsure of their location and direction.

Method used

The navigation client determines the user-defined route and the two-way guidance markers for multi-directional navigation, generates a navigation data request, triggers the navigation server to perform two-way route calculation, generates two-way navigation data, and provides navigation guidance based on the current location and direction of travel.

Benefits of technology

It enables real-time adaptive multi-directional navigation guidance for users even when the user-defined route is uncertain in terms of location and direction, thus improving the flexibility of navigation guidance and user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116337099B_ABST
    Figure CN116337099B_ABST
Patent Text Reader

Abstract

The present disclosure relates to a navigation guidance method, device, equipment and program product. The method comprises: in response to a bidirectional navigation instruction, determining a required route and a bidirectional guidance identifier; based on the required route and the bidirectional guidance identifier, generating a navigation data request and sending the navigation data request to a navigation server; wherein the navigation data request is used to trigger the navigation server to perform bidirectional route calculation processing based on the required route; receiving bidirectional navigation data fed back by the navigation server; wherein the bidirectional navigation data comprises forward navigation data and reverse navigation data corresponding to the required route; and performing navigation guidance processing based on a current position, a current travel direction and the bidirectional navigation data. In this way, the function of providing multi-directional navigation guidance for a user's self-defined route is achieved in a scenario where the user self-defines the route and the position where the user enters the route and the actual travel direction of the user are not determined, thereby improving the flexibility of navigation guidance and user experience.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to the technical field of navigation, and in particular, to a navigation guiding method, device, equipment and program product. BACKGROUND

[0002] In the process of using a navigation client, there is a navigation demand that a user customizes a route and provides navigation guiding services for the user entering the route at an arbitrary position and in an arbitrary direction without determining the position where the user enters the route.

[0003] However, the existing navigation client often needs to determine the starting point\ending point of a route and travel along the route direction from the starting point to provide one-way navigation guiding, which cannot meet the above navigation demand. SUMMARY

[0004] To solve the technical problem that the existing navigation client cannot provide multi-directional guiding for a user's customized route, the present disclosure provides a navigation guiding method, device, equipment and program product.

[0005] In a first aspect, the present disclosure provides a navigation guiding method applied to a navigation client, applied to a navigation client, comprising:

[0006] In response to a bidirectional navigation instruction, determining a demand route and a bidirectional guiding identifier;

[0007] Based on the demand route and the bidirectional guiding identifier, generating a navigation data request and sending the navigation data request to a navigation server; wherein the navigation data request is used to trigger the navigation server to perform bidirectional route calculation processing based on the demand route;

[0008] Receiving bidirectional navigation data fed back by the navigation server; wherein the bidirectional navigation data includes forward navigation data and reverse navigation data corresponding to the demand route;

[0009] Based on the current position, the current travel direction and the bidirectional navigation data, performing navigation guiding processing.

[0010] In a second aspect, the present disclosure also provides a navigation guiding method applied to a navigation server, applied to a navigation server, comprising:

[0011] Analyzing a navigation data request sent by a navigation client to obtain a demand route and a demand guiding identifier;

[0012] If the demand guiding identifier is a bidirectional guiding identifier, performing bidirectional route calculation processing based on the demand route to generate bidirectional navigation data; wherein the bidirectional navigation data includes forward navigation data and reverse navigation data corresponding to the demand route;

[0013] feed back the bidirectional navigation data to the navigation client, so that the navigation client performs navigation guidance processing based on the current position, the current travel direction and the bidirectional navigation data.

[0014] In a third aspect, the embodiments of the present disclosure further provide a navigation guidance device configured in a navigation client, configured in a navigation client, comprising:

[0015] a demand route determination module configured to determine a demand route and a bidirectional guidance identifier in response to bidirectional navigation instructions;

[0016] a navigation data request sending module configured to generate a navigation data request based on the demand route and the bidirectional guidance identifier, and send the navigation data request to a navigation server, wherein the navigation data request is used to trigger the navigation server to perform bidirectional route calculation processing based on the demand route;

[0017] a bidirectional navigation data receiving module configured to receive bidirectional navigation data fed back by the navigation server, wherein the bidirectional navigation data comprises forward navigation data and reverse navigation data corresponding to the demand route;

[0018] a navigation guidance module configured to perform navigation guidance processing based on the current position, the current travel direction and the bidirectional navigation data.

[0019] In a fourth aspect, the embodiments of the present disclosure further provide a navigation guidance device configured in a navigation server, configured in a navigation server, comprising:

[0020] a navigation data request analysis module configured to analyze a navigation data request sent by a navigation client to obtain a demand route and a demand guidance identifier;

[0021] a bidirectional navigation data generation module configured to, if the demand guidance identifier is a bidirectional guidance identifier, perform bidirectional route calculation processing based on the demand route to generate bidirectional navigation data, wherein the bidirectional navigation data comprises forward navigation data and reverse navigation data corresponding to the demand route;

[0022] a bidirectional navigation data sending module configured to feed back the bidirectional navigation data to the navigation client, so that the navigation client performs navigation guidance processing based on the current position, the current travel direction and the bidirectional navigation data.

[0023] In a fifth aspect, the embodiments of the present disclosure further provide an electronic device, comprising:

[0024] a memory and a processor, wherein the memory is configured to store instructions executable by the processor;

[0025] The processor is configured to read the executable instructions from the memory and execute the executable instructions to implement the navigation guiding method provided by any of the embodiments of the present disclosure.

[0026] In a sixth aspect, the embodiments of the present disclosure further provide a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, the navigation guiding method provided by any of the embodiments of the present disclosure is implemented.

[0027] In a seventh aspect, the embodiments of the present disclosure further provide a computer program product for executing the navigation guiding method provided by any of the embodiments of the present disclosure.

[0028] The technical solution provided by the embodiments of the present disclosure can, when the multi-navigation function is started by a user, send a navigation data request to a navigation server according to a demand route defined by the user and a bidirectional guiding mark corresponding to the multi-navigation function, obtain bidirectional navigation data fed back by the navigation server through bidirectional route calculation processing on the demand route, the bidirectional navigation data including forward navigation data and reverse navigation data corresponding to the demand route, and then perform navigation guiding processing based on a current position, a current travel direction and the bidirectional navigation data. In this way, the real-time navigation demand of the user can be determined according to the real-time position and the real-time travel direction of the user, and the user can be guided by selecting appropriate navigation data from the forward navigation data and the reverse navigation data, thereby realizing the function of providing multi-navigation guiding for the user-defined route without determining the position and the travel direction of the user entering the route, and improving the flexibility of navigation guiding and the user experience.

[0029] It should be noted that the user information (including but not limited to user equipment information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved in the present application are all information and data authorized by the user or authorized by all parties, and the collection, use and processing of related data need to comply with relevant laws, regulations and standards of relevant countries and regions, and provide corresponding operation portal for user to choose authorization or refusal. BRIEF DESCRIPTION OF DRAWINGS

[0030] The above and other features, advantages, and aspects of the embodiments of the present disclosure will become more apparent upon consideration of the following detailed description, taken in conjunction with the accompanying drawings. Throughout the drawings, like or similar reference numerals designate identical or similar elements throughout the several views. It should be understood that the drawings are schematic and elements and features are not necessarily to scale.

[0031] Figure 1 A flowchart of a navigation guiding method applied to a navigation client provided by the embodiments of the present disclosure is shown in FIG. 1;

[0032] Figure 2 For Figure 1 A refinement process schematic diagram applied to the navigation guidance method S140 of the navigation client shown in the figure;

[0033] Figure 3 For Figure 2 A refinement process schematic diagram applied to the navigation guidance method S210 of the navigation client shown in the figure;

[0034] Figure 4 A process schematic diagram of a navigation guidance method applied to a navigation server provided by an embodiment of the present disclosure;

[0035] Figure 5 A signaling diagram of navigation guidance between a navigation client and a navigation server provided by an embodiment of the present disclosure;

[0036] Figure 6 A structural schematic diagram of a navigation guidance device configured to a navigation client provided by an embodiment of the present disclosure;

[0037] Figure 7 A structural schematic diagram of a navigation guidance device configured to a navigation server provided by an embodiment of the present disclosure;

[0038] Figure 8 A structural schematic diagram of an electronic device provided by an embodiment of the present disclosure. DETAILED DESCRIPTION

[0039] Embodiments of the present disclosure will be described in more detail by referring to the attached drawings. Although certain embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as being limited to the embodiments set forth herein, but rather the embodiments are provided to make the present disclosure more thorough and complete. It should be understood that the drawings and embodiments of the present disclosure are for exemplary purposes only and are not intended to limit the scope of protection of the present disclosure.

[0040] It should be understood that each step described in the method embodiments of the present disclosure can be executed in different order and / or in parallel. In addition, the method embodiments can include additional steps and / or omit the execution of the steps shown. The scope of the present disclosure is not limited in this respect.

[0041] As used herein, the term "includes" and its variants are to be read to be analogous to "comprises," or "comprising." The term "based on" is to be read as "based, at least in part, on." The term "some embodiments" means "at least some embodiments"; the term "certain embodiments" means "at least certain embodiments." The term "in an example" means "in at least one example"; the term "in a further example" means "in at least one further example." Related definitions are given throughout the description.

[0042] It should be noted that the modification of "one", "a", "an", "multiple", "plurality" mentioned in the present disclosure is illustrative rather than restrictive, and those skilled in the art should understand that unless otherwise explicitly indicated in the context, it should be understood as "one or more".

[0043] The navigation client in the related art only provides one-way navigation guidance to the user. The one-way navigation guidance needs to determine the navigation starting point and / or the navigation ending point before the navigation starts, and then guides from the navigation starting point to the navigation ending point. However, in the scenario where the user customizes the route and the position where the user enters the route is not determined, the one-way navigation guidance function obviously cannot provide good navigation guidance service for the user.

[0044] Based on the above situation, the embodiment of the present disclosure provides a navigation guidance method. The navigation client determines the demand route customized by the user and the two-way guidance identifier corresponding to the multi-way navigation function, and generates a navigation data request from the demand route and the two-way guidance identifier, so as to trigger the navigation server to generate two-way navigation data by performing two-way route calculation according to the demand route. Then, the navigation client determines the navigation data suitable for the current position and the current driving direction of the user from the two-way navigation data, and guides the navigation according to the navigation data. In this way, in the scenario where the user customizes the route and the position where the user enters the route and the actual driving direction of the user are not determined, the user can be provided with real-time navigation guidance suitable for the driving progress of the user, so as to provide more flexible, convenient and easy-to-use navigation guidance service and more novel navigation forms based on the basic navigation ability, and improve the user experience.

[0045] Figure 1A flowchart of a navigation guidance method applied to a navigation client is provided in embodiments of the present disclosure, which can be applied to a situation where a user defines a route but does not determine the position of entering the route and the direction to be traveled. For example, it can be applied to a navigation scenario of a purposeless movement such as walking or cycling, where the user defines a movement route but does not set a navigation starting position and a navigation guidance direction. The navigation guidance method applied to the navigation client can be executed by a navigation guidance device configured in the navigation client, which can be implemented by software and / or hardware and can be integrated on an electronic device installed with the navigation client. The electronic device can be, for example, a smartphone, a smart wearable device, a tablet computer, a palm computer, etc.

[0046] As shown in Figure 1 The navigation guidance method applied to the navigation client provided in embodiments of the present disclosure can include, for example:

[0047] S110, in response to a bidirectional navigation instruction, determining a required route and a bidirectional guidance identifier.

[0048] The bidirectional navigation instruction is an instruction generated when the bidirectional navigation guidance function is started. The required route refers to a travel route defined by the user and requiring the navigation client to provide navigation guidance services, which includes two endpoints (which can be referred to as navigation endpoints) of the route and road segments covered by the route. The bidirectional guidance identifier is an identifier for representing multi-directional guidance in forward and reverse directions, which can be pre-agreed by a business party, for example, can be a custom number, or a function name, etc.

[0049] Specifically, in order to facilitate user operation, a trigger control of the bidirectional navigation guidance function can be set in the navigation client. The trigger control can be, for example, a control that can be triggered by contact (such as a click trigger, a gesture trigger, etc.), or a control that can be triggered by voice or eye movement, etc. In this way, after the navigation client is started, the trigger operation of the user can be detected. If it is detected that the user has triggered the control of the bidirectional navigation guidance function, a bidirectional navigation instruction can be generated.

[0050] In response to the bidirectional navigation instruction, the navigation client starts to detect whether a required route defined by the user is received. For example, when the user inputs a custom route through an interactive interface provided by the navigation client, the navigation client can determine the input custom route as the required route. Alternatively, when the user inputs or selects a route in a third-party application, the third-party application can jump to the navigation client by triggering a corresponding jump link, and at this time the navigation client can determine the route captured from the third-party application as the required route.

[0051] The navigation client can also determine, in response to the bidirectional navigation instruction, that the guidance identifier of the required navigation guidance function is a bidirectional navigation guidance identifier.

[0052] In S120, the navigation data request is generated based on the required route and the bidirectional guidance identifier, and is sent to the navigation server, so as to trigger the navigation server to perform bidirectional route calculation based on the required route.

[0053] The navigation data request is a request for establishing remote communication with the navigation server to pull the required navigation data.

[0054] Specifically, the navigation client generates the navigation data request based on the required route and the bidirectional guidance identifier, and sends the navigation data request to the navigation server. In this way, the online map data with stronger real-time performance in the navigation server can be used for navigation data generation processing, so that the obtained navigation data is more accurate, and the subsequent navigation guidance result is more consistent with the actual road.

[0055] After receiving the navigation data request, the navigation server parses the navigation data request to obtain the required route and the guidance identifier corresponding to the required guidance function (which can be referred to as the required guidance identifier). Then, the navigation server determines whether the required guidance identifier obtained by parsing is a bidirectional guidance identifier. If yes, it means that the required route does not explicitly indicate the navigation starting point and the navigation ending point, and the actual travel direction is also uncertain. In this case, bidirectional route calculation can be performed based on the required route and the online map data to generate navigation data in the forward direction (i.e., forward navigation data) and navigation data in the reverse direction (i.e., reverse navigation data). The process of bidirectional route calculation will be described in subsequent embodiments.

[0056] It should be noted that the navigation data in the embodiments of the present disclosure at least includes a path composed of a link sequence with directionality and guidance data corresponding to the path. Since the link sequence has directionality, the path also has directionality, so the path has a path starting point and a path ending point. The guidance data may, for example, include at least one of lane information, picture information at an intersection, sign information, building data on and near a road, and the like. In addition, the forward direction and the reverse direction refer to two directions along the required route. One of the two directions can be defined as the forward direction, and the other direction is the reverse direction.

[0057] In S130, the bidirectional navigation data fed back by the navigation server is received.

[0058] The bidirectional navigation data includes forward navigation data and reverse navigation data corresponding to the required route.

[0059] Specifically, the navigation server can obtain forward navigation data and reverse navigation data, i.e., bidirectional navigation data, after bidirectional route calculation. Then, the navigation server sends the bidirectional navigation data to the navigation client. The navigation client obtains the bidirectional navigation data that can support forward direction guidance and reverse direction guidance, thereby providing a data basis for subsequent navigation guidance in any direction on the required route.

[0060] S140, performing navigation guidance processing based on the current position, the current travel direction, and the bidirectional navigation data.

[0061] The current position refers to the real-time position of the user at the current time, which can be determined by a relevant positioning sensor configured in the navigation client. The current travel direction refers to the real-time travel direction of the user at the current time, which can be a forward direction or a reverse direction on the required route.

[0062] Specifically, after obtaining the bidirectional navigation data, the navigation client can obtain the current position and the current travel direction of the user in real time, and determine the adapted navigation data from the forward navigation data and the reverse navigation data based on the current position and the current travel direction. Then, based on the current position, the navigation guidance processing is performed by using the determined adapted navigation data.

[0063] It should be noted that, before the navigation ends, the navigation client can continuously obtain the current position and the current travel direction of the user, and continuously perform navigation guidance by using the bidirectional navigation data.

[0064] In some embodiments, the navigation client can determine the current travel direction by using the travel trajectory of the user. Thus, before S140, the navigation guidance method applied to the navigation client further includes: determining the current travel direction based on the current position and at least one historical position in the current travel process.

[0065] Specifically, in addition to obtaining the current position, the navigation client can also obtain the position of the user at a historical time before the current time in the current travel process (referred to as the current travel process), referred to as the historical position. The historical position can be a historical position record read from the local storage space, or can be obtained by pulling from the navigation server. After obtaining the current position and at least one historical position, the navigation client can determine the current travel direction according to the phenomenon that the historical position is behind the current travel direction of the current position, and the position relationship between the historical position and the current position.

[0066] In some embodiments, the user-defined demand route can not satisfy the condition of two-way route calculation (e.g., at least the road can be bidirectional), and thus the navigation server cannot obtain the bidirectional navigation data. In this case, the navigation server can feed back the relevant information to the navigation client, and the client can process accordingly based on the content of the relevant information.

[0067] In some embodiments, the user-defined demand route can not satisfy the condition of two-way route calculation (e.g., at least the road can be bidirectional), and thus the navigation server cannot obtain the bidirectional navigation data. In this case, the navigation server can feed back the relevant information to the navigation client, and the client can process accordingly based on the content of the relevant information.

[0068] In an example, after S120, the navigation guiding method applied to the navigation client further includes: receiving the bidirectional navigation failure information fed back by the navigation server; and if the bidirectional navigation failure information includes one-way navigation data, performing navigation guiding processing based on the current position, the current travel direction, and the one-way navigation data.

[0069] The bidirectional navigation failure information refers to the information that the bidirectional navigation data cannot be obtained for navigation in either the forward direction or the reverse direction. For example, the navigation data corresponding to the forward direction or the reverse direction can be obtained (referred to as one-way navigation data), or a failure prompt information can be obtained due to the failure of obtaining the navigation data in the forward direction and / or the reverse direction.

[0070] Specifically, the navigation client receives the bidirectional navigation failure information fed back by the navigation server and analyzes the same. If the bidirectional navigation failure information includes one-way navigation data, the navigation client can determine whether the navigation guiding can be performed based on the current position, the current travel direction, and the one-way navigation data, and perform the navigation guiding in the case of guiding.

[0071] In another example, after S120, the navigation guiding method applied to the navigation client further includes: receiving the bidirectional navigation failure information fed back by the navigation server; and if the bidirectional navigation failure information includes a failure prompt information, performing prompting based on the failure prompt information.

[0072] Specifically, if the bidirectional navigation failure information contains the failure prompt information, the navigation client can prompt the failure prompt information in a preset prompting manner (e.g., voice broadcast, graphic display, etc.).

[0073] In yet another example, after S120, the navigation guidance method applied to the navigation client further includes: receiving the feedback of the two-way navigation failure information from the navigation server; if the two-way navigation failure information includes one-way navigation data, performing navigation guidance processing based on the current position and the one-way navigation data; and if the two-way navigation failure information includes failure prompt information, prompting based on the failure prompt information.

[0074] Specifically, after the navigation client parses the two-way navigation failure information, if it is determined that the two-way navigation failure information contains one-way navigation data and failure prompt information, the navigation client can perform navigation guidance using the one-way navigation data when it is determined that the current travel direction is consistent with the path direction in the one-way navigation data. Meanwhile, the navigation client can also prompt the user about the situation that the two-way navigation guidance cannot be provided according to a preset prompt mode. If it is determined that the current travel direction is inconsistent with the path direction in the one-way navigation data, the user can be prompted about the situation that the navigation guidance for the required route cannot be provided according to the preset prompt mode.

[0075] In some embodiments, the navigation client can select the adaptive navigation data from the forward navigation data and the reverse navigation data by matching the paths related to the route and the direction. On this basis, the steps of continuously monitoring the current position and the current travel direction and continuously performing navigation guidance processing can be added. As shown in Figure 2 Figure 1 The detailed flowchart of S140 of the navigation guidance method applied to the navigation client is shown. Referring to Figure 2 , the step of "performing navigation guidance processing based on the current position, the current travel direction, and the two-way navigation data" in S140 includes:

[0076] S210, path matching of the forward path and the reverse path based on the current position and the current travel direction.

[0077] Specifically, according to the above description, the two-way navigation data includes forward navigation data and reverse navigation data, and the navigation data includes at least a path composed of a link sequence and its corresponding guidance data, so the forward navigation data can include a path (referred to as a forward path) and guidance data (referred to as forward guidance data) in a forward direction, and the reverse navigation data can include a path (referred to as a reverse path) and guidance data (referred to as reverse guidance data) in a reverse direction.

[0078] ​In the one-way navigation scenario of the related technology, the navigation starting point and the navigation ending point are determined, and then the navigation client only needs to perform route matching to determine that the user travels along the navigation route, and then performs one-way guidance from the navigation starting point to the navigation ending point. However, in the embodiment of the present disclosure, the navigation starting point and the navigation ending point are not determined, and the current position is simply matched with the navigation route, which can only ensure that the user is on the navigation route, and cannot determine whether the user travels along the forward path or the reverse path, and cannot determine the adapted guidance data (referred to as target guidance data) from the forward guidance data and the reverse guidance data.

[0079] Based on the above description, in the embodiment, the current position and the current travel direction can be used to perform path matching on the forward path and the reverse path. In this way, not only is the current position matched with the route to determine whether the user is on the desired route, but also the current travel direction is matched with the path directions of the forward path and the reverse path to determine whether the user travels along the forward direction or the reverse direction.

[0080] S220, if the matching is successful, determining the target guidance data from the forward guidance data and the reverse guidance data based on the target path of the matching success.

[0081] Specifically, if the navigation client determines that the user travels along the forward path or the reverse path, that is, the path matching is successful in one of the navigation guidance directions, the navigation client can determine the path of the matching success as the target path. Then, according to the data association relationship between the corresponding path and the navigation data recorded in the above-mentioned bidirectional navigation data, that is, the data association relationship of forward navigation data-forward path-forward guidance data and the data association relationship of reverse navigation data-reverse path-reverse guidance data, the guidance data corresponding to the target path, that is, the target guidance data, is determined.

[0082] S230, based on the current position, using the target guidance data to perform navigation guidance.

[0083] Specifically, the navigation client starts from the current position, uses the target guidance data to perform navigation guidance along the target path. For example, the navigation client can display the map guidance picture or icon in the target guidance data, the road information in the current travel, the road information to be entered, and the distance to be traveled on the road, and the like according to the current position, and can also perform voice broadcast prompting on the above information.

[0084] In an example, S230 includes: if the current position is the start point of the demand route, displaying the travel position identifier starting from the start point and navigating in the direction of the end point of the demand route using the target guide data; if the current position is the end point of the demand route, displaying the travel position identifier starting from the end point and navigating in the direction of the start point using the target guide data; and if the current position is on the middle section of the demand route, displaying the travel position identifier starting from the current position and navigating in the direction of the path of the target route using the target guide data.

[0085] The start point and the end point are two end points on the demand route. Since the user does not specify which of the two end points is the start point and which is the end point, either of the two end points can be determined as the start point and the other end point as the end point. The travel position identifier is indicative information for displaying the position of the user on the navigation map, which can be a map positioning icon, an arrow icon, a vehicle icon, a vehicle brand icon, etc.

[0086] Specifically, for the multi-directional navigation guide scenario of the user-defined demand route without direction, one case is that the user can enter the route from the start point of the demand route and travel to the end point of the demand route. In this case, after the navigation client processes the above steps, the travel position identifier can be displayed starting from the start point of the demand route and guided to the end point of the demand route using the target guide data. Another case is that the user can enter the route from the end point of the demand route and travel to the start point of the demand route. In this case, after the navigation client processes the above steps, the travel position identifier can be displayed starting from the end point of the demand route and guided to the start point of the demand route using the target guide data. Yet another case is that the user can enter the route from the middle section of the demand route and travel to the start point (or the end point) of the demand route. In this case, after the navigation client processes the above steps, the travel position identifier can be displayed starting from the current position on the middle section of the demand route and guided to the start point (or the end point) of the demand route using the target guide data. In this way, multi-directional navigation guide can be adapted, and more diversified and flexible navigation guide forms can be displayed, further improving the user experience.

[0087] S240, updating the current position and the current travel direction, and returning to perform the step of path matching the forward path and the reverse path based on the current position and the current travel direction until the navigation ends.

[0088] Specifically, after the navigation client completes the above navigation guidance process of the current position, it can continue to update the current position and the current travel direction in real time, and looply execute the navigation guidance process of S210-S240 until the navigation ends. The determination of the navigation end can be, for example, that the user triggers the function control of "end navigation / exit navigation", or that the user reaches the end point of the target path during travel, etc.

[0089] The technical solutions provided by the above embodiments can achieve route matching of the current position and the demand route, and direction matching between the travel direction and the path direction, by path matching between the current position and the current travel direction and the bidirectional path (i.e., the forward path and the reverse path), thereby further improving the adaptability and accuracy of the target guidance data to the travel state of the user, and further improving the accuracy of bidirectional navigation guidance.

[0090] In some embodiments, as shown in Figure 3 The detailed flowchart of S210 in the navigation guidance method applied to the navigation client is shown in Figure 2 The navigation guidance method applied to the navigation client is shown in Figure 3 S210 "path matching of the forward path and the reverse path based on the current position and the current travel direction" includes:

[0091] S310, sorting the forward path and the reverse path based on the proximity between the current position and the start point of the path.

[0092] Specifically, in this embodiment, the priority of the forward path and the reverse path can be sorted before the path matching operation, so as to sort the path that the user is more likely to travel in the front position. In this way, the path that the user is more likely to travel can be matched preferentially in the path matching process, and the redundant path matching process can be reduced as much as possible, thereby further improving the processing efficiency of bidirectional navigation guidance.

[0093] Based on the consideration that the user is likely to start from the end point of the demand route that is closer to the user, the navigation client can evaluate the travel possibility of the user along the forward path and the reverse path according to the proximity between the current position of the user and the two end points of the demand route, and sort the path with better evaluation result in the front position.

[0094] It should be noted that in the looped navigation guidance process triggered after each update of the current position, the forward path and the reverse path can be sorted again according to the updated current position.

[0095] It should be noted that for the sports scene of walking or cycling, considering that the position of the user will not change greatly in a short time, the ranking of the proximity of the current position of the user to the two endpoints of the demand route can also not change in a short time, and thus the forward path and the reverse path can be re-ranked according to the updated current position after a certain time interval from the last ranking operation. The interval time for triggering the re-ranking can be determined according to the speed of the change of the position of the user. For example, if the user is walking, the position changes slowly, and thus the interval time can be set to be relatively long. For another example, if the user is cycling, the position changes relatively fast, and thus the interval time can be set to be relatively short. Exemplarily, the interval time can be an integer multiple of the current position update period. In this way, the interval time for re-ranking can reduce the number of ranking processes to some extent, thereby further improving the efficiency of the navigation guidance process.

[0096] In an example, S310 comprises: determining a distance between the current position and the path start point of the forward path, and determining a distance between the current position and the path start point of the reverse path; determining the ranking of the forward path and the reverse path based on the distances.

[0097] Specifically, considering that the user is likely to start from the path start point that is closer to the user, the navigation client can rank the paths according to the distances between the current position and the path start points of the paths. The navigation client can calculate the distance between the current position and the path start point of the forward path, and calculate the distance between the current position and the path start point of the reverse path. Then, the two distances are compared, the path corresponding to the distance with the larger value is determined as the path ranked in the front, and the path corresponding to the distance with the smaller value is determined as the path ranked in the back.

[0098] S320, traversing the ranked forward path and reverse path, and performing path matching on the traversed path based on the current position and the current travel direction.

[0099] Specifically, the navigation client traverses the ranked forward path and reverse path in sequence. When a path is traversed, the navigation client performs path matching on the traversed path according to the current position and the current travel direction. For example, at least it can be calculated whether the current position matches the route of the traversed path; on the basis of the route matching, it is further judged whether the current travel direction is consistent with the path direction of the traversed path; if the result of the judgment is consistent, it is considered that the traversed path is matched successfully, and S220 is continued to be executed.

[0100] Conversely, if the current position does not match the route, or the current direction of travel is inconsistent with the path direction, then the path being traversed is considered a failed match. In this case, another path from the sorted paths can be identified as the traversed path, and the above path matching process can be re-executed. If the other path matches successfully, proceed to S220; if the other path also fails to match, it means that the user is not traveling along the required route at the current moment, and then jump to S240.

[0101] In one example, route matching can be performed using the user's location points at multiple times to reduce the impact of positioning errors, thereby further improving the accuracy of path matching and consequently improving the accuracy of bidirectional navigation guidance. Specifically, "matching the traversed path based on the current location and current direction of travel" in S320 includes: determining a preset number of consecutive historical locations corresponding to the current location; if both the current location and each historical location match the traversed path, then determining whether the current direction of travel and the traversed path are consistent; if so, then determining that the traversed path matching is successful.

[0102] The preset quantity is a pre-set value that can be determined based on the positioning error and the required navigation accuracy. For example, when the positioning error is around 10 meters, the preset quantity can be set to 4.

[0103] Specifically, the navigation client obtains a preset number of historical locations, all of which are consecutive to the current location. Then, it performs route matching between the current location and each historical location and the route of the traversed path. If all locations match the route, the route matching is successful. Next, it checks the consistency between the current direction of travel and the direction of the traversed path to determine if the route matching is successful. If at least one location among the current location and each historical location does not match the traversed path, the route matching is considered a failure, and the next path is traversed.

[0104] Figure 4 This is a flowchart illustrating a navigation guidance method applied to a navigation server, as provided in an embodiment of this disclosure. The navigation guidance method applied to a navigation server can be executed by a navigation guidance device configured on the navigation server. This device can be implemented using software and / or hardware and can be integrated into an electronic device with a certain computing power, such as a laptop, desktop computer, or server.

[0105] It should be noted that the focus of the navigation guidance method applied to the navigation server is the generation of bidirectional navigation data. The implementation of other steps is the same as that of the navigation guidance method applied to the navigation client. Therefore, the explanation of the same or similar terms and steps in this embodiment as in the above embodiments can be found in the descriptions of the above embodiments, and will not be repeated here.

[0106] As shown in the method for guiding navigation provided by the navigation server according to the embodiments of the present disclosure can include: Figure 4

[0107] S410, parse the navigation data request sent by the navigation client, and obtain the demand route and the demand guide identifier.

[0108] Specifically, after receiving the navigation data request sent by the navigation client, the navigation server parses the request and obtains the demand route and the demand guide identifier carried in the request.

[0109] S420, if the demand guide identifier is a bidirectional guide identifier, perform bidirectional route calculation processing based on the demand route to generate bidirectional navigation data.

[0110] The bidirectional navigation data includes forward navigation data and reverse navigation data corresponding to the demand route.

[0111] Specifically, the navigation server compares the demand guide identifier with the bidirectional guide identifier. If the demand guide identifier is inconsistent with the bidirectional guide identifier, the navigation server can perform corresponding processing according to the demand guide identifier. For example, if the demand guide identifier is a unidirectional guide identifier, the navigation server can perform generation processing of unidirectional navigation data; if the demand guide identifier is an error code, the navigation server can generate corresponding prompt information or error. If the demand guide identifier is consistent with the bidirectional guide identifier, the navigation server can perform bidirectional route calculation processing on the demand route to generate forward navigation data and reverse navigation data.

[0112] In some embodiments, the "performing bidirectional route calculation processing based on the demand route to generate bidirectional navigation data" in S420 includes: determining a forward direction and a reverse direction based on the demand route; performing bidirectional route calculation processing based on the forward direction, the reverse direction, the demand route, and the road traffic direction corresponding to the demand route to generate bidirectional navigation data.

[0113] Specifically, in order to facilitate processing, the navigation server can determine the forward direction and the reverse direction according to the data content of the demand route. For example, when the demand route contains a link sequence, the order direction of the link sequence can be determined as the forward direction, and the reverse order direction of the link sequence can be determined as the reverse direction. For another example, when the demand route contains two end points, the direction from one end point to the other end point can be determined as the forward direction, and the direction from the other end point to the one end point can be determined as the reverse direction.

[0114] ​Then, the navigation server generates forward navigation data according to the forward direction, the required route and the corresponding road directions, and generates reverse navigation data according to the reverse direction, the required route and the corresponding road directions, by using the route calculation algorithm and the guide data production algorithm in the related art. The forward navigation data and the reverse navigation data can be generated and processed synchronously, or the forward navigation data can be generated and processed first, and then the reverse navigation data can be generated and processed.

[0115] In S430, the bidirectional navigation data is fed back to the navigation client, so that the navigation client performs navigation guidance processing based on the current position, the current travel direction and the bidirectional navigation data.

[0116] Specifically, the navigation server feeds back the bidirectional navigation data to the navigation client. The navigation client can perform navigation guidance processing based on the current position, the current travel direction and the bidirectional navigation data in the manner described in the above embodiments.

[0117] In some embodiments, the above-mentioned "performing bidirectional route calculation processing based on the forward direction, the reverse direction, the required route and the corresponding road directions of the required route, and generating bidirectional navigation data" includes: if the road directions corresponding to each link in the required route are all successfully matched with the forward direction, and the road directions corresponding to each link are all successfully matched with the reverse direction, generating forward navigation data based on each link and the forward direction, and generating reverse navigation data based on each link and the reverse direction.

[0118] Specifically, when the required route contains a link sequence, the navigation client can obtain each link covered by the required route from the link sequence; when the required route contains two end points, the navigation client can extract each link from the online map data through the two end points and the required route. Then, the navigation client can match the road directions of each link with the forward direction. For example, the included angle between the road direction of each link and the forward direction is calculated, and when there is an included angle less than a certain preset smaller angle value, it is considered that the matching is successful. If all are successfully matched, it means that the required route can be traveled along the forward direction, the link sequence composed of each link along the forward direction is determined as the forward path, and guide data is produced based on the forward path to generate forward guide data.

[0119] Afterwards, the navigation client can match the road traffic directions of each link with the reverse direction. For example, the angle between the road traffic direction of each link and the reverse direction is calculated, and when there is an angle less than a preset smaller angle value, it is considered that the matching is successful. For another example, it is judged whether the road traffic direction of each link is a bidirectional traffic direction containing the forward direction and the reverse direction. If yes, it is considered that the matching is successful. If all the matching is successful, it is indicated that the demand route can be traveled in the forward direction, and the link sequence composed of each link in the reverse direction can be determined as the reverse path, and the guide data is made based on the reverse path to generate the reverse guide data.

[0120] In some other embodiments, the "performing bidirectional routing processing based on the forward direction, the reverse direction, the demand route and the road traffic directions corresponding to the demand route, and generating bidirectional navigation data" includes: if there is at least one link corresponding to the road traffic direction which fails to match the forward direction, and there is at least one link corresponding to the road traffic direction which fails to match the reverse direction, a failure prompt information is generated.

[0121] Specifically, the navigation client matches the road traffic direction of each link with the forward direction and the reverse direction according to the direction matching manner in the above embodiments. If there is at least one link corresponding to the road traffic direction which fails to match the forward direction, it is indicated that at least part of the links in the demand route cannot be traveled in the forward direction. At the same time, if there is at least one link corresponding to the road traffic direction which fails to match the reverse direction, it is indicated that at least part of the links in the demand route cannot be traveled in the reverse direction. In this way, the demand route cannot be guided in any direction in the bidirectional direction. Then, the navigation server generates a failure prompt information.

[0122] On the basis of this embodiment, the navigation server can feed back the failure prompt information to the navigation client, so that the navigation client can give a prompt based on the failure prompt information.

[0123] In some other embodiments, the "performing bidirectional routing processing based on the forward direction, the reverse direction, the demand route and the road traffic directions corresponding to the demand route, and generating bidirectional navigation data" includes: if there is at least one link corresponding to the road traffic direction which fails to match the forward direction, and the road traffic direction of each link matches the reverse direction, reverse navigation data is generated based on each link and the reverse direction.

[0124] Specifically, according to the direction matching manner in the above embodiments, if the navigation server determines that at least part of the links in the demand route cannot be traveled in the forward direction, but the reverse direction can be traveled, then the navigation client can generate the reverse path according to each link and the reverse direction, make the guide data, generate the reverse guide data, and constitute the reverse navigation data.

[0125] On the basis of this embodiment, the navigation server can feed back the reverse navigation data to the navigation client, so that the navigation client performs navigation guidance processing based on the current position and the reverse navigation data.

[0126] In still some embodiments, the above-mentioned "performing bidirectional routing processing based on the forward direction, the reverse direction, the demand route and the road traffic direction corresponding to the demand route, and generating bidirectional navigation data" comprises: if the road traffic directions corresponding to each link are all successfully matched with the forward direction, and there is at least one link whose road traffic direction is unsuccessfully matched with the reverse direction, generating forward navigation data based on each link and the forward direction.

[0127] Specifically, according to the direction matching manner in the above-mentioned embodiments, if the navigation server determines that the forward direction of the demand route is passable, but at least part of the links cannot pass in the reverse direction, then the navigation client can generate a forward path according to each link and the forward direction, make guidance data, generate forward guidance data, and constitute forward navigation data.

[0128] On the basis of this embodiment, the navigation server can feed back the forward navigation data to the navigation client, so that the navigation client performs navigation guidance processing based on the current position and the forward navigation data.

[0129] Figure 5 The signaling diagram of navigation guidance between the navigation client and the navigation server provided by the embodiments of the present disclosure is provided. Referring to Figure 5 , the navigation guidance method comprises:

[0130] S501, the navigation client determines a demand route and a bidirectional guidance identifier in response to a bidirectional navigation instruction, and generates a navigation data request based on the demand route and the bidirectional guidance identifier.

[0131] S502, the navigation client sends the navigation data request to the navigation server.

[0132] S503, the navigation server parses the navigation data request sent by the navigation client, and obtains the demand route and the demand guidance identifier.

[0133] S504, when the demand guidance identifier is the bidirectional guidance identifier, the navigation server determines a forward direction and a reverse direction based on the demand route. Then, according to the road traffic condition of the demand route, S505, S513, S515 or S517 are executed.

[0134] S505, when the road traffic directions corresponding to each link in the demand route are all successfully matched with the forward direction, and the road traffic directions corresponding to each link are all successfully matched with the reverse direction, the navigation server generates forward navigation data based on each link and the forward direction, and generates reverse navigation data based on each link and the reverse direction.

[0135] S506, the navigation server sends the bidirectional navigation data containing the forward navigation data and the reverse navigation data to the navigation client.

[0136] S507, the navigation client sorts the forward path and the reverse path based on the proximity between the current position and the start point of the path.

[0137] S508, the navigation client traverses the sorted forward path and reverse path, and performs path matching on the traversed path based on the current position and the current travel direction. If the path matching is successful, go to S509; if the path matching fails, go to S512.

[0138] S509, the navigation client determines the target guide data from the forward guide data and the reverse guide data based on the target path matched successfully when the path matching is successful.

[0139] S510, the navigation client performs navigation guidance based on the current position using the target guide data, and goes to S512.

[0140] S511, the navigation client goes to S512 when the path matching fails.

[0141] S512, the navigation client updates the current position and the current travel direction, and returns to perform S507 when the time difference between the current system time and the last sorting operation time reaches the interval length, and returns to perform S508 when the time difference between the current system time and the last sorting operation time does not reach the interval length, until the navigation ends.

[0142] S513, the navigation server generates a failure prompt information when there is at least one link corresponding to the road traffic direction that fails to match the forward direction, and there is at least one link corresponding to the road traffic direction that fails to match the reverse direction, and sends the failure prompt information to the navigation client.

[0143] S514, the navigation client prompts based on the failure prompt information.

[0144] S515, the navigation server generates reverse navigation data based on each link and the reverse direction when there is at least one link corresponding to the road traffic direction that fails to match the forward direction, and each link corresponding to the road traffic direction matches the reverse direction successfully, and sends the reverse navigation data to the navigation client.

[0145] S516, the navigation client performs navigation guidance based on the current position using the reverse guide data.

[0146] S517, when the navigation server matches the road traffic directions of all the links with the forward direction successfully and there is at least one link whose road traffic direction fails to match the reverse direction, the navigation server generates forward navigation data based on the links and the forward direction, and sends the forward navigation data to the navigation client.

[0147] S518, the navigation client performs navigation guidance based on the current position and the forward guidance data.

[0148] Figure 6 A structural schematic diagram of a navigation guidance device configured in a navigation client is provided in the embodiments of the present disclosure. As shown in the figure, Figure 6 the navigation guidance device 600 configured in the navigation client provided by the embodiments of the present disclosure can include:

[0149] The demand route determination module 610 is configured to determine a demand route and a bidirectional guidance identifier in response to bidirectional navigation instructions.

[0150] The navigation data request sending module 620 is configured to generate a navigation data request based on the demand route and the bidirectional guidance identifier, and send the navigation data request to the navigation server, wherein the navigation data request is used to trigger the navigation server to perform bidirectional route calculation processing based on the demand route.

[0151] The bidirectional navigation data receiving module 630 is configured to receive bidirectional navigation data fed back by the navigation server, wherein the bidirectional navigation data includes forward navigation data and reverse navigation data corresponding to the demand route.

[0152] The navigation guidance module 640 is configured to perform navigation guidance processing based on the current position, the current travel direction, and the bidirectional navigation data.

[0153] In some embodiments, the forward navigation data includes a forward path and forward guidance data, and the reverse navigation data includes a reverse path and reverse guidance data.

[0154] Correspondingly, the navigation guidance module 640 includes:

[0155] The path matching sub-module is configured to perform path matching on the forward path and the reverse path based on the current position and the current travel direction.

[0156] The target guidance data determination sub-module is configured to, if the matching is successful, determine target guidance data from the forward guidance data and the reverse guidance data based on the target path on which the matching is successful.

[0157] The navigation guidance sub-module is configured to perform navigation guidance based on the current position and the target guidance data.

[0158] In some embodiments, the path matching sub-module includes:

[0159] a sorting unit configured to sort the forward paths and the reverse paths based on a closeness between the current position and a path start point of the paths;

[0160] a path matching unit configured to traverse the sorted forward paths and the reverse paths, and perform path matching on a traversed path based on the current position and a current travel direction.

[0161] In some embodiments, the path matching unit is specifically configured to:

[0162] determine a preset number of continuous historical positions corresponding to the current position;

[0163] if the current position and each historical position are matched to the traversed path, determine whether the current travel direction is consistent with a path direction of the traversed path;

[0164] if yes, determine that the traversed path is matched successfully.

[0165] In some embodiments, the sorting unit is specifically configured to:

[0166] determine a distance between the current position and a path start point of the forward paths, and determine a distance between the current position and a path start point of the reverse paths;

[0167] based on the distances, determine the sorting of the forward paths and the reverse paths.

[0168] In some embodiments, the navigation guiding sub-module is specifically configured to:

[0169] if the current position is a start point of the demand route, display a travel position mark starting from the start point, and perform navigation guiding in a direction of an end point of the demand route by using the target guiding data;

[0170] if the current position is the end point, display the travel position mark starting from the end point, and perform navigation guiding in a direction of the start point by using the target guiding data;

[0171] if the current position is in a middle section of the demand route, display the travel position mark starting from the current position, and perform navigation guiding in a path direction of the target path by using the target guiding data.

[0172] In some embodiments, the navigation guiding device 600 configured in the navigation client further includes a loop guiding module configured to:

[0173] after performing navigation guiding by using the target guiding data based on the current position, update the current position and the current travel direction, and return to perform path matching on the forward paths and the reverse paths based on the current position and the current travel direction until the navigation is ended.

[0174] In some embodiments, the navigation guiding device 600 configured at the navigation client further comprises a current travel direction determining module, configured to:

[0175] determine the current travel direction based on at least one historical position in the current travel process before the navigation guiding process based on the current position, the current travel direction and the bidirectional navigation data.

[0176] Or, the current travel direction is determined based on the target sensor corresponding to the navigation client before the navigation guiding process based on the current position, the current travel direction and the bidirectional navigation data.

[0177] In some embodiments, the navigation guiding device 600 configured at the navigation client further comprises a bidirectional navigation failure processing module, configured to:

[0178] receive the bidirectional navigation failure information fed back by the navigation server after the navigation request is generated and sent to the navigation server based on the demand route and the bidirectional guiding identifier.

[0179] If the bidirectional navigation failure information comprises unidirectional navigation data, the navigation guiding process is performed based on the current position, the current travel direction and the unidirectional navigation data; and / or, if the bidirectional navigation failure information comprises failure prompt information, the prompt is performed based on the failure prompt information.

[0180] The navigation guiding device configured at the navigation client provided by the embodiments of the present disclosure can perform the navigation guiding method for the navigation client provided by any of the embodiments of the present disclosure, and has the corresponding function modules and beneficial effects of the execution method. The contents not described in detail in the device embodiments of the present disclosure can be referred to the description in any of the method embodiments of the present disclosure.

[0181] Figure 7 A structural schematic diagram of a navigation guiding device configured at a navigation server provided by an embodiment of the present disclosure is shown in FIG. 7. As shown in FIG. 7, the navigation guiding device 700 configured at the navigation server provided by the embodiments of the present disclosure can comprise: Figure 7

[0182] a navigation data request analysis module 710, configured to analyze the navigation data request sent by the navigation client to obtain the demand route and the demand guiding identifier;

[0183] a bidirectional navigation data generation module 720, configured to perform bidirectional route calculation processing based on the demand route to generate bidirectional navigation data if the demand guiding identifier is a bidirectional guiding identifier; wherein the bidirectional navigation data comprises forward navigation data and reverse navigation data corresponding to the demand route;

[0184] ​The bidirectional navigation data sending module 730 is configured to feed back bidirectional navigation data to the navigation client, so that the navigation client performs navigation guidance processing based on the current position, the current travel direction, and the bidirectional navigation data.

[0185] In some embodiments, the bidirectional navigation data generation module 720 includes:

[0186] The direction determination sub-module is configured to determine the forward direction and the reverse direction based on the demand route.

[0187] The bidirectional navigation data generation sub-module is configured to perform bidirectional route calculation processing based on the forward direction, the reverse direction, the demand route, and the road traffic directions corresponding to the links in the demand route, and generate bidirectional navigation data.

[0188] In some embodiments, the bidirectional navigation data generation sub-module is specifically configured to:

[0189] If the road traffic directions corresponding to all the links in the demand route are successfully matched with the forward direction and the reverse direction, respectively, the forward navigation data is generated based on the links and the forward direction, and the reverse navigation data is generated based on the links and the reverse direction.

[0190] In some other embodiments, the bidirectional navigation data generation sub-module is specifically configured to:

[0191] If there is at least one link whose road traffic direction fails to match with the forward direction, and there is at least one link whose road traffic direction fails to match with the reverse direction, a failure prompt information is generated.

[0192] Correspondingly, the navigation guidance device 700 configured in the navigation server further includes a failure prompt information sending module configured to:

[0193] feed back the failure prompt information to the navigation client, so that the navigation client performs prompting based on the failure prompt information.

[0194] In some other embodiments, the bidirectional navigation data generation sub-module is specifically configured to:

[0195] If there is at least one link whose road traffic direction fails to match with the forward direction, and the road traffic directions corresponding to all the links are successfully matched with the reverse direction, the reverse navigation data is generated based on the links and the reverse direction.

[0196] Correspondingly, the navigation guidance device 700 configured in the navigation server further includes a reverse navigation data sending module configured to:

[0197] feed back the reverse navigation data to the navigation client, so that the navigation client performs navigation guidance processing based on the current position and the reverse navigation data.

[0198] In some other embodiments, the bidirectional navigation data generation submodule is specifically used for:

[0199] If the road travel direction corresponding to each link is successfully matched with the forward direction, and at least one link is not matched with the reverse direction, then forward navigation data is generated based on each link and the forward direction.

[0200] Accordingly, the navigation guidance device 700 configured on the navigation server also includes a forward navigation data transmission module, used for:

[0201] The forward navigation data is fed back to the navigation client so that the navigation client can perform navigation guidance processing based on the current location and the forward navigation data.

[0202] The navigation guidance device configured on a navigation server provided in this disclosure can execute the navigation guidance method applied to a navigation server provided in any embodiment of this disclosure, and has the corresponding functional modules and beneficial effects of the method execution. Content not described in detail in the device embodiments of this disclosure can be referred to the description in any method embodiment of this disclosure.

[0203] This disclosure also provides an electronic device that may include at least a processor and a memory, the memory being used to store executable instructions. The processor may be used to read the executable instructions from the memory and execute the executable instructions to implement the navigation guidance method in any of the above embodiments.

[0204] Figure 8 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure. Figure 8 As shown, the electronic device 800 may include a processor 801 (e.g., a central processing unit, a graphics processor, etc.), which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 802 or a program loaded from a storage device 808 into a random access memory (RAM) 803. The RAM 803 also stores various programs and data required for the operation of the electronic device 800. The processor 801, ROM 802, and RAM 803 are interconnected via a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.

[0205] In general, the following devices can be connected to the I / O interface 805: input devices 806 including, for example, a touch screen, a touch pad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, and the like; output devices 807 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, and the like; storage devices 808 including, for example, a magnetic tape, a hard disk, and the like; and communication devices 809. The communication devices 809 can allow the electronic device 800 to communicate wirelessly or wiredly with other devices to exchange data.

[0206] It is to be noted that, Figure 8 The electronic device 800 shown is merely one example. It should not be construed to limit the scope of functionality or use of embodiments of the present disclosure. That is, although Figure 8 The electronic device 800 is shown with various devices, but it is understood that not all of the devices shown need be implemented or present. More or fewer devices can alternatively be implemented or present.

[0207] In particular, the processes described above with reference to the flowcharts can be implemented as a computer software program according to embodiments of the present disclosure. For example, embodiments of the present disclosure include a computer program product comprising a computer program carried on a non-transitory computer-readable medium, the computer program containing program code for executing the methods illustrated by the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network through the communication devices 809, or installed from the storage devices 808, or installed from the ROM 802. When the computer program is executed by the processor 801, the functions defined in the navigation guidance method provided by any embodiments of the present disclosure can be performed.

[0208] It should be noted that the computer-readable medium in the above disclosure can be a computer-readable signal medium or a computer-readable storage medium or any combination of the two. The computer-readable storage medium may, for example, but is not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or apparatus, or any combination thereof. More specific examples of the computer-readable storage medium can include, but are not limited to, an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, the computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, device or apparatus. In the present disclosure, the computer-readable signal medium can include a data signal carried in a baseband or as a part of a carrier wave, which carries computer-readable program code. Such a propagated data signal can take various forms, including but not limited to an electromagnetic signal, an optical signal or any suitable combination thereof. The computer-readable signal medium can also be any computer-readable medium other than the computer-readable storage medium, which can send, propagate or transmit a program for use by or in conjunction with an instruction execution system, device or apparatus. The program code contained in the computer-readable medium can be transmitted by any suitable medium, including but not limited to a wire, a cable, an RF (radio frequency) or the like, or any suitable combination thereof.

[0209] In some embodiments, the client, server can communicate using any currently known or future developed network protocol, such as HTTP (HyperText Transfer Protocol), and can be interconnected with digital data communication (e.g., communication networks) of any form or medium, such as the Internet. Examples of communication networks include local area networks ("LAN"), wide area networks ("WAN"), internetworks (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future developed networks.

[0210] The computer-readable medium described above can be included in the electronic device described above; or can exist separately without being assembled into the electronic device.

[0211] The computer-readable medium described above carries one or more programs, which, when executed by the electronic device, cause the electronic device to perform the navigation guidance method provided by any embodiment of the present disclosure.

[0212] Computer program code for carrying out operations of the present disclosure can be written in any one or more of a variety of programming languages or combinations of languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code can execute entirely on a computer, partly on the computer, as a stand-alone software package, partly on the computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider).

[0213] The flow diagrams and the block diagrams in the drawings are meant as illustrative representations of the architectures, functions, and operations of possible implementations of systems, methods and computer program products according to the present disclosure. It should be noted that each block in the flow diagrams and the block diagrams can represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that in some alternative implementations, the functions noted in the blocks can occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently or the blocks can sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and / or flow diagrams, and combinations thereof, can be implemented by special purpose hardware-based systems that perform the specified functions or operations, or combinations of special purpose hardware and computer instructions.

[0214] The modules, sub-modules and units described in the embodiments of the present disclosure can be implemented by software, or by hardware. In some cases, the name of the module / sub-module / unit does not constitute a limitation on the module itself.

[0215] The functions described above in the detailed description of the present disclosure can be implemented in at least one of the following ways: by a software module; by a hardware module; or by a combination of software and hardware modules. For example, and without limitation, example types of hardware logic that can be used include: Field-Programmable Gate Arrays (FPGAs), Application-Specific Integrated Circuits (ASICs), Application-Specific Standard Products (ASSPs), System-on-a-Chip (SOCs), Complex Programmable Logic Devices (CPLDs), etc.

[0216] In the context of this disclosure, a computer-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A computer-readable medium can be a computer-readable signal medium or a computer-readable storage medium. A computer-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of computer-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0217] The above description is merely a preferred embodiment of this disclosure and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of this disclosure is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features disclosed in this disclosure that have similar functions.

[0218] Furthermore, while the operations are described in a specific order, this should not be construed as requiring these operations to be performed in the specific order shown or in a sequential order. In certain environments, multitasking and parallel processing may be advantageous. Similarly, while several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of this disclosure. Certain features described in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments.

[0219] Although the subject matter has been described using language specific to structural features and / or methodological logic, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. Rather, the specific features and actions described above are merely illustrative examples of implementing the claims.

Claims

1. A navigation guidance method, characterized in that, Applied to navigation clients, including: In response to a two-way navigation command, the required route and two-way guidance markers are determined. The two-way navigation command is a command generated to activate the two-way navigation guidance function. The required route refers to a user-defined travel route that requires navigation guidance services from the navigation client, and it includes the two endpoints of the route and the road segments covered by the route. Based on the required route and the bidirectional guidance identifier, a navigation data request is generated and sent to the navigation server; wherein, the navigation data request is used to trigger the navigation server to perform bidirectional route calculation based on the required route; Receive bidirectional navigation data fed back by the navigation server; wherein, the bidirectional navigation data includes forward navigation data and reverse navigation data corresponding to the requested route; Navigation guidance is performed based on the current location, current direction of travel, and the bidirectional navigation data.

2. The method according to claim 1, wherein, The forward navigation data includes a forward path and forward guidance data, and the reverse navigation data includes a reverse path and reverse guidance data; The navigation guidance process based on the current location, current direction of travel, and the bidirectional navigation data includes: Based on the current position and the current direction of travel, perform path matching on the forward path and the reverse path; If a match is successful, then target guidance data is determined from the forward guidance data and the reverse guidance data based on the successfully matched target path; Based on the current location, navigation guidance is performed using the target guidance data.

3. The method according to claim 2, wherein, The path matching between the forward path and the reverse path based on the current position and the current direction of travel includes: Based on the similarity between the current position and the starting point of the path, the forward path and the reverse path are sorted. Traverse the sorted forward path and the reverse path, and perform path matching on the traversed path based on the current position and the current direction of travel.

4. The method according to claim 3, wherein, The path matching based on the current position and the current direction of travel includes: Determine a preset number of consecutive historical locations corresponding to the current location; If the current position and each of the historical positions match the traversed path, then it is determined whether the current direction of travel and the path direction of the traversed path are consistent. If so, then the traversed path is considered to have been successfully matched.

5. The method according to claim 3, wherein, The process of sorting the forward path and the reverse path based on the proximity between the current position and the starting point of the path includes: Determine the distance between the current position and the starting point of the forward path, and determine the distance between the current position and the starting point of the reverse path; Based on the distances mentioned above, the order of the forward path and the reverse path is determined.

6. The method according to claim 2, wherein, The navigation guidance based on the current location and using the target guidance data includes: If the current location is the starting point of the required route, then the travel position indicator is displayed starting from the starting point, and navigation guidance is performed using the target guidance data in the direction of the end point of the required route; If the current position is the destination, then the travel position indicator is displayed starting from the destination, and navigation guidance is performed in the direction of the starting point using the target guidance data; If the current location is in the middle of the required route, the travel location marker will be displayed starting from the current location, and navigation guidance will be provided using the target guidance data in the direction of the target path.

7. The method according to claim 2, wherein, After providing navigation guidance based on the current location and using the target guidance data, the method further includes: Update the current position and the current direction of travel, and return to the step of performing path matching on the forward path and the reverse path based on the current position and the current direction of travel, until navigation ends.

8. The method according to any one of claims 1 to 7, wherein, Before performing navigation guidance processing based on the current location, current direction of travel, and the bidirectional navigation data, the method further includes: The current direction of travel is determined based on the current position and at least one historical position during the current travel process; Alternatively, the current direction of travel can be determined based on the target sensor corresponding to the navigation client.

9. The method according to claim 1, wherein, After generating a navigation request based on the required route and bidirectional guidance identifier, and sending the navigation request to the navigation server, the method further includes: Receive bidirectional navigation failure information from the navigation server; If the bidirectional navigation failure information includes unidirectional navigation data, then navigation guidance processing is performed based on the current position, the current direction of travel, and the unidirectional navigation data; And / or, if the bidirectional navigation failure information includes failure prompt information, then a prompt is made based on the failure prompt information.

10. A navigation guidance method, characterized in that, Applied to navigation servers, including: The navigation data request sent by the navigation client is parsed to obtain the required route and the required guidance identifier. The required route refers to the user-defined travel route that requires the navigation client to provide navigation guidance services. It includes the two endpoints of the route and the road segments covered by the route. If the demand guidance identifier is a two-way guidance identifier, then two-way routing processing is performed based on the demand route to generate two-way navigation data; wherein, the two-way navigation data includes forward navigation data and reverse navigation data corresponding to the demand route; The bidirectional navigation data is fed back to the navigation client so that the navigation client can perform navigation guidance processing based on the current location, current direction of travel, and the bidirectional navigation data.

11. The method according to claim 10, wherein, The bidirectional route calculation based on the required route, generating bidirectional navigation data, includes: Based on the aforementioned demand route, determine the forward and reverse directions; Based on the forward direction, the reverse direction, the required route, and the road traffic direction corresponding to the required route, bidirectional route calculation is performed to generate the bidirectional navigation data.

12. The method according to claim 11, wherein, The step of performing bidirectional route calculation based on the forward direction, the reverse direction, the required route, and the road traffic direction corresponding to the required route to generate the bidirectional navigation data includes: If the road travel direction corresponding to each link in the required route is successfully matched with the forward direction, and the road travel direction corresponding to each link is successfully matched with the reverse direction, then the forward navigation data is generated based on each link and the forward direction, and the reverse navigation data is generated based on each link and the reverse direction.

13. A navigation and guidance device, characterized in that, Configured in the navigation client, including: The route determination module is used to determine the route and bidirectional guidance identifier in response to the bidirectional navigation command. The bidirectional navigation command is a command generated to start the bidirectional navigation guidance function. The route is a user-defined travel route that requires navigation guidance services from the navigation client. It includes the two endpoints of the route and the road segments covered by the route. A navigation data request sending module is used to generate a navigation data request based on the required route and the bidirectional guidance identifier, and send the navigation data request to the navigation server; wherein, the navigation data request is used to trigger the navigation server to perform bidirectional route calculation processing based on the required route; A two-way navigation data receiving module is used to receive two-way navigation data fed back by the navigation server; wherein, the two-way navigation data includes forward navigation data and reverse navigation data corresponding to the required route; The navigation guidance module is used to perform navigation guidance processing based on the current location, current direction of travel, and the bidirectional navigation data.

14. A navigation and guidance device, characterized in that, Configured on the navigation server, including: The navigation data request parsing module is used to parse the navigation data request sent by the navigation client to obtain the required route and the required guidance identifier. The required route refers to the user-defined travel route that requires the navigation client to provide navigation guidance services. It includes the two endpoints of the route and the road segments covered by the route. A two-way navigation data generation module is used to generate two-way navigation data based on the demand route if the demand guidance identifier is a two-way guidance identifier; wherein, the two-way navigation data includes forward navigation data and reverse navigation data corresponding to the demand route; A two-way navigation data sending module is used to feed back the two-way navigation data to the navigation client, so that the navigation client can perform navigation guidance processing based on the current location, the current direction of travel, and the two-way navigation data.

15. An electronic device, characterized in that, include: A memory and a processor, wherein the memory is used to store executable instructions of the processor; The processor is configured to read the executable instructions from the memory and execute the executable instructions to implement the navigation guidance method as described in any one of claims 1 to 12.

16. A computer program product, characterized in that, The computer program product is used to execute the navigation guidance method according to any one of claims 1 to 12.

Citation Information

Patent Citations

  • Wearable device-based navigation method and wearable device

    CN107036605A

  • Path planning method, system and device

    CN114779786A