Map display method, device and terminal equipment
By dividing the map display area into sub-screen areas and loading tiles of different levels, the problem of increased bandwidth and rendering overhead in 3D map display is solved, resulting in a better user experience and resource conservation.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2021-06-30
- Publication Date
- 2026-04-28
AI Technical Summary
Displaying 3D maps increases bandwidth usage, power consumption, and rendering overhead, impacting the user experience.
The map display area is divided into multiple sub-screen areas. The lower area loads high-level tiles, and the upper area loads low-level tiles, reducing the amount of map data in distant areas.
It reduces bandwidth and rendering overhead while maintaining a large field of view, thus improving the user experience.
Smart Images

Figure CN115544186B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of electronic map technology, and in particular to a map display method, apparatus and terminal equipment. Background Technology
[0002] Electronic maps provide services such as point of interest (POI) lookup, navigation, and route planning, making them an important application software in people's daily lives. Among them, three-dimensional (3D) maps can display map elements such as buildings and roads from a three-dimensional perspective, more realistically reproducing the real world, and are therefore favored by many users.
[0003] When using 3D maps, users can tilt the map plane to expand the field of view, allowing them to see further into the distance. However, this increased field of view leads to an exponential increase in the amount of map data displayed, resulting in higher bandwidth usage, power consumption, and rendering overhead. Summary of the Invention
[0004] In view of this, this application provides a map display method, apparatus and terminal device to reduce the bandwidth, power consumption and rendering overhead required to display 3D maps.
[0005] To achieve the above objectives, in a first aspect, embodiments of this application provide a map display method applied to a terminal device, comprising:
[0006] The first interface is displayed, and the first interface displays the first map area;
[0007] Receive the user's first action;
[0008] In response to the first operation, a second interface is displayed, the second interface including multiple sub-screen areas, the multiple sub-screen areas including a first sub-screen area and a second sub-screen area located above the first sub-screen area;
[0009] The tiles in the first sub-screen area are called first tiles, and the tiles in the second sub-screen area are called second tiles. The layer of the second tile is lower than that of the first tile.
[0010] The map displayed in the first map area can be a 2D map or a 3D map.
[0011] The map display method provided in this embodiment can load and display tiles of different levels in each sub-screen area when displaying a map. The tiles in the upper sub-screen area have a lower level than the tiles in the lower sub-screen area. This can effectively reduce the amount of map data required for distant areas of the map, thereby reducing bandwidth, power consumption and rendering overhead. This enables the terminal device to support the display needs of 3D maps with various field of view sizes. Moreover, this solution can also display distant map data to the user, thus improving the user experience.
[0012] In one possible implementation of the first aspect, the second interface is a navigation interface or an interface that displays a non-navigation map.
[0013] In one possible implementation of the first aspect, the first operation includes at least one of the following operations: activating a navigation mode, a gesture operation to change the tilt angle of the map plane, a click operation on a target control, a map zoom operation, and a map pan operation.
[0014] In one possible implementation of the first aspect, the second interface includes a first object, and when the first object is entirely located in the first sub-screen area, a 3D model corresponding to the first object is displayed.
[0015] When the first part of the first object is located in the first sub-screen area and the second part is located in the second sub-screen area, the 3D model corresponding to the first part is displayed, and the 3D model corresponding to the second part is not displayed.
[0016] When the first object is completely moved into the second sub-screen area, the 3D model corresponding to the first object is not displayed.
[0017] Through the above implementation method, as the first object moves from the first sub-screen area to the second sub-screen area, the 3D model can be visually presented as gradually disappearing when passing through the boundary line between the first and second sub-screen areas, which can improve the user's visual experience.
[0018] In one possible implementation of the first aspect, the tile in the first map area is a third tile, and the layer of the first tile is equal to the layer of the third tile.
[0019] The third tile displayed in the first map area can be a 2D map.
[0020] In one possible implementation of the first aspect, the second tile does not include a 3D model. This way, the 3D model is not displayed in the second sub-screen area, thereby further reducing the amount of map data required.
[0021] In one possible implementation of the first aspect, the first tile includes a 3D model.
[0022] In one possible implementation of the first aspect, the method further includes:
[0023] In response to the user's second action, the multi-level display mode is turned on or off, where the map display area can display multiple levels of tiles.
[0024] Through the above implementation method, users can enable or disable multi-level display modes, thereby improving the flexibility of map display and enhancing the user experience.
[0025] In one possible implementation of the first aspect, the method further includes:
[0026] In response to a third user action, the function to disable the multi-level display mode in non-navigation mode can be enabled or disabled. In multi-level display mode, the map display area can display multiple levels of tiles.
[0027] Through the above implementation method, users can freely choose whether to turn off the multi-level display mode in non-navigation mode, thereby improving the flexibility of map display and thus enhancing the user experience.
[0028] In one possible implementation of the first aspect, displaying the second interface in response to the first operation includes:
[0029] In response to the first operation, if the tilt angle of the map plane to be displayed on the second interface is greater than or equal to the target angle, the second interface is displayed.
[0030] In the above embodiments, when the tilt angle of the map plane to be displayed is greater than or equal to the target angle, a multi-level display mode is used to display the map, which can further improve the user experience while ensuring terminal overhead.
[0031] In one possible implementation of the first aspect, displaying the second interface in response to the first operation includes:
[0032] In response to the first operation, the map display area of the screen is divided to obtain the plurality of sub-screen areas;
[0033] Obtain the first and second tiles;
[0034] The second interface is rendered and displayed based on each of the first and second tiles.
[0035] In one possible implementation of the first aspect, obtaining the first tile and the second tile includes:
[0036] Determine the identifier of the first tile and the identifier of the second tile;
[0037] Based on the identifiers of the first tile and the second tile, obtain the first tile and the second tile.
[0038] In one possible implementation of the first aspect, determining the identifier of the first tile and the identifier of the second tile includes:
[0039] The geographical range to be displayed in the map display area is determined based on the target level to be displayed.
[0040] Based on the geographical range to be displayed in the map display area, determine the geographical range to be displayed in the first sub-screen area and the geographical range to be displayed in the second sub-screen area;
[0041] The layer of the first tile and the layer of the second tile are determined according to the target layer, wherein the layer of the first tile is equal to the target layer;
[0042] The identifier of the first tile is determined based on the geographical range to be displayed in the first sub-screen area and the layer of the first tile;
[0043] The identifier of the second tile is determined based on the geographical range to be displayed in the second sub-screen area and the layer of the second tile.
[0044] In one possible implementation of the first aspect, acquiring the first tile and the second tile includes:
[0045] Send a tile request to the server, the tile request carrying the identifier of the first tile and / or the identifier of the second tile;
[0046] Receive the tile corresponding to the identifier returned by the server.
[0047] In one possible implementation of the first aspect, the area of the first sub-screen region is larger than the area of the second sub-screen region. This allows the user to view a larger range of high-level tiles, thereby facilitating better access to map information.
[0048] In one possible implementation of the first aspect, the plurality of sub-screen regions further includes a third sub-screen region located between the first sub-screen region and the second sub-screen region;
[0049] The tile in the third sub-screen area is the fourth tile, and the layer of the fourth tile is lower than the layer of the first tile but higher than the layer of the second tile.
[0050] The third sub-screen area can be one or more.
[0051] In the above embodiments, when displaying a map, the terminal device can divide the map into more sub-screen areas as needed, thereby improving the flexibility of map display.
[0052] In a second aspect, embodiments of this application provide a terminal device, including: a memory and a processor, wherein the memory is used to store a computer program; and the processor is used to execute the method described in the first aspect or any embodiment of the first aspect when the computer program is invoked.
[0053] Thirdly, embodiments of this application provide a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the method described in the first aspect or any embodiment of the first aspect.
[0054] Fourthly, embodiments of this application provide a computer program product that, when run on a terminal device, causes the terminal device to execute the method described in the first aspect or any embodiment of the first aspect.
[0055] Fifthly, embodiments of this application provide a chip system including a processor coupled to a memory. The processor executes a computer program stored in the memory to implement the method described in the first aspect or any embodiment of the first aspect. The chip system may be a single chip or a chip module composed of multiple chips.
[0056] It is understood that the beneficial effects of the second to fifth aspects mentioned above can be found in the relevant descriptions in the first aspect mentioned above, and will not be repeated here. Attached Figure Description
[0057] Figure 1 This is a schematic diagram of a map display interface provided in an embodiment of this application;
[0058] Figure 2 This is a schematic diagram of another map display interface provided in an embodiment of this application;
[0059] Figure 3 This is a schematic diagram of a map service system provided in an embodiment of this application;
[0060] Figure 4 A schematic diagram of a tile pyramid model provided in an embodiment of this application;
[0061] Figure 5A schematic diagram of tile coordinates provided in the embodiments of this application;
[0062] Figure 6 This is a schematic diagram illustrating the correspondence between map elements and geometric element types provided in an embodiment of this application;
[0063] Figure 7 A flowchart illustrating a map display method provided in an embodiment of this application;
[0064] Figure 8 A schematic diagram of a user interface provided for an embodiment of this application;
[0065] Figure 9 Another user interface diagram provided for an embodiment of this application;
[0066] Figure 10 This is a schematic diagram of a tile loading process provided in an embodiment of this application;
[0067] Figure 11 This is a schematic diagram of the sub-screen region division results provided in an embodiment of this application;
[0068] Figure 12 This is a schematic diagram of the tile determination process provided in an embodiment of this application;
[0069] Figure 13 This is a schematic diagram illustrating a map display effect provided in an embodiment of this application;
[0070] Figure 14 This is a schematic diagram illustrating another map display effect provided in an embodiment of this application;
[0071] Figure 15 This is a schematic diagram of a tile display effect provided in an embodiment of this application;
[0072] Figure 16 This is a schematic diagram illustrating another tile display effect provided in an embodiment of this application;
[0073] Figure 17 This is a schematic diagram of the rendering model provided in an embodiment of this application;
[0074] Figure 18 A schematic diagram of a rendering principle provided in an embodiment of this application;
[0075] Figure 19 A schematic diagram of module interaction provided for an embodiment of this application;
[0076] Figure 20 This is another schematic diagram of the rendering principle provided in the embodiments of this application;
[0077] Figure 21 Another schematic diagram of module interaction provided in the embodiments of this application;
[0078] Figures 22-23 Further schematic diagrams illustrating rendering principles provided for embodiments of this application;
[0079] Figure 24 A flowchart illustrating another map display method provided in an embodiment of this application;
[0080] Figure 25 This is a schematic diagram of another tile loading process provided in an embodiment of this application;
[0081] Figure 26 This is a schematic diagram illustrating another map display effect provided in an embodiment of this application;
[0082] Figure 27 This is a schematic diagram illustrating another tile display effect provided in an embodiment of this application;
[0083] Figure 28 This is a schematic diagram of the structure of the map display device provided in the embodiments of this application;
[0084] Figure 29 This is a schematic diagram of the structure of a terminal device provided in an embodiment of this application. Detailed Implementation
[0085] The embodiments of this application are described below with reference to the accompanying drawings. The terminology used in the implementation section of this application is for explaining specific embodiments only and is not intended to limit the scope of this application.
[0086] When displaying maps, electronic maps typically download the necessary map data in real time, then render and display it. The richness of the map displayed by an electronic map is closely related to the amount of map data. The larger the amount of map data, the greater the data consumption of the terminal device, and the more rendering overhead is required, thus increasing the power consumption of the terminal device.
[0087] Most current electronic maps can simultaneously provide two-dimensional (2D) and 3D maps. When displaying 3D maps, the greater the tilt angle of the map plane, the wider the field of view, meaning users can see further on the map. This results in a greater need for map data, leading to higher bandwidth usage, power consumption, and rendering overhead.
[0088] To reduce the bandwidth, power consumption, and rendering overhead required when displaying 3D maps, see [link / reference]. Figure 1 One related technical solution is to reduce the tilt angle of the map plane, so that distant areas of the map (i.e., the edge of the view) do not need to load more map data, thereby reducing the amount of map data required. Figure 1(a) shows a 3D map display interface in non-navigation mode. In non-navigation mode, users can increase the tilt angle of the map plane through related operations (such as two-finger swipe down) to increase the field of view of the map display. However, the maximum tilt angle that the user can change is limited to a small angle. Figure 1 Image (a) shows a 3D map display interface in navigation mode, such as... Figure 1 As shown in (b), in navigation mode, the electronic map automatically adopts a smaller map plane tilt angle during navigation to reduce the amount of map data required.
[0089] See Figure 2 Another related technical solution is to replace the distant areas of the map with the sky color when the tilt angle of the map plane reaches a certain angle, so that the distant areas do not need to load more map tile data, thereby reducing the amount of map data required.
[0090] Of the two solutions mentioned above, the first one reduces the map's tilt angle but sacrifices some field of view. Field of view is crucial in map use, especially in navigation; a wider field of view helps users understand more road conditions ahead, so a lower field of view negatively impacts the user experience. The second solution uses sky color to represent distant map information, preventing users from seeing distant map data, which also affects the user experience.
[0091] Based on this, this application provides a map display method, which mainly divides the map display area of the screen during the map display process. The lower part of the screen area displaying the nearby map loads map tile data of the target level, while the upper part of the screen area displaying the distant map loads map tile data of a lower level than the target level. This reduces traffic, power consumption and rendering overhead, while enabling the electronic map to have a larger field of view and a better user experience.
[0092] First, the system involved in the embodiments of this application is introduced. Please refer to... Figure 3 , Figure 3 This is a schematic diagram of a map service system provided in an embodiment of this application, such as... Figure 3 As shown, the map service system may include: terminal device 100 and server 200.
[0093] The terminal device 100 can be an electronic device with display, computing and network access functions. For example, the terminal device 100 can be a mobile phone, vehicle terminal, smart wearable device or personal computer that can display maps. Among them, smart wearable devices can include smartwatches and smart glasses, and personal computers can include tablets, laptops and desktop computers. Figure 3 The example of a mobile phone is used as an example to illustrate the concept.
[0094] Users can access map functions through map-related applications (APPs), mini-programs, or system functions on the terminal device 100. Map-related APPs can include various map APPs, browser APPs, game APPs, and location APPs; mini-programs can also include various map mini-programs, browser mini-programs, game mini-programs, and location mini-programs. For ease of explanation, the technical solution of this application will be illustrated below using a map APP as an example.
[0095] The map-related software on the terminal device 100 can provide services such as location, POI query, navigation and route planning through the displayed map. The types of maps displayed by the terminal device 100 can include 2D maps, 3D maps, heat maps, satellite images, topographic maps, indoor maps, public transport maps and custom layers.
[0096] Server 200 is used to provide map data. Terminal device 100 can obtain the map data to be displayed from server 200, and then render and display it.
[0097] Specifically, the map data in server 200 can be a series of tiles generated based on tile mapping technology. Terminal device 100 can determine the required tiles according to the geographical area to be displayed, and after downloading, render and stitch them together to display a complete map.
[0098] Among them, tile mapping technology divides large-size maps (such as world maps) into a series of equal-sized (e.g., 256*256 pixels) map tiles through multi-scale hierarchical segmentation. Each map tile is called a tile, and these tiles form a series of tiles. Figure 4 The pyramid model shown.
[0099] The tile pyramid model is a multi-resolution hierarchical model where the resolution decreases from the bottom to the top, but the geographical area represented remains the same. Taking a world map as an example, apart from the bottom layer, such as... Figure 4 As shown, dividing any layer of tiles into four square tiles creates the next layer of tiles. The higher the tile layer, the more tiles make up the world map, resulting in a more detailed map. The number of tile layers in a tile pyramid model can be determined based on the desired level of map detail; for example, a world map could be divided into 20 layers. Figure 4 An example is shown in the diagram of the top three layers of tiles.
[0100] like Figure 4As shown, the smallest tile level is 0, at which point the world map consists of one tile; a tile map of level 1 contains 4 tiles, a tile map of level 2 contains 16 tiles, and so on, with a tile map of level n containing 4 tiles. n A tile.
[0101] Each layer of tiles forms a tile matrix, and a tile can be uniquely identified by its layer number and row and column number. Figure 5 The diagram shows the coordinates of the tiles in the second layer, as shown below. Figure 5 As shown, each tile can be numbered using the top-left corner of the world map as the origin. Each tile then has unique coordinates corresponding to its layer, where the x-coordinate corresponds to the row number and the y-coordinate corresponds to the column number. Alternatively, the z-coordinate can be used to represent the tile's layer, such as... Figure 5 As shown, the z-coordinate value of each tile in the second layer is 2.
[0102] It is understood that the tile numbering method is not limited to the coordinate method described above, and other methods can also be used, such as using a three-digit number. The first digit can represent the layer, the second digit can represent the row number of the tile, and the third digit can represent the column number of the tile. In addition, the origin of the tile coordinate system is not limited to the upper left corner of the world map, but can also be the lower left corner or the center of the world map. This application embodiment does not make any special limitations on these.
[0103] A tile consists of a set of layers, each containing some geometric elements. For example... Figure 6 As shown, the geometric elements in the tiles can include: points, lines, polygons, and 3D models. Point-type geometric elements describe map elements such as POIs, point clouds, and heat maps. Line-type geometric elements describe map elements such as road networks (including highways, railways, etc.), boundary lines, and water system frameworks. Polygon-type geometric elements describe map elements such as regions, oceans, and green spaces. 3D model-type geometric elements describe map elements such as 3D buildings and 3D roads.
[0104] The geometric feature types of map elements contained in tiles at different levels can be different. For example, low-level tiles can contain line and polygon map elements, while high-level tiles can contain point, line, polygon, and 3D model map elements.
[0105] In this embodiment, when the terminal device 100 displays a 2D map, it can determine the geographical range to be displayed based on the size of the map display area on the screen, the current position of the terminal device 100, and the map tile level to be displayed (here referred to as the target level). Then, it determines the coordinates of the tiles that can cover the geographical range under the target level, downloads the tiles corresponding to the determined tile coordinates from the server 200, renders the downloaded tiles, and displays them in the map display area.
[0106] 3D maps contain more map elements, and the geographical area involved increases with the increase of the map plane tilt angle, meaning more map information needs to be displayed. In order to reduce the amount of map data required while ensuring that the electronic map can have a wider field of view and a better visual experience, in this embodiment, when the terminal device 100 displays a 3D map, it can divide the map display area on the screen into multiple vertically arranged sub-screen areas, and display different levels of tiles in different sub-screen areas. Among them, the bottom sub-screen area can display the tile map of the target level, and the level of tiles displayed in each sub-screen area can gradually decrease from bottom to top.
[0107] The following examples illustrate the map display method of this application, using the cases where the divided sub-screen areas include two and three sub-screen areas respectively.
[0108] Figure 7 This is a flowchart illustrating a map display method provided in an embodiment of this application, as shown below. Figure 7 As shown, the method may include the following steps:
[0109] Step S110: The terminal device detects the user's first operation.
[0110] Specifically, the first operation can trigger the terminal device to display a 3D map. The terminal device can detect the first operation performed by the user on the map display interface while displaying a 2D or 3D map.
[0111] When a terminal device displays a 2D map, the first action that can trigger the terminal device to display a 3D map can be to start the navigation mode. For example, after the user selects a route on the 2D map display interface, clicks the "Start Navigation" control, and the map APP will enter the navigation mode and automatically use the 3D map for navigation.
[0112] The first operation can also be a preset gesture operation. For example, users can change the tilt angle of the map plane by swiping down or up on the 2D map display interface with multi-finger touch. When the tilt angle of the map plane to be displayed is greater than 0, the terminal device can respond to the user's operation and display the 3D map with the corresponding tilt angle.
[0113] It is understood that the preset gesture operations are not limited to the multi-finger touch swipe down and multi-finger touch swipe up operations mentioned above. They can also be other operations, such as air gesture operations. This embodiment does not make any special limitation on this.
[0114] The first action can also be a user clicking on the target control on the map display interface. Figure 8 A user interface diagram provided for an embodiment of this application, such as... Figure 8 As shown in (a), the map display interface can provide a "layer selection" control 101. When the map display interface displays a 2D map, the user can click on this control; Figure 8 As shown in (b), a sidebar corresponding to the "Layer Selection" control 101 can pop up on the map display interface. The sidebar includes a map type selection bar, where the user can select the control 102 corresponding to "3D Map". Figure 8 As shown in (c), the map displayed on the map display interface switches from a 2D map to a 3D map; then, as... Figure 8 As shown in (c) and (d), users can click on areas outside the sidebar to close it.
[0115] The map type selection bar can also include options for other map types, such as... Figure 8 The satellite image shown in (b) is shown in the image; in addition, the sidebar corresponding to the "Layer Selection" control 101 can also provide other function options, such as... Figure 8 The display bar shown in (b) includes controls such as "Traffic" and "Favorites." The "Traffic" control controls whether traffic conditions are displayed on the map, and the "Favorites" control controls whether favorited locations are displayed. Furthermore, the interface corresponding to the "Layer Selection" control 101 is not limited to a sidebar; it can also be a pop-up window or similar format. This embodiment does not impose any particular limitations on the types of map types and function options included in the sidebar corresponding to the "Layer Selection" control 101, nor on the interface corresponding to the "Layer Selection" control 101.
[0116] When a terminal device displays a 2D map, the first operation that can trigger the terminal device to display a 3D map can also be the aforementioned preset gesture operation. For example, the user can change the tilt angle of the map plane by swiping down or up on the 3D map display interface using multi-finger touch. When the tilt angle of the map plane to be displayed is greater than 0, the terminal device can respond to the user's operation and display the 3D map with the corresponding tilt angle.
[0117] The first operation can also be a map zooming or panning operation performed by the user on the 3D map display interface.
[0118] It should be noted that the various user input operations described in the embodiments of this application can be either the manual input operations mentioned above or the voice command input operations. For ease of explanation, the embodiments of this application will use manual input operations as an example for illustrative purposes.
[0119] As mentioned earlier, in this embodiment, multiple layers of tiles can be displayed in the map display area when displaying a 3D map, that is, a multi-level display method can be used in the map display area. To meet different user needs, this embodiment can provide a switch function for the multi-level display mode, which allows users to turn the multi-level display mode on or off.
[0120] Figure 9 Another user interface diagram provided for an embodiment of this application, such as Figure 9 As shown, in specific implementation, a switch control 201 for "multi-level display mode" can be provided in the map settings interface. Users can select to turn the multi-level display mode on or off by clicking the switch control 201. That is, after the terminal device receives the user's click operation on the switch control 201 (referred to as the second operation here), the multi-level display mode can be turned on when it is in the off state, and turned off when it is in the on state. Figure 9 The example shows a user switching the multi-level display mode from the off state (see [link]). Figure 9 (a) in the middle is switched to the on state (see Figure 9 The process in (b)).
[0121] It is understood that the implementation of the "multi-level display mode" switch function is not limited to the switch control 201 mentioned above, and other methods can also be used, such as using two radio buttons. This embodiment does not make any special limitation on this.
[0122] Considering that the amount of map data in non-navigation mode is relatively small, in order to better meet the different needs of users, this embodiment can provide a switch function to turn off the multi-level display mode in non-navigation mode.
[0123] In specific implementation, such as Figure 9 As shown, a switch control 202 for "Disable multi-level display mode when not navigating" can be provided in the map settings interface. Users can select whether to disable the multi-level display mode when not navigating by clicking the switch control 202 (referred to as the third operation). Figure 9 The example shows a user turning off the "Disable multi-level display mode in non-navigation mode" function from the enabled state (see [link]). Figure 9 (b) in the middle is switched to the off state (see Figure 9The process in (c) is as follows: When the switch control 202 is in the on state, it means that the 3D map cannot be displayed in the multi-level display mode in non-navigation mode; when the switch control 202 is in the off state, it means that the 3D map can be displayed in the multi-level display mode in non-navigation mode.
[0124] In one alternative implementation, such as Figure 9 As shown in (a) and (b), the switch control 202 can be displayed when the switch control 201 is in the on state, and not displayed when the switch control 201 is in the off state. When the switch control 202 is displayed, the switch control 202 can be as follows: Figure 9 As shown in (b) in the diagram, it is in the off state by default; it can also be in the on state by default.
[0125] In addition, the map settings interface can also include other map settings options, such as Figure 9 The “Map display font” setting option shown is used to control whether the map display interface displays the toggle control for the “Map zoom button” and the toggle control for “Automatically update offline data packages under Wi-Fi”. This embodiment does not make any special limitations on the content of the map settings interface.
[0126] It is understandable that the implementation of the multi-level display mode switch function and the function of turning off the multi-level display mode in non-navigation mode is not limited to the above-mentioned method of setting a switch control. Other methods can also be used, such as gesture recognition. When the user's first target gesture operation (i.e., the second operation) is detected on the map display interface, the multi-level display mode is turned on; when the user's second target gesture operation (i.e., the third operation) is detected on the map display interface, the multi-level display mode is turned off in non-navigation mode.
[0127] When the multi-level display mode is enabled, the terminal device can use a multi-level display method to display 3D maps. Considering that the amount of map data required is relatively small when the tilt angle of the map plane is small, in this embodiment, in order to improve the user experience, a multi-level display method can be used to display 3D maps when the tilt angle of the map plane to be displayed reaches the target angle.
[0128] The target angle can be set according to actual needs, such as 10 degrees. This embodiment does not make any special limitation on this.
[0129] Step S120: The terminal device responds to the first operation by dividing the map display area of the screen to obtain a first sub-screen area and a second sub-screen area located above the first sub-screen area.
[0130] When displaying a 3D map using a multi-level display method, as mentioned above, different levels of tiles can be displayed in different sub-screen areas. See also Figure 10 and Figure 11 In (a) of the diagram, when dividing the sub-screen area, the terminal device can determine the size of the map display area on the screen (exemplarily 2400*1080 pixels) and determine the area division ratio (exemplarily 1:3); then, it divides the map display area according to this ratio, such as... Figure 11 As shown in (b), two sub-screen areas can be obtained: the first sub-screen area (1800*1080 pixels) and the second sub-screen area (600*1080 pixels) located above the first screen area.
[0131] The map display area can be a portion or the entire area of the screen. For example, in split-screen mode, the map display area is the size of one of the split-screen areas. For ease of explanation, this embodiment uses the entire screen area as an example for illustration.
[0132] The size of the map display area can be represented by the screen size, or by... Figure 10 and Figure 11 The screen resolution shown is not specifically limited in this embodiment.
[0133] The area division ratio can be a pre-set fixed ratio; for example, the area division ratio can be pre-set to... Figure 10 The 1:3 ratio or other ratios shown.
[0134] The region division ratio can also be determined based on the size of the map display area. In practice, a correspondence between the size of the map display area and the number of sub-screen regions can be pre-set (referred to as the first correspondence), and a correspondence between the number of sub-screen regions and the screen division ratio can be set (referred to as the second correspondence). Then, the region division ratio can be determined based on these two correspondences.
[0135] For example, in the first correspondence, the number of sub-screen regions can be set to the height and width range of the corresponding map display area. For smaller screens, the map display area is relatively small, so two sub-screen regions can be divided; for larger screens, the map display area is relatively large, so three or more sub-screen regions can be divided. Figure 10 and Figure 11 The example shown is based on the division of the sub-screen area into two regions.
[0136] In the second correspondence, the screen division ratio corresponding to the number of sub-screen regions can be set as needed, for example... Figure 10As shown, when there are two sub-screen areas, the ratio of the size of the upper sub-screen area to the size of the lower sub-screen area (i.e., the screen division ratio) can be 1:3.
[0137] To improve the user experience, the area of the first sub-screen area is larger than that of the second sub-screen area when dividing the sub-screen areas. This allows users to view a larger range of high-level tiles, making it easier for them to obtain map information.
[0138] Additionally, the map can be displayed in portrait or landscape mode; when displayed in portrait mode, such as... Figure 10 and Figure 11 As shown, the size of the first sub-screen area is 1800*1080 pixels, and the size of the second sub-screen area is 600*1080 pixels; when displayed in landscape mode, the size of the first sub-screen area is 2400*810 pixels, and the size of the second sub-screen area is 2400*270 pixels. For ease of explanation, this embodiment uses portrait mode display as an example.
[0139] Step S130: The terminal device determines the identifier of the first tile to be displayed in the first sub-screen area and the identifier of the second tile to be displayed in the second sub-screen area, wherein the layer of the second tile is lower than the layer of the first tile.
[0140] After dividing the sub-screen areas, in this embodiment, the terminal device can first determine the tiles to be displayed in each sub-screen area, and then acquire the relevant tiles. Each tile can have a unique identifier, and the terminal device can specifically determine the tile's identifier when identifying the tiles.
[0141] Specifically, in some embodiments, such as Figure 12 As shown, the terminal device determining the tiles to be displayed in each sub-screen area (step S130) may include the following steps:
[0142] Step S131: Determine the first geographical area to be displayed on the map.
[0143] In practice, the target level to be displayed and the coordinates of the target center point (i.e., the coordinates of the center point of the geographical range to be displayed in the map display area) can be determined first; then, based on the target level, the coordinates of the target center point, and the size of the map display area, the geographical range to be displayed on the terminal device (i.e., the first geographical range) can be determined.
[0144] The target layer refers to the tile layer of the 2D map corresponding to the 3D map to be displayed. Specifically, it's the tile layer displayed on the 2D map when switching from the 3D map to the 2D map. The target layer can be preset or determined based on user actions or a preset map display strategy. For example, when opening a map app, the first frame displayed can use a preset layer as the target layer. After the user zooms in or out, the terminal device can determine the target layer based on the current layer and the user's zoom operation. During navigation, the terminal device can determine the target layer based on its current location and a preset map display strategy.
[0145] The target center point coordinates, also known as the geographical coordinates of the center point of the map display area, can be determined based on the current location of the terminal device, user actions, or preset map display strategies. Specifically, when the map app is opened, the target center point coordinates of the first map frame displayed by the app can be the current location of the terminal device. After the user moves the map, the terminal device can determine the target center point coordinates based on the current center point coordinates and the user's map movement. During navigation, the map app can determine the target center point coordinates based on the terminal device's current location, the current center point coordinates, and preset map display strategies.
[0146] Taking opening a map app and displaying the first frame of the map as an example, the terminal device can use a preset level (such as level 16) as the target level and the current location of the terminal device as the coordinates of the target center point. Then, the first geographical range can be determined based on the target level, the coordinates of the target center point, and the screen size.
[0147] The current location of the terminal device can be represented by latitude and longitude or other coordinates, and the first geographical range can be represented by the geographical coordinates of the four vertices of the map display area.
[0148] Step S132: Determine the second geographical range to be displayed in the first sub-screen area and the second sub-screen area according to the first geographical range.
[0149] After determining the first geographical area corresponding to the entire map display area, the geographical area to be displayed in each sub-screen area (i.e., the second geographical area) can be determined according to the division rules of the first and second sub-screen areas. For example, if the area division ratio of the second sub-screen area to the first sub-screen area is 1:3, then the ratio of the size of the second geographical area corresponding to the second sub-screen area to the size of the second geographical area corresponding to the first sub-screen area is also 1:3. That is, by dividing the first geographical area in a 1:3 ratio using a method similar to the sub-screen area division rules, the second geographical area corresponding to the first sub-screen area and the second geographical area corresponding to the second sub-screen area can be obtained.
[0150] Specifically, based on the geographical coordinates of the four vertices of the map display area, the geographical coordinates of the two ends of the boundary line between the first sub-screen area and the second sub-screen area can be determined. Then, the second geographical range corresponding to the first sub-screen area can be represented by the geographical coordinates of the two vertices at the bottom of the map display area and the two endpoints of the boundary line; the second geographical range corresponding to the second sub-screen area can be represented by the geographical coordinates of the two vertices at the top of the map display area and the two endpoints of the boundary line.
[0151] Step S133: Determine the layer of the tiles to be displayed in the first sub-screen area and the layer of the tiles to be displayed in the second sub-screen area.
[0152] In step S133, when determining the tile level corresponding to each sub-screen area, the tile level corresponding to the first sub-screen area can be equal to the target level. This target level is the level corresponding to the first geographical area in step S131 above, for example... Figure 10 The 16 levels shown; the tile level corresponding to the second sub-screen area can be several levels lower than the target level (here referred to as the first preset level), for example... Figure 10 As shown, the tile layer corresponding to the second sub-screen area is 14 levels, meaning the first preset layer is two levels.
[0153] In some embodiments, considering the large amount of map data required for 3D models, to further reduce the required map data volume, an upper limit level can be set for the tile layers to be displayed in the second sub-screen area. That is, the tile layer corresponding to the second sub-screen area can be lower than a preset level (here referred to as the second preset level). The tiles corresponding to the second preset level include the 3D model, while tiles one level lower than the second preset level do not include the 3D model. For example, if the tile layer corresponding to the first sub-screen area is 18 levels, assuming the first preset level is two levels and the second preset level is 16 levels, according to the rule that the tile layer corresponding to the second sub-screen area is two levels lower than the tile layer corresponding to the first sub-screen area, then the second sub-screen area is at level 16. Considering that level 16 tiles include 3D models, the amount of map data required for 3D models would be relatively large. Therefore, if the tile layer corresponding to the first sub-screen area is 18 levels, setting the second sub-screen area to level 15, where level 15 tiles do not include 3D models, can reduce the amount of map data.
[0154] In other words, if the tile level corresponding to the first sub-screen area is less than 18, the tile level corresponding to the second sub-screen area is two levels lower than the tile level corresponding to the first sub-screen area; if the tile level corresponding to the first sub-screen area is greater than or equal to 18, the tile level corresponding to the second sub-screen area is 15. For ease of explanation, the following example uses a second preset layer level of 16, meaning that a tile layer level of 16 or higher includes the 3D model, while a layer level lower than 16 does not include the 3D model.
[0155] Step S134: For each sub-screen area, determine the identifier of the tile to be displayed in the sub-screen area based on the second geographical range corresponding to the sub-screen area and the layer of the tile to be displayed.
[0156] Based on the tile segmentation rules, the terminal device's app includes a corresponding tile identifier determination algorithm. After determining the geographical range to be displayed in each sub-screen area and the tile hierarchy, for each sub-screen area, the identifiers of the tiles that can cover the second geographical range can be determined based on the second geographical range corresponding to that sub-screen area, the tile hierarchy, and the tile identifier determination algorithm. The tile identifiers can be the aforementioned tile numbers using tile coordinates or other numbering methods.
[0157] In specific implementation, for each sub-screen area, the terminal device can determine the identifier of the tile (referred to as tile 1) where the four vertices are located based on the geographical coordinates of the four vertices of the second geographical range corresponding to the sub-screen area, the layer of the tile to be displayed in the sub-screen area, and the tile identifier determination algorithm; then, based on the identifiers of the four tiles 1, the identifiers of each tile located between these four tiles (referred to as tile 2) can be determined; and by merging the identifiers of tile 1 and the identifiers of each tile 2 between tile 1, the identifiers of each tile to be displayed in the sub-screen area can be obtained.
[0158] It is understood that there is no strict time sequence between step S133 and step S131. Step S133 can be executed after step S131, before step S131, or in parallel with step S131. This embodiment does not impose any special limitations on this.
[0159] S140, The terminal device sends a tile request to the server.
[0160] After determining the tile identifiers corresponding to each sub-screen area, the tile identifiers can be included in the tile request, and then the request can be sent to the server to download the corresponding tiles.
[0161] The tile request can also carry other information about the tile, such as the tile type information. The value of the type parameter can indicate the geometric element type of the requested tile. That is, when requesting a tile, you can request all or part of the geometric element types contained in the tile.
[0162] For example, a tile request might be: "http: / / bj04maptest04.hwcloudtest.cn:9080 / temp / terrainvector / V1?tileType=20&x={x}&y={y}&z={z}", where "http: / / bj04maptest04.hwcloudtest.cn:9080 / temp / terrainvector / V1" represents the server address, "tileType=20" represents the type parameter mentioned above, and "x={x}&y={y}&z={z}" represents the tile identifier. The value of the type parameter `tileType` here is 20, indicating that the requested tile contains points, lines, faces, and 3D models. For instance, if the requested tile has a layer level of 16, and the geometric elements in the tile include points, lines, faces, and 3D models, then a `tileType` value of 20 requests all points, lines, faces, and 3D models contained in that tile.
[0163] Understandably, when users use a map app, the app can save recently downloaded tiles in its local cache so that the tile can be quickly retrieved when needed again. Therefore, in some implementations, after determining the identifier of the tile corresponding to each sub-screen area, it can first check if the corresponding tile exists in the local cache. For tiles already in the cache, there is no need to request them from the server, thus saving data traffic and improving download efficiency. For example, if the map display area requires N tiles to be displayed, and the cache contains M tiles out of N tiles, then when requesting tiles from the server, the remaining NM tiles can be requested.
[0164] Step S150: The terminal device receives the tiles corresponding to each identifier returned by the server.
[0165] After receiving a tile request, the server can determine the corresponding tile based on the tile identifier carried in the tile request, and then return the tile corresponding to each identifier to the terminal device; correspondingly, the terminal device can receive the tile corresponding to each identifier returned by the server.
[0166] Step S160: The terminal device renders and displays the first tile in the first sub-screen area and the second tile in the second sub-screen area.
[0167] Specifically, after obtaining the tiles corresponding to each sub-screen area, the graphics processing unit (GPU) can call rendering tools such as the open graphics library (OpenGL) to render the first tile in the first sub-screen area, render the second tile in the second sub-screen area, and then display the first tile and the second tile in the map display area on the screen.
[0168] Figure 13 The image shows a comparison of map display effects before and after using a multi-level display method in non-navigation mode, such as... Figure 13 In (a) of the example, when a multi-level display method is not used to display a 3D map, a large amount of map data is loaded in the distant areas of the map, especially when 3D buildings are very densely packed. For example... Figure 13 As shown in (b), after displaying the 3D map using a multi-level display method, the tile level displayed in the near area of the map (corresponding to the first sub-screen area) remains unchanged, while the tile level displayed in the far area of the map (corresponding to the second sub-screen area) is reduced, and 3D buildings are not included. Figure 14 The image shows a diagram illustrating the map display effect when using a multi-level display method in navigation mode, such as... Figure 14 As shown, when displaying a 3D map using a multi-level display method, the tile level displayed in the distant area of the map (corresponding to the second sub-screen area) is lower than the tile level displayed in the near area of the map (corresponding to the first sub-screen area), and does not include 3D buildings. This significantly reduces the map data loaded by the terminal device, effectively lowering the bandwidth, power consumption, and rendering overhead required to display 3D maps. This allows the terminal device to support 3D map display needs of various field-of-view sizes and also to display distant map data to the user, thus improving the user experience.
[0169] In this embodiment, the geographical area covered by the tiles corresponding to each sub-screen region is usually larger than the geographical area to be displayed in that sub-screen region. Therefore, during rendering, the tiles corresponding to the first and second sub-screen regions may exceed the boundary between them, meaning that the map display areas required for the tiles corresponding to the two sub-screen regions may overlap. In this case, the tiles corresponding to the second sub-screen region can be displayed in the overlapping area, or the tiles corresponding to the first sub-screen region can be displayed in the overlapping area.
[0170] In this method, the tiles corresponding to the first sub-screen area are displayed in the overlapping area. The map display area corresponding to the higher-level tiles can be larger. This can reduce the amount of map data while displaying as much map content as possible to the user, thus improving the user experience.
[0171] In practical implementation, the stencil testing technique in OpenGL can be used to render the tiles corresponding to each sub-screen area in a bottom-up order; alternatively, the stencil testing technique can be avoided, and the conventional redrawing method can be used to render the tiles corresponding to each sub-screen area in a top-down order, so that the tiles corresponding to the first sub-screen area are displayed in the overlapping area.
[0172] In the conventional repetitive rendering method, if the tiles corresponding to each sub-screen area are rendered in a top-down order, that is, the tiles corresponding to the second sub-screen area are rendered first, and then the tiles corresponding to the first sub-screen area are rendered, then when the map display areas of the tiles corresponding to the first sub-screen area and the second sub-screen area overlap, the tiles corresponding to the first sub-screen area can cover the tiles corresponding to the second sub-screen area, so that the tiles corresponding to the first sub-screen area are displayed in the overlapping area.
[0173] Using template testing technology allows for flexible control over the drawing content of the image to be drawn (e.g., tiles). In this embodiment, when drawing tiles, template testing technology can prevent the map display area from repeatedly drawing tiles. Thus, when rendering tiles corresponding to each sub-screen area in a bottom-up order (i.e., rendering the tiles corresponding to the first sub-screen area first, then the tiles corresponding to the second sub-screen area), if the map display areas of the tiles corresponding to the first and second sub-screen areas overlap, when drawing the tiles corresponding to the second sub-screen area, the overlapping area already contains the tiles corresponding to the first sub-screen area, and other tiles are not repeatedly drawn. Therefore, the overlapping area can ultimately display the tiles corresponding to the first sub-screen area.
[0174] The above-mentioned conventional repetitive drawing method is simple and easy to implement. The drawing method based on template testing technology can reduce the amount of drawing data and improve rendering efficiency. It can be selected as needed in specific implementation. This embodiment does not make any special limitations on this.
[0175] Based on the top-down tile rendering method, tiles corresponding to the first sub-screen area may cross the boundary between the first and second sub-screen areas. For tiles that cross the boundary (referred to here as target tiles), for example, if the target tile is at level 16 and contains 3D buildings, the tile may appear as follows on the map display interface: Figure 15 The display effect shown is illustrated. Multiple target tiles can be included. Figure 15 The following example is used to illustrate the point.
[0176] See Figure 15As the terminal device moves, the geographical area displayed on the map changes, which appears as a tile movement effect on the map display interface. When the target tile corresponding to the first sub-screen area moves from bottom to top, such as... Figure 15 As shown in (a) and (b), 3D buildings within the target tiles are gradually displayed in the second sub-screen area; as... Figure 15 As shown in (c), when the target tile moves completely to the second sub-screen area above, the second sub-screen area will load and display the corresponding low-level tile. For example, the level of the low-level tile is level 14. At this time, there are no 3D buildings in the low-level tile, so the buildings will suddenly disappear in the second sub-screen area.
[0177] To improve this situation and enhance the user experience, in this embodiment, when the target tile crosses the boundary line between the corresponding first sub-screen area and the adjacent second sub-screen area above it, the portion above the boundary line may not display the 3D model. As mentioned earlier, the 3D model may include 3D buildings and 3D roads, etc. In this embodiment, a 3D building will be used as an example for illustrative purposes.
[0178] Continue with Figure 15 Taking the target tile shown as an example, different content is displayed above and below the dividing line of the target tile, such as... Figure 16 As shown in (a) and (b), the portion of the target tile above the boundary line in the first sub-screen area does not display 3D buildings. Therefore, as the target tile moves from bottom to top, the 3D buildings gradually disappear; as shown in (a) and (b), the 3D buildings gradually disappear. Figure 16 As shown in (c), when the target tile moves completely to the second sub-screen area above, the corresponding lower-level tile is loaded and displayed in the second sub-screen area. At this time, the 3D building in the target tile gradually disappears when it passes the dividing line, which makes the user's visual experience better.
[0179] To achieve the above display effect, in this embodiment, when rendering the map, the map elements in the tiles can be drawn by modifying the far section.
[0180] Specifically, when rendering images, tools like OpenGL use projection transformation techniques to project 3D models onto the screen to form 2D images, thus representing the 3D world in a 2D plane. Among these, perspective projection is currently the most commonly used technique for image rendering because it is similar to the human visual system.
[0181] Perspective projection technology simulates the camera imaging process to form a 2D image, using a virtual camera position to adjust the coordinates of the drawn object. Specifically, for example... Figure 17As shown, perspective projection technology uses a pyramid as the viewing cone, with the virtual camera located at the apex of the pyramid (also called the viewpoint). This pyramid is truncated by two sections (the far section and the near section), forming a frustum. The area within this frustum is the visible region, and coordinates within this region are projected onto the viewing plane (the projection plane, typically the near section). Coordinates outside the frustum are clipped. For example... Figure 17 As shown, objects 1 and 2, represented by spheres, are located within the visible area and will be projected onto the near-section, i.e., displayed on the screen; object 3 is located outside the visible area and will not appear on the screen.
[0182] Figure 18 A schematic diagram illustrating the map rendering principle is shown, such as... Figure 18 As shown, the terminal device can determine the map data to be drawn based on the viewpoint position, camera angle, near section, far section, map plane, and the tilt angle of the map plane; then, it can project and display the map data based on perspective projection technology.
[0183] The viewpoint position is the location of the viewpoint relative to the map plane. The distance L (i.e., the height of the virtual camera) from the viewpoint to the 2D map plane can be determined based on the target hierarchy to be displayed. The projection of the viewpoint onto the 2D map plane coincides with the center point of the 2D map plane, thus determining the viewpoint position. When drawing a 2D map, this 2D map plane is the same as the map plane of the 2D map to be displayed; when drawing a 3D map, this 2D map plane is the 2D map plane corresponding to the 3D map to be displayed, i.e., the map plane corresponding to the 2D map obtained when switching from the 3D map to the 2D map.
[0184] The camera viewpoint, the position of the near section, and the position of the far section can be preset. The position of the near section can be represented by the distance from the near section to the viewpoint. Similarly, the position of the far section can be represented by the distance from the far section to the viewpoint.
[0185] The map plane includes the tiles to be displayed in the map display area.
[0186] When drawing a 2D map, the tilt angle of the map plane is 0 degrees; when drawing a 3D map, the tilt angle of the map plane is greater than 0 degrees.
[0187] In the above steps, after obtaining the tiles corresponding to each sub-screen area, the graphics processing unit (GPU) can call rendering tools such as the Open Graphics Library (OpenGL) to display the first and second tiles in the map display area on the screen. The specific principle includes:
[0188] After obtaining the tile data corresponding to each sub-screen area, and determining that the tiles are used to draw a 3D map, the map app obtains the rendering parameters used to draw the 3D map, such as... Figure 19 As shown in (a), these rendering parameters are sent to the rendering engine (e.g., an OpenGL rendering engine). These rendering parameters may include: viewpoint position, camera angle, near-section position, far-section position, 3D map plane, and the tilt angle (greater than 0 degrees) of the 3D map plane. The rendering engine can determine the corresponding rendering instructions based on perspective projection techniques according to these rendering parameters, and then send the rendering instructions to the GPU, enabling the GPU to render the map data projected onto the near-section. The map data projected onto the near-section includes map elements in the 3D map plane located within the camera's field of view (i.e., the visible area) between the near and far sections, but excludes map elements in the 3D map plane behind the far section (located outside the visible area).
[0189] After obtaining the tiles corresponding to each sub-screen area, and determining that the tiles are used to draw a 2D map, the map app obtains the rendering parameters used to draw the 2D map, such as... Figure 19 As shown in (b), the map application can send these rendering parameters to the rendering engine (e.g., an OpenGL rendering engine). These rendering parameters can include: viewpoint position, camera angle, near-section position, far-section position, 2D map plane, and the tilt angle (0 degrees) of the 2D map plane. The rendering engine can determine the corresponding rendering instructions based on these rendering parameters using perspective projection technology, and then send the rendering instructions to the GPU, enabling the GPU to render the map data projected onto the near-section according to the rendering instructions. The map data projected onto the near-section includes map elements in the 2D map plane located within the camera's field of view (i.e., the visible area) between the near and far sections, but excludes map elements in the 2D map plane located outside the camera's field of view (i.e., outside the visible area) between the near and far sections.
[0190] Based on the above principles, in this embodiment, as follows: Figure 20 As shown, when drawing point, line, and polygon elements in a map, they can be drawn according to the determined distance of the original far section; when drawing 3D models (such as 3D buildings) in a map, they can be drawn after moving the far section to the target position.
[0191] The target location is located at the intersection of the ray pointing from the viewpoint to the boundary line on the near section (since the figure is a side view, the boundary line is represented as a point) and the map plane. The target location on the modified far section is actually at the intersection of the modified far section and the map plane. Figure 20The dividing line is located, for example, at the upper 1 / 4 of the cross-section, that is, the ratio of the second sub-screen area to the first sub-screen area is 1:3.
[0192] exist Figure 20 In the embodiments, when drawing the point, line, and surface data of the tiles included in the first sub-screen area and the second sub-screen area, such as Figure 21 As shown in (a), the rendering parameters sent by the map app to the rendering engine may include: viewpoint position, camera angle, position of the near section, position of the original far section, point, line and surface data in the 3D map plane (including point, line and / or surface data in the first and second tiles) and tilt angle of the 3D map plane (specifically 50°). The rendering engine can determine the corresponding rendering instructions based on perspective projection technology according to these rendering parameters, and then send the rendering instructions to the GPU, so that the GPU can render the map data projected onto the near section according to the rendering instructions. The map data projected onto the near section includes point, line and surface elements in the 3D map plane located within the camera's field of view (i.e., the visible area) between the near section and the far section.
[0193] When drawing the 3D model data of the tiles included in the first and second sub-screen regions, such as Figure 21 As shown in (b), the rendering parameters sent by the map app to the rendering engine may include: viewpoint position, camera angle, near section position, modified far section position, 3D model data in the 3D map plane, and tilt angle of the 3D map plane (specifically 50°). The rendering engine can determine the corresponding rendering instructions based on perspective projection technology according to these rendering parameters, and then send the rendering instructions to the GPU, so that the GPU can render the map data projected onto the near section according to the rendering instructions. The map data projected onto the near section does not include the 3D model in the target tile located behind the modified far section.
[0194] like Figure 20 and Figure 16 As shown in (a), after moving the near-far section to the target location, 3D buildings 1 and 3D buildings 2 on the target tile are close to a portion of 3D building 1. Figure 20 (Represented by solid lines in the middle), located within the visible area between the near and far sections, can be displayed on the screen; a portion of 3D building 2 on the target tile is close to 3D building 3 and 3D building 3 ( Figure 20 (Represented by dashed lines), located outside the visible area, and will not be displayed on the screen. Its display effect on the screen is... Figure 16 As shown in (a), 3D buildings are displayed below the dividing line, but not above the dividing line.
[0195] Figure 22It shows Figure 20 The result after the target tile in the image moves upward a certain distance is shown in the following display effect. Figure 16 As shown in (b), 3D building 2 in the target tile moves upward to the second sub-screen area (i.e., outside the visible area), and 3D building 1 moves to the boundary line and is displayed across the boundary line.
[0196] Understandably, the target location is determined based on multiple factors, such as the boundary line position, the distance from the viewpoint to the corresponding 2D map plane in the 3D map plane, and the tilt angle of the 3D map plane. Figure 23 As shown, for example, the dividing line is located at approximately the upper 2 / 5 of the cross-section, and other factors are related to... Figure 20 If they are the same, then compare Figure 20 , Figure 23 With the center dividing line shifted downwards, the target tile's position is now closer to the lower edge of the map display area. The modified far section's position on the target tile's 3D map plane (i.e., the target position) is closer to the viewpoint.
[0197] Among them, such as Figure 23 As shown, the dividing line is located at the upper 2 / 5 of the cross-section, that is, the ratio of the second sub-screen area to the first sub-screen area is 2:3; the tilt angle of the 3D map plane is 50° for example.
[0198] The above describes the case where there are two sub-screen areas; the following describes the case where there are three sub-screen areas.
[0199] Figure 24 A flowchart illustrating another map display method provided in this application embodiment is shown below. Figure 24 As shown, the method may include the following steps:
[0200] Step S210: The terminal device detects the user's first operation.
[0201] This step is similar to step S110, and the relevant description can be found in step S110, so it will not be repeated here.
[0202] Step S220: The terminal device responds to the first operation by dividing the map display area of the screen into three vertically arranged sub-screen areas.
[0203] See Figure 25Similar to step S120, when dividing the sub-screen areas, the size of the map display area on the screen can be obtained (2400*1080 pixels for example), and the area division ratio can be determined (1:1.5:5.5 for example); then the map display area is divided according to the area division ratio to obtain three vertically arranged sub-screen areas: the lower sub-screen area 1 (1650*1080 pixels), the middle sub-screen area 2 (450*1080 pixels), and the upper sub-screen area 3 (300*1080 pixels).
[0204] To improve the user experience, when dividing sub-screen areas, the area of each sub-screen area can gradually decrease from bottom to top. This allows users to view a larger range of high-level tiles, making it easier for them to obtain map information.
[0205] The other contents of this step are similar to those of step S120 above. For details, please refer to the relevant description in step S120. They will not be repeated here.
[0206] Step S230: The terminal device determines the identifier of the tile to be displayed in each sub-screen area. The tile level of each sub-screen area gradually decreases from bottom to top.
[0207] Similar to step S130, the terminal device can first determine the identifier of the tile to be displayed in each sub-screen area, and then obtain the relevant tile.
[0208] Specifically, when determining tiles, the terminal device can first determine the first geographical range to be displayed in the map display area, and then determine the second geographical range to be displayed in each sub-screen area based on the first geographical range. In addition, the layer of the tiles to be displayed in each sub-screen area can be determined based on the target layer. Finally, for each sub-screen area, the identifier of the tiles to be displayed in that sub-screen area can be determined based on the second geographical range corresponding to that sub-screen area and the layer of the tiles to be displayed.
[0209] When determining the tile level for each sub-screen region, the tile level corresponding to the sub-screen region closest to the bottom of the screen (i.e., sub-screen region 1) can be equal to the target level. For example... Figure 25 The 17 levels shown; in two adjacent sub-screen areas, the tile level corresponding to the sub-screen area closer to the top of the screen can be a first preset level lower than the tile level corresponding to the sub-screen area closer to the bottom of the screen, for example... Figure 25 As shown, the tile level corresponding to sub-screen area 2 is 16, and the tile level corresponding to sub-screen area 3 is 15, that is, the first preset level is level 1.
[0210] It is understandable that the first preset layer corresponding to each pair of adjacent sub-screen regions can be the same or different. That is, the difference in tile layers between sub-screen region 2 and sub-screen region 1 can also be different from the difference in tile layers between sub-screen region 3 and sub-screen region 2. Figure 25 The example shown is merely illustrative, with the difference in tile levels between adjacent sub-screen areas being 1, and is not intended to limit this application.
[0211] In addition, the tile level corresponding to the sub-screen area closest to the top of the screen (i.e., sub-screen area 3) can be lower than the second preset level to further reduce the amount of map data required.
[0212] The other contents of this step are similar to those of step S120 above. For details, please refer to the relevant description in step S120. They will not be repeated here.
[0213] Step S240: The terminal device sends a tile request to the server.
[0214] After determining the tile identifiers corresponding to each sub-screen area, the tile identifiers can be included in the tile request, and then the request can be sent to the server to download the corresponding tiles.
[0215] For details regarding tile requests, please refer to step S140; they will not be repeated here.
[0216] Similar to step 140, after determining the tile identifiers corresponding to each sub-screen area, you can first check if there are corresponding tiles in the local cache. For tiles that exist in the cache, there is no need to request them from the server, thereby saving data traffic and improving download efficiency.
[0217] Step S250: The terminal device receives the tiles corresponding to each identifier returned by the server.
[0218] Step S260: The terminal device renders each acquired tile and displays it in the map display area.
[0219] Once the tiles corresponding to each sub-screen area are obtained, the GPU can call rendering tools such as OpenGL to render the corresponding tiles in each sub-screen area and then display them in the map display area on the screen.
[0220] Figure 26 The diagram illustrates a comparison of map display effects before and after using a multi-level display method when the map display level is relatively low. For example... Figure 26 As shown in (a) above, the 3D map is not displayed using a multi-level display method; the map display area displays tiles of the same level. For example... Figure 26As shown in (b), after displaying the 3D map using a multi-level display method, the tile level displayed in the near area of the map (corresponding to sub-screen area 1) remains unchanged, while the tile level displayed in the far area of the map (corresponding to sub-screen areas 2 and 3) is reduced, resulting in less map information displayed. Furthermore, the tile level corresponding to sub-screen area 3 is lower than that of sub-screen area 2, and the displayed map information is less than that displayed in sub-screen area 2. Correspondingly, the map data loaded in sub-screen areas 2 and 3 is reduced, thereby lowering the bandwidth, power consumption, and rendering overhead required for displaying 3D maps. This allows the terminal device to support 3D map display needs of various field-of-view sizes and also enables the display of distant map data to the user, thus improving the user experience.
[0221] Similar to step S160, when the map display areas of tiles corresponding to two adjacent sub-screen areas overlap, the tiles corresponding to the sub-screen areas closer to the bottom of the screen can be displayed in the overlapping area. Correspondingly, during rendering, a template testing technique can be used to render the tiles corresponding to each sub-screen area in a bottom-up order; alternatively, a template testing technique can be omitted, and the tiles corresponding to each sub-screen area can be rendered in a top-down order.
[0222] When rendering tiles in the above manner, if the target tile crosses the boundary line between its corresponding sub-screen area and the adjacent sub-screen area above it, and the tile corresponding to the adjacent sub-screen area does not contain a 3D model, then the portion of the target tile that exceeds the boundary line will not display a 3D model, in order to improve the user experience.
[0223] For example, such as Figure 27 As shown in (a), assuming the tiles corresponding to sub-screen area 1 are level 17, sub-screen area 2 are level 16, and sub-screen area 3 are level 15, both the tiles corresponding to sub-screen area 1 and sub-screen area 2 contain 3D models, while the tiles corresponding to sub-screen area 3 do not. When tile A corresponding to sub-screen area 1 is displayed across the boundary line 1 between sub-screen area 1 and sub-screen area 2, the portion of tile A above the boundary line 1 can display a 3D model. When tile B corresponding to sub-screen area 2 is displayed across the boundary line 2 between sub-screen area 2 and sub-screen area 3, the portion of tile B above the boundary line 2 does not display a 3D model. Figure 27As shown in (b), after tile A is completely moved into the upper sub-screen area 2, the corresponding lower-level tile C is loaded and displayed in sub-screen area 2; after tile B is completely moved into the upper sub-screen area 3, the corresponding lower-level tile D is loaded and displayed in sub-screen area 3. Tile C has 16 levels and includes a 3D model; tile D has 15 levels and does not include a 3D model.
[0224] It is understood that the target tile corresponding to sub-screen area 1 is not limited to tile A mentioned above, and the target tile corresponding to sub-screen area 2 is not limited to tile B mentioned above. Both sub-screen area 1 and sub-screen area 2 can include multiple target tiles. Figure 27 The example provided is merely illustrative and is not intended to limit this application.
[0225] The other contents of this step are similar to those of step S160 above. For details, please refer to the relevant description in step S160. They will not be repeated here.
[0226] In addition, for cases where there are more sub-screen areas, the display principle is similar to that for cases where there are 3 sub-screen areas, so it will not be repeated here.
[0227] Those skilled in the art will understand that the above embodiments are exemplary and not intended to limit this application. Where possible, the execution order of one or more of the above steps can be adjusted, or they can be selectively combined to obtain one or more other embodiments. Those skilled in the art can arbitrarily select and combine the above steps as needed, and all those that do not depart from the essence of this application fall within the protection scope of this application.
[0228] The map display method provided in this embodiment divides the map display area of the screen during the map display process, and loads and displays tiles of different levels in each sub-screen area. The tiles in each sub-screen area are arranged from bottom to top, and the level of the corresponding tiles gradually decreases. This can effectively reduce the amount of map data required for distant areas of the map, thereby reducing traffic, power consumption and rendering overhead. As a result, the terminal device can support the 3D map display needs of various field sizes. Moreover, this solution can also display distant map data to users, thus improving the user experience.
[0229] Based on the same concept, as an implementation of the above method, this application provides a map display device. This device embodiment corresponds to the aforementioned method embodiment. For ease of reading, this device embodiment will not repeat the details of the aforementioned method embodiment one by one, but it should be clear that the device in this embodiment can implement all the contents of the aforementioned method embodiment.
[0230] Figure 28This is a schematic diagram of the structure of the map display device provided in the embodiments of this application, such as... Figure 28 As shown, the apparatus provided in this embodiment may include:
[0231] Display module 210, input module 220, processing module 230 and communication module 240.
[0232] The display module 210 is used to support the terminal device in performing the interface display operations in the above embodiments and / or other processes used in the technology described herein. The display module may be a touch screen or other hardware or a combination of hardware and software.
[0233] The input module 220 is used to receive user input on the display interface of the terminal device, such as touch input, voice input, gesture input, etc. The input module is used to support the terminal device in performing the steps of receiving the user's call answering operation in the above embodiments and / or other processes used in the technology described herein. The input module may be a touch screen or other hardware or a combination of hardware and software.
[0234] The processing module 230 is used to support the terminal device in performing the processing operations in the above embodiments and / or other processes used in the technology described herein.
[0235] The communication module 240 is used to support the terminal device in performing operations related to the communication process between the cloud device and other terminal devices in the above embodiments and / or other processes used in the technology described herein.
[0236] The device provided in this embodiment can execute the above method embodiment, and its implementation principle and technical effect are similar, so it will not be described again here.
[0237] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.
[0238] Based on the same concept, this application also provides a terminal device. Please refer to [link to relevant documentation]. Figure 29, Figure 29 This is a schematic diagram of the structure of a terminal device provided in an embodiment of this application.
[0239] Terminal device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, a headphone jack 170D, a sensor module 180, buttons 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc.
[0240] The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, a barometric pressure sensor 180C, a magnetic sensor 180D, an accelerometer sensor 180E, a distance sensor 180F, a proximity sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.
[0241] It is understood that the structures illustrated in the embodiments of this application do not constitute a specific limitation on the terminal device 100. In other embodiments of this application, the terminal device 100 may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0242] Processor 110 may include one or more processing units, such as: application processor (AP), modem processor, graphics processing unit (GPU), image signal processor (ISP), controller, memory, video codec, digital signal processor (DSP), baseband processor, and / or neural network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.
[0243] The controller can serve as the central nervous system and command center of the terminal device 100. The controller can generate operation control signals based on the instruction opcode and timing signals to control the fetching and execution of instructions.
[0244] The processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. This memory can store instructions or data that the processor 110 has just used or that are used repeatedly. If the processor 110 needs to use the instruction or data again, it can retrieve it directly from the memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.
[0245] In some embodiments, the processor 110 may include one or more interfaces. Interfaces may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.
[0246] The I2C interface is a bidirectional synchronous serial bus, including a serial data line (SDA) and a serial clock line (SCL). The I2S interface can be used for audio communication. The PCM interface can also be used for audio communication, sampling, quantizing, and encoding analog signals. The UART interface is a universal serial data bus used for asynchronous communication; this bus can be a bidirectional communication bus, converting the data to be transmitted between serial and parallel communication. The MIPI interface can be used to connect the processor 110 to peripheral devices such as the display 194 and camera 193; MIPI interfaces include camera serial interface (CSI) and display serial interface (DSI). The GPIO interface can be configured via software; it can be configured as a control signal or a data signal. The USB interface 130 is a USB standard compliant interface, specifically a Mini USB interface, MicroUSB interface, or USB Type-C interface. The USB interface 130 can be used to connect a charger to charge the terminal device 100, and can also be used for data transfer between the terminal device 100 and peripheral devices. It can also be used to connect headphones for audio playback. This interface can also be used to connect other terminal devices, such as AR devices.
[0247] It is understood that the interface connection relationships between the modules illustrated in the embodiments of this application are merely illustrative and do not constitute a structural limitation on the terminal device 100. In other embodiments of this application, the terminal device 100 may also adopt different interface connection methods or a combination of multiple interface connection methods as described in the above embodiments.
[0248] The charging management module 140 receives charging input from a charger, which can be either a wireless charger or a wired charger. While charging the battery 142, the charging management module 140 can also supply power to the terminal device via the power management module 141.
[0249] The power management module 141 connects the battery 142, the charging management module 140, and the processor 110. The power management module 141 receives input from the battery 142 and / or the charging management module 140, providing power to the processor 110, internal memory 121, external memory, display screen 194, camera 193, and wireless communication module 160. The power management module 141 can also monitor parameters such as battery capacity, battery cycle count, and battery health status (leakage current, impedance). In some other embodiments, the power management module 141 may also be located within the processor 110.
[0250] The wireless communication function of the terminal device 100 can be implemented through antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, modem processor and baseband processor, etc.
[0251] Antennas 1 and 2 are used to transmit and receive electromagnetic wave signals. Each antenna in terminal device 100 can be used to cover one or more communication frequency bands. Different antennas can also be multiplexed to improve antenna utilization. For example, antenna 1 can be multiplexed as a diversity antenna for a wireless local area network. In some other embodiments, the antennas can be used in conjunction with a tuning switch.
[0252] The mobile communication module 150 can provide solutions for wireless communication, including 2G / 3G / 4G / 5G, applied to the terminal device 100. The mobile communication module 150 may include at least one filter, switch, power amplifier, low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves via antenna 1, and perform filtering, amplification, and other processing on the received electromagnetic waves before transmitting them to a modem processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modem processor and convert it into electromagnetic waves for radiation via antenna 1. In some embodiments, at least some functional modules of the mobile communication module 150 may be housed in the processor 110. In some embodiments, at least some functional modules of the mobile communication module 150 and at least some modules of the processor 110 may be housed in the same device.
[0253] The modem processor may include a modulator and a demodulator. The modulator modulates the low-frequency baseband signal to be transmitted into a mid-to-high frequency signal. The demodulator demodulates the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After processing by the baseband processor, the low-frequency baseband signal is transmitted to the application processor. The application processor outputs sound signals through audio devices (not limited to speaker 170A, receiver 170B, etc.) or displays images or videos through the display screen 194.
[0254] The wireless communication module 160 can provide solutions for wireless communication applications on the terminal device 100, including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), and infrared (IR) technologies. The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via antenna 2, performs frequency modulation and filtering of the electromagnetic wave signals, and sends the processed signal to processor 110. The wireless communication module 160 can also receive signals to be transmitted from processor 110, perform frequency modulation and amplification, and convert them into electromagnetic waves for radiation via antenna 2.
[0255] In some embodiments, antenna 1 of terminal device 100 is coupled to mobile communication module 150, and antenna 2 is coupled to wireless communication module 160, enabling terminal device 100 to communicate with networks and other devices via wireless communication technology. The wireless communication technology may include Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Time Division-Synchronous Code Division Multiple Access (TD-SCDMA), Long Term Evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technologies, etc. The GNSS may include the Global Positioning System (GPS), the Global Navigation Satellite System (GNSS), the BeiDou Navigation Satellite System (BDS), the Quasi-Zenith Satellite System (QZSS), and / or satellite-based augmentation systems (SBAS).
[0256] Terminal device 100 implements display functions through a GPU, display screen 194, and application processor. The GPU is a microprocessor for image processing, connected to the display screen 194 and the application processor. The GPU performs mathematical and geometric calculations and is used for graphics rendering. Processor 110 may include one or more GPUs, which execute program instructions to generate or modify display information. Display screen 194 is used to display images, videos, etc.
[0257] Terminal device 100 can perform shooting functions through ISP, camera 193, video codec, GPU, display 194 and application processor.
[0258] The ISP is used to process data fed back from camera 193. Camera 193 is used to capture still images or video. The digital signal processor is used to process digital signals; in addition to digital image signals, it can also process other digital signals. The video codec is used to compress or decompress digital video.
[0259] NPU stands for Neural Network (NN) Computing Processor. By borrowing the structure of biological neural networks, such as the transmission patterns between neurons in the human brain, it can rapidly process input information and continuously learn on its own. NPUs enable intelligent cognitive applications in terminal devices, such as image recognition, facial recognition, speech recognition, and text understanding.
[0260] The external storage interface 120 can be used to connect an external storage card, such as a Micro SD card, to expand the storage capacity of the terminal device 100. The external storage card communicates with the processor 110 through the external storage interface 120 to perform data storage functions. For example, music, video, and other files can be saved on the external storage card.
[0261] Internal memory 121 can be used to store computer executable program code, which includes instructions. Processor 110 executes various functional applications and data processing of terminal device 100 by running the instructions stored in internal memory 121.
[0262] Terminal device 100 can implement audio functions, such as music playback and recording, through audio module 170, speaker 170A, receiver 170B, microphone 170C, headphone jack 170D, and application processor.
[0263] Audio module 170 is used to convert digital audio information into analog audio signal output, and also to convert analog audio input into digital audio signal. Audio module 170 can also be used for audio signal encoding and decoding. Speaker 170A, also called a "loudspeaker," is used to convert audio electrical signals into sound signals. Receiver 170B, also called a "handpiece," is used to convert audio electrical signals into sound signals. Microphone 170C, also called a "microphone" or "microphone," is used to convert sound signals into electrical signals. Headphone jack 170D is used to connect wired headphones. Headphone jack 170D can be a USB interface 130, or a 3.5mm Open Mobile Terminal Platform (OMTP) standard interface, or a CTIA (Cellular Telecommunications Industry Association of the USA) standard interface.
[0264] Buttons 190 include a power button, volume buttons, etc. Buttons 190 can be mechanical buttons or touch buttons. Terminal device 100 can receive button input and generate key signal inputs related to user settings and function control. Motor 191 can generate vibration alerts. Motor 191 can be used for incoming call vibration alerts or for touch vibration feedback. Indicator 192 can be an indicator light, used to indicate charging status, battery level changes, messages, missed calls, notifications, etc. SIM card interface 195 is used to connect a SIM card. The SIM card can be inserted into or removed from the SIM card interface 195 to achieve contact and separation with the terminal device 100. Terminal device 100 can support one or N SIM card interfaces, where N is a positive integer greater than 1. SIM card interface 195 can support Nano SIM cards, Micro SIM cards, SIM cards, etc.
[0265] The terminal device provided in this embodiment can execute the above method embodiment, and its implementation principle and technical effect are similar, so they will not be described again here.
[0266] This application also provides a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the methods described in the above-described method embodiments.
[0267] This application also provides a computer program product that, when run on an electronic device, causes the electronic device to implement the method described in the above-described method embodiments.
[0268] This application also provides a chip system including a processor coupled to a memory. The processor executes a computer program stored in the memory to implement the method described in the above-described method embodiments. The chip system may be a single chip or a chip module composed of multiple chips.
[0269] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted through the computer-readable storage medium. The computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, or magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., a solid-state drive (SSD)).
[0270] Those skilled in the art will understand that implementing all or part of the processes in the above embodiments can be accomplished by a computer program instructing related hardware. This program can be stored in a computer-readable storage medium, and when executed, it can include the processes described in the above method embodiments. The aforementioned storage medium can include various media capable of storing program code, such as ROM or random access memory (RAM), magnetic disks, or optical disks.
[0271] The naming or numbering of steps in this application does not mean that the steps in the method flow must be executed in the time / logical order indicated by the naming or numbering. The execution order of the named or numbered process steps can be changed according to the technical purpose to be achieved, as long as the same or similar technical effect can be achieved.
[0272] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0273] In the embodiments provided in this application, it should be understood that the disclosed apparatus / devices and methods can be implemented in other ways. For example, the apparatus / device embodiments described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0274] It should be understood that in the description of this application and the appended claims, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, for example, a process, method, system, product, or device that includes a series of steps or modules is not necessarily limited to those steps or modules that are explicitly listed, but may include other steps or modules that are not explicitly listed or that are inherent to such process, method, product, or device.
[0275] In the description of this application, unless otherwise stated, " / " indicates that the objects before and after are in an "or" relationship. For example, A / B can mean A or B. "And / or" in this application is merely a description of the relationship between the related objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist simultaneously, and B exists alone. A and B can be singular or plural.
[0276] Furthermore, in the description of this application, unless otherwise stated, "multiple" means two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can mean: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.
[0277] As used in this application specification and the appended claims, the term "if" may be interpreted, depending on the context, as "when," "once," "in response to determination," or "in response to detection." Similarly, the phrase "if determined" or "if detected [the described condition or event]" may be interpreted, depending on the context, as meaning "once determined," "in response to determination," "once detected [the described condition or event]," or "in response to detection [the described condition or event]."
[0278] Furthermore, in the description of this application and the appended claims, the terms "first," "second," "third," etc., are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments described herein can be implemented in a sequence other than that illustrated or described herein.
[0279] References to "one embodiment" or "some embodiments" in this specification mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized.
[0280] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features therein. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.
Claims
1. A map display method, applied to a terminal device, characterized in that, include: The first interface is displayed, and the first interface displays the first map area; Receive the user's first action; In response to the first operation, a second interface is displayed, the second interface including multiple sub-screen areas, the multiple sub-screen areas including a first sub-screen area and a second sub-screen area located above the first sub-screen area; The tiles in the first sub-screen area are first tiles, and the tiles in the second sub-screen area are second tiles, with the second tile having a lower layer than the first tile; The second interface includes a first object. When the first object is entirely located in the first sub-screen area, the 3D model corresponding to the first object is displayed. When the first part of the first object is located in the first sub-screen area and the second part is located in the second sub-screen area, the 3D model corresponding to the first part is displayed, and the 3D model corresponding to the second part is not displayed. When the first object is completely moved into the second sub-screen area, the 3D model corresponding to the first object is not displayed.
2. The method according to claim 1, characterized in that, The second interface is a navigation interface or an interface that displays a non-navigation map.
3. The method according to claim 1, characterized in that, The first operation includes at least one of the following operations: activating navigation mode, a gesture operation to change the tilt angle of the map plane, a click operation on the target control, a map zoom operation, and a map pan operation.
4. The method according to claim 1, characterized in that, The tile in the first map area is the third tile, and the layer of the first tile is equal to the layer of the third tile.
5. The method according to claim 1, characterized in that, The second tile does not include a 3D model.
6. The method according to claim 1, characterized in that, The first tile includes a 3D model.
7. The method according to claim 1, characterized in that, The method further includes: In response to the user's second action, the multi-level display mode is turned on or off, where the map display area can display multiple levels of tiles.
8. The method according to claim 1, characterized in that, The method further includes: In response to a third user action, the function to disable the multi-level display mode in non-navigation mode can be enabled or disabled. In multi-level display mode, the map display area can display multiple levels of tiles.
9. The method according to claim 1, characterized in that, The response to the first operation, displaying the second interface, includes: In response to the first operation, if the tilt angle of the map plane to be displayed on the second interface is greater than or equal to the target angle, the second interface is displayed.
10. The method according to claim 1, characterized in that, The response to the first operation, displaying the second interface, includes: In response to the first operation, the map display area of the screen is divided to obtain the plurality of sub-screen areas; Obtain the first and second tiles; The second interface is rendered and displayed based on each of the first and second tiles.
11. The method according to claim 10, characterized in that, The acquisition of the first tile and the second tile includes: Determine the identifier of the first tile and the identifier of the second tile; Based on the identifiers of the first tile and the second tile, obtain the first tile and the second tile.
12. The method according to claim 11, characterized in that, Determining the identifier of the first tile and the identifier of the second tile includes: The geographical range to be displayed in the map display area is determined based on the target level to be displayed. Based on the geographical range to be displayed in the map display area, determine the geographical range to be displayed in the first sub-screen area and the geographical range to be displayed in the second sub-screen area; The layer of the first tile and the layer of the second tile are determined according to the target layer, wherein the layer of the first tile is equal to the target layer; The identifier of the first tile is determined based on the geographical range to be displayed in the first sub-screen area and the layer of the first tile; The identifier of the second tile is determined based on the geographical range to be displayed in the second sub-screen area and the layer of the second tile.
13. The method according to claim 11, characterized in that, The acquisition of the first tile and the second tile includes: Send a tile request to the server, the tile request carrying the identifier of the first tile and / or the identifier of the second tile; Receive the tile corresponding to the identifier returned by the server.
14. The method according to claim 1, characterized in that, The area of the first sub-screen region is larger than the area of the second sub-screen region.
15. The method according to any one of claims 1-14, characterized in that, The plurality of sub-screen regions also includes a third sub-screen region, which is located between the first sub-screen region and the second sub-screen region; The tile in the third sub-screen area is the fourth tile, and the layer of the fourth tile is lower than the layer of the first tile but higher than the layer of the second tile.
16. A terminal device, characterized in that, include: A memory and a processor, the memory being used to store a computer program; the processor being used to execute the method as described in any one of claims 1-15 when the computer program is invoked.
17. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the method as described in any one of claims 1-15.
18. A computer program product, characterized in that, When the computer program product is run on a terminal device, it causes the terminal device to perform the method as described in any one of claims 1-15.
19. A chip system, characterized in that, The chip system includes a processor coupled to a memory, the processor executing a computer program stored in the memory to implement the method as described in any one of claims 1-15.
Citation Information
Patent Citations
Use of banding to optimize map rendering in a three-dimensional tilt view
US20130093750A1