Navigation route determination and display method, wearable electronic equipment and storage medium
By using a method of loading and rendering map data in different regions, the problem of low efficiency in determining navigation routes for smart wearable devices with limited computing power is solved. This enables rapid map rendering and real-time updates of navigation routes, ensuring the accuracy and clarity of navigation.
Patent Information
- Application Number
- CN202511712561.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-20
- Publication Date
- 2026-02-24
AI Technical Summary
Smart wearable electronic devices with limited computing power cannot determine and display navigation routes in a timely manner, especially when the distance between the starting point and the destination is far. Map loading and rendering take a long time, resulting in low navigation efficiency.
The method of loading and rendering map data in different regions is adopted. First, local map data containing the starting point is loaded. The map data is dynamically updated as the user's location changes. The first map is updated using second map data, which reduces the amount of data and computation and improves the efficiency of rendering and navigation route determination.
It improves the efficiency of map rendering and navigation route determination, ensures map clarity and real-time updates of navigation routes, and ensures that users can reach their destination in a timely and accurate manner.
Smart Images

Figure CN121558057A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of electronic device technology, specifically to a navigation route determination and display method, a wearable electronic device, and a storage medium. Background Technology
[0002] With the rapid development of smart wearable electronic devices, more and more users are wearing them to improve the convenience of their lives. Smart wearable electronic devices include smartwatches, smart bracelets, and smart glasses. Taking smartwatches as an example, users can use them for health monitoring, information exchange, and mobile payments.
[0003] To further enhance the convenience of smart wearable electronic devices, navigation functionality can be added, allowing users to obtain navigation routes outdoors. For smart wearable devices with limited computing power, determining navigation routes in a timely manner and providing them to users in real time is a problem that needs to be solved. Summary of the Invention
[0004] In view of the above problems, this application provides a navigation route determination and display method, a wearable electronic device and a storage medium to solve the problem that wearable electronic devices in the prior art cannot determine navigation routes in a timely manner.
[0005] According to one aspect of the embodiments of this application, a navigation route determination and display method is provided, applied to a wearable electronic device. The method includes: in response to receiving a navigation instruction, loading first map data and second map data, wherein the navigation instruction includes a starting position and an ending position, the first map data is map data of a first geographical region containing the starting position, and the second map data is map data of a second geographical region adjacent to the first geographical region; rendering the first map data to obtain and display the rendered first map; determining a current navigation route starting from the starting position in the first map based on the ending position; displaying the current navigation route on the first map; in response to a user wearing the wearable electronic device whose position change distance reaches a preset distance threshold at adjacent times, determining whether the navigation ending position of the current navigation route is the ending position; if the navigation ending position of the current navigation route is not the ending position, updating the starting position to the user's current position, updating the first map using the second map data based on the updated starting position, updating the second map data, and then proceeding to the step of determining the current navigation route starting from the starting position in the first map based on the ending position.
[0006] In one alternative approach, the step of loading first map data and second map data in response to receiving a navigation instruction includes: loading original map data within a first range centered on the starting point location to obtain first map data for the first geographical region; loading original map data within a second range centered on the starting point location to obtain third map data, wherein the second range is larger than the first range; and determining other original map data in the third map data besides the first map data as second map data for the second geographical region.
[0007] In one optional embodiment, the navigation instruction further includes a navigation method for the user to move from the starting point to the ending point; the step of loading original map data within a first range centered on the starting point to obtain the first map data of the first geographical region in response to receiving the navigation instruction includes: in response to receiving the navigation instruction, determining a scale corresponding to the navigation method from a preset first correspondence, wherein the first correspondence is a one-to-one correspondence between multiple navigation methods and multiple scales, and the scale is the ratio of the size of the display area used by the wearable electronic device to display the first map to the size of the first geographical region; and determining the scale based on the scale and the size of the display area. The process involves: determining the first range; loading the original map data within the first range centered on the starting point to obtain the first map data for the first geographical region; and loading the original map data within the second range centered on the starting point to obtain the third map data, which includes: determining the scale corresponding to the navigation method from a preset second correspondence, wherein the second correspondence is a one-to-one correspondence between multiple navigation methods and multiple scales, and the scale is positively correlated with the size of the display area; determining the second range based on the scale, the size of the display area, and the scale; and loading the original map data within the second range centered on the starting point to obtain the third map data.
[0008] In one optional approach, determining the current navigation route from the starting point in the first map based on the endpoint location includes: obtaining the starting point longitude and starting point latitude of the starting point location, and the first endpoint longitude and first endpoint latitude of the endpoint location; determining the first longitude difference between the first endpoint longitude and the starting point longitude, and the first latitude difference between the first endpoint latitude and the starting point latitude; establishing a reference coordinate system with the starting point longitude and the starting point latitude as the origin; determining a point in the reference coordinate system that is at a distance from the origin from the first longitude difference and the first latitude difference as a first target point; determining a target display area in the display area of the wearable electronic device for displaying the first map based on the positional relationship between the origin and the first target point in the reference coordinate system, wherein the target display area is smaller than the display area, and the target map displayed in the target display area includes the starting point location; and determining the current navigation route in the target map displayed in the target display area.
[0009] In one optional approach, the step of updating the starting position to the user's current position if the navigation endpoint of the current navigation route is not the endpoint, updating the first map using the second map data based on the updated starting position, updating the second map data, and then proceeding to the step of determining the current navigation route starting from the starting position in the first map based on the endpoint position, includes: if the navigation endpoint of the current navigation route is not the endpoint, updating the starting position to the user's current position; determining map data to be rendered from the second map data based on the user's position at the current time and the previous time; and rendering the map data to be rendered. The process involves: obtaining rendered map data; updating the first map using the rendered map data; loading original map data within a third range centered on the updated starting point to obtain fourth map data; updating the second map data using the fourth map data; determining whether the user's current location deviates from the current navigation route; if the user's current location does not deviate from the current navigation route, proceeding to the step of determining the current navigation route in the target map displayed within the target display area; if the user's current location deviates from the current navigation route, updating the target display area within the display area, and proceeding to the step of determining the current navigation route in the target map displayed within the target display area.
[0010] In one optional approach, determining the current navigation route from the target map displayed within the target display area includes: determining a set of navigation routes from the target map displayed within the target display area, wherein the set of navigation routes includes one or more navigation routes originating from the starting point; if the set of navigation routes includes only one navigation route, then that navigation route is determined as the current navigation route; if the set of navigation routes includes multiple navigation routes, then the angle between the line segment corresponding to each navigation route and the target line segment is determined in the reference coordinate system, resulting in multiple angles corresponding one-to-one with the multiple navigation routes, and these multiple angles are... The navigation route corresponding to the smallest included angle in the coordinate system is determined as the current navigation route. The target line segment is the line connecting the origin and the first target point. Each navigation route's corresponding line segment is determined through the following steps: obtaining the second endpoint longitude and the second endpoint latitude of the navigation route's endpoint; determining the second longitude difference between the second endpoint longitude and the starting point longitude, and the second latitude difference between the second endpoint latitude and the starting point latitude; determining the point in the reference coordinate system that is at a distance from the origin from the second longitude difference and the second latitude difference as the second target point; and determining the line connecting the origin and the second target point as the line segment corresponding to the navigation route.
[0011] In one optional approach, determining the navigation route set from the target map displayed within the target display area includes: determining obstacle areas in the target map displayed within the target display area; determining closed areas corresponding to the obstacle areas in the reference coordinate system; determining all routes starting from the starting point in the target map displayed within the target display area; determining whether a line segment corresponding to each of the all routes has a common point with the closed area in the reference coordinate system; if a line segment corresponding to a certain route in the all routes has a common point with the closed area, then deleting that route from the all routes; and using the remaining routes in the all routes as the navigation route set.
[0012] In an optional embodiment, the method further includes: if each line segment corresponding to all routes has a common point with the closed area, then the target display area is updated to the area adjacent to the target display area in the display area, and the process proceeds to the step of determining the obstacle area in the target map displayed in the target display area.
[0013] According to another aspect of the embodiments of this application, a wearable electronic device is provided, including a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the navigation route determination and display method as described above.
[0014] According to another aspect of the embodiments of this application, a computer-readable storage medium is provided, on which a computer program is stored, which, when executed by a processor, implements the navigation route determination and display method as described above.
[0015] In this embodiment, after loading the first map data and the second map data, a first map is obtained by rendering the first map data, which only covers a local area of the starting point. Since the loaded first and second map data have a smaller data volume compared to the global map (the global map from the starting point to the ending point), and because the first map is a local area map rather than a global map from the starting point to the ending point, the data volume is also smaller when rendering the first map data, thus improving map rendering efficiency. Furthermore, since the first map is a local area map, the computational load can be reduced when determining the current navigation route in the first map, thereby improving the efficiency of determining the current navigation route. When the user's location changes, if the endpoint of the current navigation route is not the final destination, it means that the navigation route still needs to be determined. In this case, this embodiment updates the starting point to the user's current location and updates the first map using the second map data, without reloading the original map data to update the first map, improving the update efficiency of the first map. This allows for timely determination of the current navigation route based on the updated first map, guiding the user to the destination. Through the above-described method of regional division, dynamic updating of the first map, and determination of the navigation route, the efficiency of determining the navigation route is improved.
[0016] Furthermore, in this embodiment of the application, by rendering a first map that only covers a local area of the starting point, since the first map of the local area is smaller than the global map, it is ensured that the first map can be displayed on the wearable electronic device at an appropriate scale, thus guaranteeing the clarity and readability of the first map and the current navigation route displayed by the wearable electronic device.
[0017] The above description is merely an overview of the technical solutions of the embodiments of this application. In order to better understand the technical means of the embodiments of this application and to implement them in accordance with the contents of the specification, and to make the above and other objects, features and advantages of the embodiments of this application more obvious and understandable, specific implementation methods of this application are described below. Attached Figure Description
[0018] The accompanying drawings are for illustrative purposes only and are not intended to limit the scope of this application. Furthermore, the same reference numerals denote the same parts throughout the drawings. In the drawings: Figure 1 A flowchart illustrating the navigation route determination and display method provided in an embodiment of this application is shown; Figure 2A schematic diagram illustrating the first map data range, second map data range, third map data range, and fourth map data range provided in an embodiment of this application is shown. Figure 3 A flowchart illustrating the sub-steps of step 130 provided in an embodiment of this application is shown; Figure 4 A schematic diagram of the coordinate system provided in an embodiment of this application is shown; Figure 5 This illustration shows a schematic diagram of the relationship between the display area and the target display area of the smartwatch provided in an embodiment of this application; Figure 6 A flowchart illustrating the method for determining the current navigation route provided in an embodiment of this application is shown. Figure 7 A flowchart illustrating the sub-steps of step 210 provided in an embodiment of this application is shown. Figure 8 A schematic diagram of the structure of a wearable electronic device provided in an embodiment of this application is shown. Detailed Implementation
[0019] Exemplary embodiments of the present application will now be described in more detail with reference to the accompanying drawings. Although exemplary embodiments of the present application are shown in the drawings, it should be understood that the present application may be implemented in various forms and should not be limited to the embodiments set forth herein.
[0020] With the development of smart wearable electronic devices (hereinafter referred to as wearable electronic devices), some wearable electronic devices can provide navigation functions. Taking smartwatches as an example, when users are walking, running, cycling or doing other sports outdoors, they do not need to frequently check their phones; they can simply raise their wrists to obtain navigation routes, greatly facilitating their travel.
[0021] When a user uses a smartwatch for navigation, after entering the starting point and destination location into the smartwatch, the smartwatch loads the original map data between the geographical areas where the starting point and destination are located, renders the original map data to obtain a map, then determines the navigation route from the starting point to the destination location on the map, and finally displays the navigation route to the user on the map.
[0022] Due to limitations in physical size, heat dissipation, and battery capacity, smartwatches, in order to achieve their basic functions while ensuring comfortable wear and sufficient battery life, have relatively limited processing power compared to devices like smartphones. Therefore, when the starting and ending points are far apart, the amount of raw map data for the geographical areas where the starting and ending points are located is large, resulting in longer loading times for the smartwatch. Furthermore, rendering this large amount of raw map data also takes longer. Moreover, because the rendered map is large, determining a complete navigation route from the starting point to the ending point within this map requires significant computation and takes considerable time.
[0023] In general, smartwatches with limited computing power may experience low efficiency in determining navigation routes and may be unable to determine and display navigation routes in a timely manner.
[0024] When determining navigation routes, smartwatches can reduce the amount of raw map data loaded each time by loading it in multiple stages. Specifically, they can load only the raw map data of the user's current geographical location and the upcoming geographical area at a time, instead of loading the entire geographical area between the starting and ending points all at once. This reduces the efficiency of loading raw map data. Furthermore, rendering only the raw map data of the user's current geographical area at a time, due to the smaller amount of data rendered, also improves rendering efficiency. Moreover, since the rendered map is a local map of the geographical area between the starting and ending points, the computational load for determining the navigation route within this local map is smaller, thus improving the efficiency of navigation route determination.
[0025] Figure 1This diagram illustrates a flowchart of a navigation route determination and display method provided in an embodiment of this application. The method is executed by a wearable electronic device, which may be a device including one or more processors, such as a smartwatch, smart bracelet, smart glasses, or other wearable electronic device with a display screen. The processor may be a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of this application; no limitation is made here. The one or more processors included in the wearable electronic device may be processors of the same type, such as one or more CPUs; or they may be processors of different types, such as one or more CPUs and one or more ASICs; no limitation is made here. For ease of description, the following description uses a smartwatch as an example of a wearable electronic device executing the navigation route determination and display method provided in this application, and does not limit the wearable electronic device. Figure 1 As shown, the method includes the following steps 110 to 180.
[0026] Step 110: In response to receiving a navigation command, load the first map data and the second map data.
[0027] Because the display area (i.e., the watch screen) of a smartwatch is limited in size, a larger map area needs to be displayed when the starting and ending points are far apart, i.e., when the user is navigating a long distance. To display this large map area completely on the smartwatch's screen, it needs to be significantly reduced in size. However, this significant reduction makes the map details blurry, making navigation information difficult to read and reducing map readability and the overall visual experience.
[0028] To avoid the aforementioned problems and to ensure a clearer map display on the smartwatch, this application loads both first and second map data upon receiving a navigation command. To better illustrate the relationship between the first and second map data, Figure 2 A schematic diagram illustrating the first map data range, second map data range, third map data range, and fourth map data range provided in an embodiment of this application is shown. Figure 2As shown in (a), taking the circular shape of the map display area on a smartwatch as an example, the first map data is the original map data of the first geographic region (i.e., the inner circle region with radius R1 in (a)) containing the starting point (corresponding to point A in the figure), and the second map data is the original map data of the second geographic region adjacent to the first geographic region (i.e., the annular region between the inner and outer circles in (a)). The ending point is point B. Since point B is far from point A, the second geographic region does not contain the ending point.
[0029] Specifically, the navigation instructions include a starting point location and an ending point location. The smartwatch pre-stores map data. Upon receiving the user's input of the starting and ending points, it loads first and second map data from the pre-stored map data. The determination and loading of the first and second map data will be described in detail in other embodiments below.
[0030] Step 120: Render the first map data to obtain and display the rendered first map.
[0031] Both the first and second map data are raw, unrendered map data. The raw map data structure contains basic point, line, and polygon (closed curve) data, and includes latitude and longitude information. In this step, the first map data is rendered to obtain and display the rendered first map.
[0032] Since the first map data is map data containing the first geographical region of the starting point, the rendered first map is a map containing that first geographical region. This first geographical region is the initial area where the user will begin navigation. Because the first geographical region is of moderate size, it can be displayed at a suitable scale on the limited display area of the smartwatch, thus ensuring that the details of the first map are clearly displayed when the smartwatch shows the first map.
[0033] Step 130: Determine the current navigation route starting from the starting point based on the destination location in the first map.
[0034] As previously explained, since the first map is a partial map of a local area between the starting point and the ending point, the current navigation route determined in the first map refers to a segment of the navigation route within the geographical area covered by the first map, starting from the starting point and guiding the user away from the starting point to the next area. It is only a part of the complete navigation route from the starting point to the ending point, not the entire navigation route. The specific method for determining the current navigation route will be described in other embodiments below.
[0035] Step 140: Display the current navigation route on the first map.
[0036] The current navigation route can be displayed on the first map in a striking style (such as a highlighted color or a dynamic arrow), thereby improving the display effect of the current navigation route.
[0037] Step 150: In response to the user's location change distance reaching a preset distance threshold at adjacent time points, determine whether the navigation endpoint of the current navigation route is the destination. If yes, end this process; otherwise, proceed to step 160.
[0038] As explained earlier, the current navigation route determined in step 130 is a portion of the complete navigation route from the starting point to the destination, not the entire route. Therefore, when a user travels along this current navigation segment, if the destination of this current navigation route is not the final destination, it is necessary to continue determining and updating the subsequent navigation route to continuously provide navigation guidance to the user and ensure that the user can smoothly move from the starting point to the final destination (i.e., the destination).
[0039] Therefore, in this step, when the distance of the user's position change between adjacent time points reaches a preset distance threshold, it indicates that the user's position has changed. At this point, the process proceeds to step 160 to continue determining and updating the subsequent navigation route. The preset distance threshold can be determined as needed, for example, it can be set to 2m, 3m, or 5m.
[0040] Step 160: Update the starting position to the user's current position.
[0041] In this step, when the user's location changes, the starting point is updated to the user's current location so that a navigation route can be determined from the updated starting point. This provides continuous navigation guidance to the user, ensuring that the user can move smoothly from the starting point to the final destination.
[0042] Step 170: Update the first map using the second map data based on the updated starting point position.
[0043] When a user's location changes, the area where the user is located also changes accordingly. At this time, the first map needs to be updated so that the updated first map can be used to determine the current navigation route starting from the user's current location (i.e., the updated starting point location), thereby guiding the user to move to the destination location.
[0044] Because user location changes are continuous, the new location is usually adjacent to the previous location. Furthermore, the first map data loaded in step 110 is map data of a first geographic region containing the starting point location (i.e., the user's location at the previous moment), and the second map data is map data of a second geographic region adjacent to this first geographic region. Therefore, when the user moves to a new location, the first map can be directly updated using the second map data in this step, ensuring a smooth transition of the first map and the immediate presentation of information. The following will describe in detail how to update the first map using the second map data based on the updated starting point location in other embodiments. Step 180: Update the second map data and proceed to step 130.
[0045] Since the second map data is used to update the first map data, when a user's location changes, the second map data is updated in a timely manner so that when the user's location changes again, the updated second map data can be used to update the first map again, and then the navigation route can continue to be determined for the user based on the updated first map.
[0046] In this embodiment, after loading the first map data and the second map data, a first map is obtained by rendering the first map data, which only covers a local area of the starting point. Since the loaded first and second map data have a smaller data volume compared to the global map (the global map from the starting point to the ending point), and because the first map is a local area map rather than a global map from the starting point to the ending point, the data volume is also smaller when rendering the first map data, thus improving map rendering efficiency. Furthermore, since the first map is a local area map, the computational load can be reduced when determining the current navigation route in the first map, thereby improving the efficiency of determining the current navigation route. When the user's location changes, if the endpoint of the current navigation route is not the final destination, it means that the navigation route still needs to be determined. In this case, this embodiment updates the starting point to the user's current location and updates the first map using the second map data, without reloading the original map data to update the first map, improving the update efficiency of the first map. This allows for timely determination of the current navigation route based on the updated first map, guiding the user to the destination. Through the above-described method of regional division, dynamic updating of the first map, and determination of the navigation route, the efficiency of determining the navigation route is improved.
[0047] Furthermore, in this embodiment of the application, by rendering a first map that only covers a local area of the starting point, since the first map of the local area is smaller than the global map, it is ensured that the first map can be displayed on the smartwatch at an appropriate scale, thus guaranteeing the clarity and readability of the first map and the current navigation route displayed on the smartwatch.
[0048] The specific implementation method of step 110 will be described below. Specifically, step 110 can be implemented through the following steps a1 to a3.
[0049] Step a1: In response to receiving a navigation command, load the original map data within a first range centered on the starting point location to obtain the first map data of the first geographic region.
[0050] Step a1 can be achieved through the following steps a11 to a13.
[0051] Step a11: In response to receiving a navigation instruction, determine the scale corresponding to the navigation mode from the preset first correspondence.
[0052] The navigation instructions also include the navigation method for the user to move from the starting point to the destination (e.g., walking, cycling, or driving). The first correspondence is a one-to-one correspondence between multiple navigation methods and multiple scales. The scale is the ratio of the size of the display area used by the wearable electronic device to display the first map to the size of the first geographical region. For example, if the scale is 1cm:50m, it means that the 1cm display area used by the smartwatch to display the map shows a map of a 50m geographical region.
[0053] Because users move at different speeds depending on the navigation method, their needs for map field of view and information density differ. Specifically, during pedestrian navigation, users move slower and need to focus on finer details of the surrounding environment (such as sidewalks, alleys, and entrances / exits). Therefore, a larger scale should be used to display a smaller map area, ensuring the clarity of the displayed map details. Conversely, during cycling or driving navigation, users move faster and need a more macroscopic understanding of the road ahead and key intersections. Therefore, a smaller scale should be used to display a larger map area, providing better route prediction. For example, the scale for pedestrian navigation could be set to 1cm:50m, and the scale for cycling navigation could be set to 1cm:150m, etc.
[0054] Step a12: Determine the first range based on the scale and the size of the display area.
[0055] Here, the first range refers to the range of the first geographical region. After determining the scale in step a11, the first range conforming to the scale can be determined based on the scale and the size of the display area. Specifically, if the scale determined in step a11 is 1cm:50m, and the size of the display area is 5cm (taking a circular display area as an example, its diameter is 5cm), then the determined first range is a circular geographical region with a diameter of 250m.
[0056] Step a13: Load the original map data within the first range centered on the starting point location to obtain the first map data of the first geographical region.
[0057] In step a12, after determining the first range, this step allows us to determine the original map data within the first range, centered on the starting point, thus obtaining the first map data. For example... Figure 2 As shown in (a), the first map data is the original map data of the first geographic region (i.e., the geographic region in (a) with point A as the center and radius R1) containing the starting point (corresponding to point A in the figure).
[0058] Step a2: Load the original map data within the second range centered on the starting point to obtain the third map data.
[0059] Step a2 can be achieved through steps a21 to a23.
[0060] Step a21: Determine the scale corresponding to the navigation method from the preset second correspondence.
[0061] Here, scale refers to the distance from the boundary of the first geographic region, that is, the extended distance relative to the boundary of the first geographic region. Scale is positively correlated with the size of the display area. The second correspondence is a one-to-one correspondence between various navigation methods and multiple scales.
[0062] Because different navigation modes involve different movement speeds—for example, users moving at high speeds experience greater positional changes between adjacent moments—the second map data used to update the first map must cover a wider geographical area to avoid delays or data gaps during the update process, thus ensuring the updated first map meets requirements. Conversely, users moving at low speeds experience smaller positional changes between adjacent moments, so the second map data used to update the first map does not need to cover a large geographical area, thereby improving the update efficiency of the first map while ensuring it meets requirements. Therefore, this application establishes a second correspondence, where faster movement speeds correspond to different navigation modes are scaled larger, and slower movement speeds correspond to smaller scales. Based on this second correspondence, a scale matching the navigation mode is determined, allowing for the loading of appropriately sized second map data to ensure the dynamically updated first map meets requirements.
[0063] Step a22: Determine the second range based on the scale, the size and dimensions of the display area.
[0064] For example, if the scale determined in step a11 is 1cm:50m, the scale determined in step a21 is 20m, and the size of the display area is 5cm (taking a circular display area as an example, its diameter is 5cm), then the determined second range is a circular geographical area with a diameter of 290m.
[0065] Step a23: Load the original map data within the second range centered on the starting point to obtain the third map data.
[0066] In step a22, after determining the second range, this step allows us to determine the original map data within the second range, centered on the starting point, thereby obtaining the third map data. The third map data is... Figure 2 The original map data of the geographical region with point A as the center and radius R2 in (a) of the map.
[0067] Step a3: Identify the other original map data in the third map data, excluding the first map data, as the second map data for the second geographic region.
[0068] like Figure 2 As shown in (a), the second map data is the original map data of the second geographic region adjacent to the first geographic region (i.e., the unfilled annular region between the inner and outer circles in (a)).
[0069] By determining and loading first map data for a first geographical region centered on the starting point, and second map data for updating the first map, and then rendering the first map, it is ensured that the first map is displayed clearly at a relatively optimal scale. This allows for the provision of accurate navigation routes to users on a high-resolution first map. Simultaneously, by preloading second map data surrounding the first geographical region, the smartwatch can use the second map data to update the first map in a timely manner. This effectively reduces the latency and performance overhead caused by real-time loading of the original map data while maintaining smooth navigation.
[0070] The specific implementation of step 170 will be described below. Specifically, step 170 can be implemented through steps b1 to b3 as follows.
[0071] Step b1: Determine the map data to be rendered from the second map data based on the user's current and previous positions.
[0072] Please refer to Figure 2 In (b), point A is the user's position at the previous moment, point A' is the user's position at the current moment, and points a1 and a2 are the intersection of circle A with radius R1 and circle A' with radius R1. The data to be rendered is the data of the area filled with diagonal lines in (b).
[0073] Specifically, after determining the regions corresponding to circle A with radius R1 and circle A' with radius R1, the intersection points a1 and a2 can be determined. Then, the region filled with diagonal lines can be determined based on the edge of circle A with radius R1, intersection point a1, intersection point a2, and the edge of circle A' with radius R1.
[0074] Step b2: Render the map data to be rendered to obtain the rendered map data.
[0075] Step b3: Update the first map using the rendered map data.
[0076] Specifically, by retaining the map of the common area of circle A and circle A' with radius R1, and adding the rendered map data obtained in step b2, the updated first map can be obtained. The updated first map is the same as the first map before the update; both are rendered and displayable maps.
[0077] To accurately update the second map data, you can follow steps c1 to c2 as follows.
[0078] Step c1: Load the original map data within the third range centered on the updated starting point location to obtain the fourth map data.
[0079] Specifically, the third range can be determined based on the scale determined in step a11, the size of the display area, and the scale determined in step a21. The method for determining the third range is similar to that for the second range; therefore, the specific method for determining the third range can be found in step a22. Further, when determining the second range in step a22, the size used to determine the second range is obtained. For example, if the second range is a circular geographical area with a diameter of 290m, then the size used to determine the second range is a diameter of 290m. Based on this, step c1 can directly use this size to load the original map data within this size range centered on the updated starting point position. For example, it can directly load the original map data within a circular range with a diameter of 290m centered on the updated starting point position, without needing to recalculate the diameter of 290m based on the scale, the size of the display area, and the scale. After determining the third range, the fourth map data can be loaded. The method for loading the fourth map data is similar to that for the third map data; therefore, the specific method for loading the fourth map data can be found in step a23.
[0080] Step c2: Update the second map data using the fourth map data.
[0081] like Figure 2 As shown in (c), the third map data is Figure 2The original map data for the geographical region represented by the dashed circle centered at point A in (c) of the map. The fourth map data is... Figure 2 The original map data of the geographical region represented by the solid-line circle centered at point A' in (c) is used. Specifically, in this step, after determining the intersection points b1 and b2 of the dashed-line circle and the solid-line circle, the map data of region c1 (the crescent-shaped region on the left) in the second map data is deleted, and the map data of region c2 (the crescent-shaped region on the right) in the fourth map data is added to the second map data, thereby updating the second map data.
[0082] Regarding the determination of the current navigation route, Figure 3 A flowchart illustrating the sub-steps of step 130 provided in an embodiment of this application is shown. Figure 3 As shown, step 130 includes the following steps 131 to 136.
[0083] Step 131: Obtain the starting longitude and starting latitude of the starting point location, and the first endpoint longitude and first endpoint latitude of the ending point location.
[0084] After receiving the starting point and ending point locations, the system can determine the starting point longitude and starting point latitude, as well as the first ending point longitude and first ending point latitude, based on the positioning system.
[0085] Step 132: Determine the first longitude difference between the first endpoint longitude and the starting point longitude, and the first latitude difference between the first endpoint latitude and the starting point latitude.
[0086] The first longitude difference is obtained by subtracting the starting longitude from the first endpoint longitude. It's worth noting that if the first endpoint longitude is less than the starting longitude, the first longitude difference is less than zero. The first latitude difference is obtained similarly by subtracting the starting latitude from the first endpoint latitude.
[0087] Step 133: Establish a reference coordinate system with the origin longitude and origin latitude as the origin.
[0088] Figure 4 A schematic diagram of the coordinate system provided in an embodiment of this application is shown. Figure 4 As shown, a reference coordinate system is established with the starting point A as the origin, where the horizontal axis represents longitude and the vertical axis represents latitude.
[0089] Step 134: Determine the point in the reference coordinate system whose distance from the origin is the first difference in longitude and the first difference in latitude as the first target point.
[0090] Figure 4 In the diagram, point B is taken as the first target point.
[0091] Step 135: Based on the positional relationship between the origin and the first target point in the reference coordinate system, determine the target display area within the display area of the wearable electronic device used to display the first map. The target display area is smaller than the display area, and the target map displayed in the target display area includes the starting point position.
[0092] Specifically, Figure 5 This diagram illustrates the relationship between the display area and the target display area of the smartwatch provided in an embodiment of this application. Figure 4 As shown, since point B lies in the fourth quadrant of this reference coordinate system, in this step, as... Figure 5 As shown, the display area of a smartwatch ( Figure 5 The center of the circle with point A as its center ( Figure 5 Using midpoint A as the origin, divide the coordinate system, and define the display area corresponding to the fourth quadrant of this coordinate system ( Figure 5 The area filled with diagonal lines is used as the target display area.
[0093] Step 136: Determine the current navigation route in the target map displayed within the target display area.
[0094] In this step, since the destination is located in the fourth quadrant of the coordinate system, the current navigation route can be determined by the target map displayed in the target display area, and the user can be guided to move from the starting point (point A) to the destination (point B) by the current navigation route.
[0095] In this embodiment of the application, the current navigation route is determined by further focusing on a smaller target map based on the first map. Since the data volume of the target map is less than that of the first map, the efficiency of determining the current navigation route is further improved when determining the current navigation route in the target map with less data.
[0096] In order to quickly and accurately determine the current navigation route, Figure 6 A flowchart illustrating the method for determining the current navigation route provided in an embodiment of this application is shown. Figure 6 As shown, the current navigation route can be determined through the following steps 210 to 250.
[0097] Step 210: Determine the navigation route set in the target map displayed within the target display area.
[0098] Figure 7 A flowchart illustrating the sub-steps of step 210 provided in an embodiment of this application is shown. Figure 7 As shown, step 210 can be achieved through steps 211 to 216.
[0099] Step 211: Identify the obstacle area in the target map displayed within the target display area.
[0100] The obstacle area refers to areas that cannot be directly crossed, such as buildings, rivers, and lakes. In this step, the longitude and latitude of multiple locations on the periphery of the obstacle area are determined. For example, if the obstacle area is a river, samples can be taken along its edges at preset intervals (e.g., every 5 meters) or from key feature points (e.g., bridge endpoints, river bend apexes, docks, etc.) to obtain a set of latitude and longitude coordinates that outline the direction of the riverbanks.
[0101] Step 212: Determine the closed region corresponding to the obstacle region in the reference coordinate system.
[0102] In this step, specifically, firstly, the longitude difference between each longitude in the longitude coordinate point set determined in step 211 and the starting point longitude is determined, resulting in a longitude difference set; and secondly, the latitude difference between each latitude in the latitude coordinate point set and the starting point latitude is determined, resulting in a latitude difference set. Then, based on the longitude difference set and the latitude difference set, the location of each point in the longitude and latitude coordinate point set is determined. Figure 4 The location in the reference coordinate system is shown, and then adjacent points in the reference coordinate system are connected to obtain the closed region. Figure 4 In the image, a gray rectangle represents the enclosed area.
[0103] Step 213: Determine the entire route starting from the starting point in the target map displayed within the target display area.
[0104] In this step, the entire route starting from the starting point can be determined based on the road network's line information (the map contains basic point, line, and area information).
[0105] Step 214: Determine in the reference coordinate system whether each line segment of all routes has a common point with the closed area. If yes, proceed to step 215; otherwise, proceed to step 216.
[0106] For each route in the entire route, the corresponding line segment of the route can be determined in the reference coordinate system through the following steps e1 to e4, and then this step 214 can be executed.
[0107] Step e1: Obtain the longitude and latitude of the destination of the route.
[0108] Step e2: Determine the difference between the longitude of the route endpoint and the longitude of the starting point, and the difference between the latitude of the route endpoint and the latitude of the starting point.
[0109] Steps e1 to e2 are similar to steps 131 to 132. Therefore, the principles and specific implementation methods of steps e1 to e2 can be found in steps 131 to 132, and will not be repeated here.
[0110] Step e3: Determine the points in the reference coordinate system whose distance from the origin is the difference in longitude and latitude of the route as the route target points.
[0111] Step e3 is similar to step 134. Therefore, the principle and specific implementation of step e3 can be found in step 134, and will not be repeated here.
[0112] Step e4: Determine the line segment corresponding to the route by connecting the origin and the target point of the route.
[0113] like Figure 4 As shown, in this coordinate system, the line segments corresponding to all routes determined in step 213 are line segment AC1, line segment AC2, and line segment AC3, respectively.
[0114] In step 214, after determining all the line segments corresponding to the routes in the coordinate system, it is possible to determine whether there is a common point between the line segments corresponding to each route and the closed area corresponding to the obstacle area in the coordinate system.
[0115] Step 215: Delete the routes corresponding to line segments that have common points with the closed area from all routes.
[0116] In this coordinate system, if a line segment corresponding to a route shares a common point with the enclosed area, it means that the route directly crosses the obstacle area. Therefore, this route is invalid and cannot be used as a navigation route; thus, it is deleted from all routes. Figure 4 As shown, since line segment AC1 and the closed area corresponding to the obstacle area have a common point, in this step, the route corresponding to line segment AC1 is deleted, while the routes corresponding to line segments AC2 and AC3 are retained.
[0117] Step 216: Collect the remaining routes from all routes as a navigation route set.
[0118] Of the remaining routes, those listed as valid can all be used as navigation routes. For example... Figure 4 As shown, the navigation route set includes the routes corresponding to line segments AC2 and AC3.
[0119] Step 220: Determine whether the navigation route set contains only one navigation route. If yes, proceed to step 230; otherwise, proceed to step 240.
[0120] Step 230: Set the navigation route as the current navigation route.
[0121] Step 240: Determine the angle between the line segment corresponding to each navigation route and the target line segment in the reference coordinate system to obtain multiple angles corresponding to multiple navigation routes.
[0122] The target line segment is the line connecting the origin and the first target point, that is... Figure 6 The line connecting point A and point B in a coordinate system. For example... Figure 4 As shown, the navigation route set includes the routes corresponding to line segments AC2 and AC3.
[0123] In this step, we determine the first angle between line segment AC2 and line segment AB, and the second angle between line segment AC3 and line segment AB.
[0124] Step 250: Determine the navigation route corresponding to the smallest included angle among the multiple included angles as the current navigation route.
[0125] Figure 4 Since the first angle between line segment AC2 and line segment AB is smaller than the second angle between line segment AC3 and line segment AB, it means that moving to the destination (point B) via the navigation route corresponding to line segment AC2 is more convenient than moving to the destination via the navigation route corresponding to line segment AC3. Therefore, in this step, the navigation route corresponding to line segment AC2 is determined as the current navigation route.
[0126] for Figure 6 and Figure 7 The provided embodiment, after determining all routes and obstacle areas, maps all routes and obstacle areas to the same reference coordinate system, and then determines the valid routes from all routes to obtain a navigation route set. If the navigation route set contains only one navigation route, that route is used as the current navigation route; if the navigation route set includes multiple navigation routes, the most convenient route among them is determined as the current navigation route. This method not only ensures the reliability of the final determined current navigation route but also improves the intelligence level of path planning, enabling the smartwatch to quickly provide the user with the optimal navigation route in complex environments.
[0127] It is worth noting that if each line segment of all routes determined in step 213 has a common point with the closed area, the target display area is updated to the area adjacent to the target display area, and the process proceeds to step 211 to determine the current navigation route.
[0128] For example, if the target display area is the fourth quadrant, and all the line segments corresponding to the routes determined in the map displayed in the fourth quadrant in step 213 have common points with the closed area, then the target display area is updated to the first or third quadrant adjacent to the fourth quadrant, and then the process proceeds to step 211 to determine the current navigation route in the updated target display area.
[0129] In this way, even in extremely complex scenarios where the starting point is heavily surrounded by obstacles, the smartwatch can continuously explore the surrounding environment to ultimately determine a feasible current navigation route, thereby improving the success rate of navigation and ensuring that users can obtain an effective navigation path in any environment.
[0130] Users may deviate from the navigation route during their movement. To address this, when a user's location deviates from the navigation route, in order to update the navigation route promptly and guide the user back to the destination, [the system / mechanism]... Figure 3 Based on the provided embodiment, after step 180, the navigation route determination and display method further includes the following steps d1 to d2.
[0131] Step d1: Determine if the user's current location deviates from the current navigation route. If yes, proceed to step d2; otherwise, proceed to step 136.
[0132] This allows setting an offset distance threshold. When the distance between the user's current location and the current navigation route reaches this threshold, it is determined that the user's current location has deviated from the current navigation route. This offset distance threshold can be set as needed, for example, to 5m, 8m, or 10m.
[0133] Step d2: Update the target display area in the display area and proceed to step 136.
[0134] For example, if the user's current location belongs to the third quadrant of the coordinate system established in the display area of the smartwatch in step 135, then the target display area is updated to the display area corresponding to the third and fourth quadrants of that coordinate system.
[0135] By determining the user's current location in real time to identify whether the user has deviated from the current navigation route, the target display area is updated promptly when the user's current location deviates from the current navigation route. The current navigation route is then redefined in the map displayed in the target display area, thereby achieving dynamic correction of the current navigation route, improving the accuracy of the current navigation route, and thus enhancing the user's navigation experience and reliability in complex or unfamiliar environments.
[0136] Figure 8The diagram shows a structural schematic of a wearable electronic device provided in an embodiment of this application. The specific embodiments of this application do not limit the specific implementation of the wearable electronic device.
[0137] like Figure 8 As shown, the wearable electronic device 300 may include a processor 302 and a memory 304.
[0138] The memory 304 is used to store the computer program 306. The memory 304 may include high-speed RAM, and may also include non-volatile memory, such as at least one disk storage device. The computer program 306 may include computer-executable instructions.
[0139] The processor 302 is used to execute the computer program 306 to implement the above-described method embodiment for determining and displaying navigation routes.
[0140] Processor 302 may be a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of this application. The wearable electronic device 300 may include one or more processors of the same type, such as one or more CPUs; or it may include processors of different types, such as one or more CPUs and one or more ASICs.
[0141] This application provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the above-described navigation route determination and display method embodiment.
[0142] This application provides a computer program that can be executed by a processor to implement the above-described navigation route determination and display method.
[0143] This application provides a computer program product, which includes a computer program that, when executed by a processor, implements the above-described navigation route determination and display method embodiment.
[0144] In the several embodiments provided in this application, any function, if implemented as a software functional module / unit and sold or used as an independent product, can be stored in a computer-readable storage medium. Based on this understanding, all or part of the technical solution of this application can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or other electronic device) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing computer program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0145] The algorithms or displays provided herein are not inherently related to any particular computer, virtual system, or other device. Various general-purpose systems can also be used in conjunction with the teachings herein. The required structure for constructing such systems is apparent from the above description. Furthermore, the embodiments of this application are not directed to any particular programming language. It should be understood that the content of this application described herein can be implemented using various programming languages, and the above description of specific languages is for the purpose of disclosing the best mode of implementation of this application.
[0146] It should be noted that the above embodiments are illustrative of this application and not restrictive, and those skilled in the art can devise alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses should not be construed as limiting the claims. The word "comprising" does not exclude the presence of elements or steps not listed in the claims. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. This application can be implemented by means of hardware comprising several different elements and by means of a suitably programmed computer. In claims enumerating several means, several units or modules of these means may be embodied by the same item of hardware. The use of the words first, second, and third, etc., does not indicate any order. These words can be interpreted as names. The steps in the above embodiments, unless otherwise specified, should not be construed as limiting the order of execution.
[0147] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A method for determining and displaying navigation routes, applied to wearable electronic devices, characterized in that, The method includes: In response to receiving a navigation instruction, first map data and second map data are loaded, wherein the navigation instruction includes a starting point location and an ending point location, the first map data is map data of a first geographic region including the starting point location, and the second map data is map data of a second geographic region adjacent to the first geographic region; Render the first map data to obtain and display the rendered first map; In the first map, the current navigation route starting from the starting point is determined based on the destination location; Display the current navigation route on the first map; In response to a preset distance threshold being reached by the distance of a user wearing the wearable electronic device at adjacent times, it is determined whether the navigation endpoint of the current navigation route is the endpoint location; If the navigation endpoint of the current navigation route is not the endpoint, then the starting point is updated to the user's current location, the first map is updated using the second map data based on the updated starting point, the second map data is updated, and then the process proceeds to the step of determining the current navigation route starting from the starting point in the first map based on the endpoint.
2. The method according to claim 1, characterized in that, The step of loading first map data and second map data in response to receiving a navigation command includes: In response to receiving a navigation command, the system loads original map data within a first range centered on the starting point location to obtain the first map data for the first geographical region. Load the original map data within a second range centered on the starting point location to obtain the third map data, wherein the second range is larger than the first range; The other original map data in the third map data, excluding the first map data, are determined as the second map data for the second geographical region.
3. The method according to claim 2, characterized in that, The navigation instructions also include a navigation method for the user to move from the starting point to the destination. The step of responding to a received navigation command by loading original map data within a first range centered on the starting point location to obtain the first map data for the first geographical region includes: In response to receiving a navigation command, a scale corresponding to the navigation method is determined from a preset first correspondence, wherein the first correspondence is a one-to-one correspondence between multiple navigation methods and multiple scales, and the scale is the ratio of the size of the display area of the wearable electronic device used to display the first map to the size of the first geographical area; The first range is determined based on the scale and the size of the display area; Load the original map data within the first range centered on the starting point location to obtain the first map data of the first geographical region; The loading of original map data within a second range centered on the starting point location to obtain third map data includes: The scale corresponding to the navigation method is determined from the preset second correspondence relationship, wherein the second correspondence relationship is a one-to-one correspondence between multiple navigation methods and multiple scales, and the scale is positively correlated with the size of the display area; The second range is determined based on the scale, the size of the display area, and the scale; the original map data within the second range centered on the starting point is loaded to obtain the third map data.
4. The method according to claim 1, characterized in that, Determining the current navigation route from the starting point based on the endpoint location in the first map includes: Obtain the starting longitude and starting latitude of the starting point position, and the first ending longitude and first ending latitude of the ending point position; Determine the first longitude difference between the first endpoint longitude and the starting point longitude, and the first latitude difference between the first endpoint latitude and the starting point latitude; A reference coordinate system is established with the starting point longitude and the starting point latitude as the origin; The point in the reference coordinate system that is at a distance from the origin by the first longitude difference and the first latitude difference is determined as the first target point; Based on the positional relationship between the origin and the first target point in the reference coordinate system, a target display area is determined in the display area of the wearable electronic device used to display the first map, wherein the target display area is smaller than the display area, and the target map displayed in the target display area includes the starting point position; The current navigation route is determined in the target map displayed within the target display area.
5. The method according to claim 4, characterized in that, If the navigation endpoint of the current navigation route is not the endpoint, then the starting point is updated to the user's current location, the first map is updated using the second map data based on the updated starting point, the second map data is updated, and the process proceeds to the step of determining the current navigation route starting from the starting point in the first map based on the endpoint, including: If the navigation destination of the current navigation route is not the destination, then the starting point is updated to the user's current location; Based on the user's location at the current time and the previous time, determine the map data to be rendered from the second map data; The map data to be rendered is rendered to obtain the rendered map data; Update the first map using the rendered map data; Load the original map data within a third range centered on the updated starting point location to obtain the fourth map data; Update the second map data using the fourth map data; Determine whether the user's current location deviates from the current navigation route; If the user's current location has not deviated from the current navigation route, then proceed to the step of determining the current navigation route in the target map displayed in the target display area; If the user's current location deviates from the current navigation route, the target display area is updated in the display area, and the process proceeds to the step of determining the current navigation route in the target map displayed in the target display area.
6. The method according to claim 4, characterized in that, Determining the current navigation route from the target map displayed within the target display area includes: A set of navigation routes is determined in the target map displayed within the target display area, wherein the set of navigation routes includes one or more navigation routes originating from the starting point; If the navigation route set includes only one navigation route, then that navigation route is determined as the current navigation route; If the navigation route set includes multiple navigation routes, then in the reference coordinate system, the angle between the line segment corresponding to each navigation route and the target line segment is determined, resulting in multiple angles corresponding to the multiple navigation routes. The navigation route corresponding to the smallest angle among these multiple angles is determined as the current navigation route. The target line segment is the line connecting the origin and the first target point, and the line segment corresponding to each navigation route is determined through the following steps: Obtain the longitude and latitude of the second endpoint of the navigation route; Determine the second longitude difference between the second endpoint longitude and the starting point longitude, and the second latitude difference between the second endpoint latitude and the starting point latitude; The point in the reference coordinate system that is at a distance from the origin by the second longitude difference and the second latitude difference is determined as the second target point; The line connecting the origin and the second target point is defined as the line segment corresponding to the navigation route.
7. The method according to claim 6, characterized in that, Determining the navigation route set from the target map displayed within the target display area includes: The obstacle area is determined in the target map displayed within the target display area; Determine the enclosed region corresponding to the obstacle region in the reference coordinate system; Determine all routes originating from the starting point in the target map displayed within the target display area; In the reference coordinate system, determine whether the line segment corresponding to each route in all routes has a common point with the closed area; If a line segment of any of the routes in the entire list has a common point with the closed area, then that route is deleted from the entire list of routes. The remaining routes from all the routes are used as the navigation route set.
8. The method according to claim 7, characterized in that, The method further includes: If each line segment in all routes has a common point with the closed area, then the target display area is updated to the area adjacent to the target display area, and the process proceeds to the step of determining the obstacle area in the target map displayed in the target display area.
9. A wearable electronic device, comprising a memory, a processor, and a computer program stored in the memory, characterized in that, The processor executes the computer program to implement the navigation route determination and display method according to any one of claims 1 to 8.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When executed by a processor, the computer program implements the navigation route determination and display method as described in any one of claims 1 to 8.