Method of displaying a map and related device

CN116027949BActive Publication Date: 2026-08-21BOE TECHNOLOGY GROUP CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202111241512.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-10-25
Publication Date
2026-08-21
Estimated Expiration
2041-10-25

AI Technical Summary

Technical Problem

可以看出,这种方式需要频繁地使终端设备与服务器进行数据交互,大大降低了电子地图产品的使用效率

Benefits of technology

[0017] The method and related devices for displaying maps provided in this disclosure store map data and tree structure data created based on the map data in a terminal device, enabling the terminal device to display the map based on the locally stored data, saving the time spent interacting with the server and improving the efficiency of map usage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116027949B_ABST
    Figure CN116027949B_ABST
Patent Text Reader

Abstract

The present disclosure provides a method for displaying a map and related devices. The method comprises: receiving a first instruction of a user for displaying the map; determining, according to the first instruction, first map data corresponding to the first instruction in combination with first tree structure data of the map; and displaying the map according to the first map data; wherein the first tree structure data and the first map data are stored in the terminal device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of computer technology, and more particularly to a method and related equipment for displaying maps. Background Technology

[0002] With the development of technology, people no longer rely on physical maps to find their destinations and find directions, but instead rely on electronic map products in computer devices to achieve these purposes.

[0003] Generally, when using electronic map products, each click by the user on the map generates a command to display the corresponding map content. This command is then converted into a request by the receiving terminal device (e.g., the user's mobile phone) and sent to the server to retrieve the corresponding map data for display. It can be seen that this method requires frequent data interaction between the terminal device and the server, significantly reducing the efficiency of using electronic map products. Summary of the Invention

[0004] This disclosure provides a method and related equipment for displaying maps.

[0005] A first aspect of this disclosure provides a method for displaying a map, applied to a terminal device, including:

[0006] Receive the user's first instruction to display the map;

[0007] Based on the first instruction, and in conjunction with the first tree structure data of the map, the first map data corresponding to the first instruction is determined; and

[0008] The map is displayed based on the first map data;

[0009] Both the first tree structure data and the first map data are stored in the terminal device.

[0010] A second aspect of this disclosure provides a terminal device including one or more processors, a memory, and one or more programs, wherein the one or more programs are stored in the memory and executed by the one or more processors, and the programs include instructions for performing the method of the first aspect.

[0011] A third aspect of this disclosure provides a system for displaying maps, comprising:

[0012] The terminal equipment described in the second aspect;

[0013] A first server is configured to: provide second map data to the terminal device, the second map data being used to create first tree structure data and first map data of the map; and

[0014] The database server is configured to store the second map data.

[0015] A fourth aspect of this disclosure provides a non-volatile computer-readable storage medium containing a computer program that, when executed by one or more processors, causes the processors to perform the method described in the first aspect.

[0016] A fifth aspect of this disclosure provides a computer program product including a computer-readable storage medium storing instructions that, when executed, cause at least one central processing unit of a computing device to perform the method described in the first aspect.

[0017] The method and related devices for displaying maps provided in this disclosure store map data and tree structure data created based on the map data in a terminal device, enabling the terminal device to display the map based on the locally stored data, saving the time spent interacting with the server and improving the efficiency of map usage. Attached Figure Description

[0018] To more clearly illustrate the technical solutions in this disclosure or related technologies, the accompanying drawings used in the description of the embodiments or related technologies will be briefly introduced below. Obviously, the accompanying drawings described below are only embodiments of this disclosure. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0019] Figure 1 A schematic diagram of an exemplary system provided in an embodiment of this disclosure is shown.

[0020] Figure 2A A schematic diagram of an exemplary startup interface according to an embodiment of the present disclosure is shown.

[0021] Figure 2B A schematic diagram of another exemplary startup interface according to an embodiment of the present disclosure is shown.

[0022] Figure 2C A schematic diagram of yet another exemplary startup interface according to an embodiment of the present disclosure is shown.

[0023] Figure 2D A schematic diagram of exemplary tree structure data according to an embodiment of the present disclosure is shown.

[0024] Figure 2E A schematic diagram of instantiated map objects after all map objects have been instantiated according to an embodiment of this disclosure is shown.

[0025] Figure 2FA schematic diagram of an exemplary interface according to an embodiment of the present disclosure is shown.

[0026] Figure 2G A schematic diagram of another exemplary interface according to an embodiment of this disclosure is shown.

[0027] Figure 2H A schematic diagram of yet another exemplary interface according to an embodiment of the present disclosure is shown.

[0028] Figure 2I A schematic diagram of another exemplary interface according to an embodiment of the present disclosure is shown.

[0029] Figure 2J A schematic diagram of yet another exemplary interface according to an embodiment of the present disclosure is shown.

[0030] Figure 2K A schematic diagram of another exemplary interface according to an embodiment of this disclosure is shown.

[0031] Figure 3A A schematic diagram of yet another exemplary interface according to an embodiment of the present disclosure is shown.

[0032] Figure 3B A schematic diagram of another exemplary interface according to an embodiment of the present disclosure is shown.

[0033] Figure 3C A schematic diagram of another exemplary interface according to an embodiment of this disclosure is shown.

[0034] Figure 4 A flowchart illustrating an exemplary method provided in an embodiment of this disclosure is shown.

[0035] Figure 5 A schematic diagram of a more specific electronic device hardware structure provided by an embodiment of this disclosure is shown. Detailed Implementation

[0036] To make the objectives, technical solutions, and advantages of this disclosure clearer, the following detailed description is provided in conjunction with specific embodiments and the accompanying drawings.

[0037] It should be noted that, unless otherwise defined, the technical or scientific terms used in the embodiments of this disclosure should have the ordinary meaning understood by one of ordinary skill in the art to which this disclosure pertains. The terms "first," "second," and similar terms used in the embodiments of this disclosure do not indicate any order, quantity, or importance, but are merely used to distinguish different components. Terms such as "comprising" or "including" mean that the element or object preceding the word encompasses the elements or objects listed following the word and their equivalents, without excluding other elements or objects. Terms such as "connected" or "linked" are not limited to physical or mechanical connections, but can include electrical connections, whether direct or indirect. Terms such as "upper," "lower," "left," and "right" are used only to indicate relative positional relationships; when the absolute position of the described object changes, the relative positional relationship may also change accordingly.

[0038] Figure 1 A schematic diagram of an exemplary system 100 provided in an embodiment of this disclosure is shown.

[0039] like Figure 1 As shown, system 100 may include terminal device 200, server 300, and database server 400. In some embodiments, system 100 may be a geographic information system (GIS system).

[0040] Terminal device 200 can be a fixed terminal (e.g., a personal computer) or a mobile terminal (e.g., a mobile phone, tablet computer, etc.). Terminal device 200 can be a device corresponding to terminal user 600, who only uses the map service provided by system 100 and does not participate in the system 100's map maintenance or other work. User 600 can send operation instructions to terminal device 200 through operations on terminal device 200. In some cases, terminal device 200 can send corresponding requests to server 300 based on user 600's operation instructions, and server 300 can respond to the request and return corresponding data to terminal device 200.

[0041] Both server 300 and database server 400 can be implemented using one or more servers. When multiple servers are used to implement server 300 or database server 400, a distributed architecture can be adopted. Server 300 is used to interact with terminal device 200 and respond to requests from terminal device 200, processing the requests accordingly and returning the corresponding data to terminal device 200. Database server 400 can be used to store all map-related data, such as map overlay data and overlay extension data. Overlays are elements in the map, including but not limited to points, lines, polygons, circles, etc. These elements can also be represented by attribute descriptions as specific areas or objects on the map, such as: administrative region (polygon), community (polygon), building (polygon), street lamp (point), etc. This attribute description constitutes the overlay data. Overlay extension data can be data used to describe basic information about the overlays, such as overlay name, location, ID, etc. In some cases, for different business needs, the overlay may contain specific business-level information, such as overlay height, number of floors, apartment type, building color, etc. This information can also be used as overlay extended data. This overlay extended data is generated according to business needs, does not have corresponding fixed attributes, and cannot be stored in a uniform format. Therefore, in some embodiments, their key-value pairs can be written together in a JSON string and stored as extended attributes (ext_data).

[0042] In some embodiments, system 100 may further include a control device 500, which may be a device corresponding to the developers or maintenance personnel of the electronic map. Developers or maintenance personnel can use the control device 500 to edit the data required for the map, thereby generating corresponding map data and storing it in the database server 400. In some embodiments, developers can use the control device 500 to create various types of overlay data and rich overlay extended data using editing functions, thereby generating overlay metadata and storing it in the database server 400. In some embodiments, overlay extended data (e.g., basic information such as the specific size, location, and name of the overlay, as well as special information such as the overlay height, number of floors, house type, and building color) is stored in an array in JSON format as attribute information of the overlay.

[0043] In one implementation, when user 600 interacts with the map via terminal device 200 (e.g., selecting a region for display), terminal device 200 needs to send a request to server 300 to retrieve the map data corresponding to that region. Server 300 responds to the request and filters the required map data from database server 400 based on the request. Then, server 300 returns the corresponding map data for terminal device 200 to display. Therefore, every time user 600 performs a map operation, terminal device 200 needs to send a request to server 300 to retrieve the corresponding data, wait for server 300 to filter and return the data from database server 400, and then display the map based on the received data. This method undoubtedly reduces the efficiency of map usage for users.

[0044] In another implementation, to address the issue of batch processing specified overlays, the specified batch overlays can be added to an object created by an `OverlayGroup` class declared in the terminal device 200. The object created by `OverlayGroup` wraps these batch overlay instances, performing operations on the entire collection of instances and avoiding the need for developers to cycle through multiple overlay instances requiring the same attributes. Then, by performing corresponding operations on the object created by `OverlayGroup`, batch overlay processing can be achieved. This implementation achieves batch processing by adding batch overlays to an object created by the `OverlayGroup` class, but this approach can only perform single-dimensional batch operations on specified overlays. In practical applications, overlay objects often have multi-level map relationships, while this solution's map overlay batch management only involves a single level—adding all overlays requiring batch processing to a single object created by the `OverlayGroup` class. Each object created by the `OverlayGroup` class exists in parallel, and there is no correlation between the multiple objects created by the `OverlayGroup` class, which cannot meet the needs of manipulating complex map information. When complex operations occur, data access can only be achieved by frequently communicating with server 300, which is clearly insufficient for optimizing map performance.

[0045] In view of this, embodiments of this disclosure provide a method and related device for displaying a map. The method includes: receiving a first instruction from a user to display the map; determining first map data corresponding to the first instruction based on the first instruction and in conjunction with first tree structure data of the map; and displaying the map based on the first tree structure data and the first map data; wherein the first tree structure data and the first map data are both stored in the terminal device.

[0046] The map display method and related apparatus provided in this disclosure store map data and a tree structure data created based on the map data in a terminal device. This allows the terminal device to display the map based on locally stored data, saving time spent interacting with a server and improving map usage efficiency. Furthermore, by creating a tree structure data to represent the relationships between map data, when a user's instruction to display the map is received, the tree structure data can be used to find (or filter) the map data corresponding to the instruction (without traversing the locally stored map data), further improving efficiency.

[0047] The following is combined Figure 1 The system 100 shown further illustrates the implementation of the system 100 provided in the embodiments of this disclosure.

[0048] First, the developers of the electronic map can use the editing function of the control device 500 to create map data, which can include various overlay data and rich overlay extended data, thereby generating overlay metadata 502, which is then stored in the database server 400 by the server 300.

[0049] Based on the area to be displayed on the electronic map, overlay data can be created first. Taking the map of City A as an example, the corresponding overlay data may include: overlays with the outline of City A, overlays with the outlines of each district under City A, overlays with the outlines of each community under each district, overlays with the outlines of each residential area under each community, overlays with the outlines of each unit building in each residential area, and in addition, there may be overlays with road outlines, polygonal overlays of lawns / flower beds, point overlays representing elements such as streetlights, and so on. This overlay data can vary according to the changes in the business requirements corresponding to the electronic map, and the specific data is designed according to the requirements. In some embodiments, the overlay data may also be obtained directly from an existing map material library, without having to create it yourself.

[0050] When creating overlay data, corresponding extended data can be edited for each overlay. This extended data can include data describing basic information about the overlay (e.g., overlay name, location, ID, etc.) or data describing specific information about the overlay (e.g., overlay height, number of floors, house type, building color, etc.). In some embodiments, the key-value pairs of each extended data can be written together in a single JSON string and stored as an extended attribute (ext_data) of the overlay data.

[0051] After the overlay data and its extended data are created, the control device 500 can store this data as metadata 502 of the map data in the database server 400 via the server 300 for subsequent retrieval by the terminal device 200.

[0052] In some embodiments, after completing data storage, the control device 500 can request the overlay data and its extended data of the entire map by refreshing the map data to check and confirm the created data. If the check finds problems with the data, the developers can also use the control device 500 to modify and improve the data.

[0053] After the map data has been constructed, user 600 can use the electronic map through terminal device 200. In some embodiments, if terminal device 200 is a mobile terminal, the map can be used by installing a corresponding application. In other embodiments, if terminal device 200 is a fixed terminal, the map can be used by entering a corresponding web address using a browser.

[0054] In the initial state, user 600 sends a map display command 602 to terminal device 200 by opening a map application or entering a corresponding web address in a browser. It can be understood that this map display command 602 can be an initial command, and the displayed map can be the default map in the initial state, such as a map of City A. Assuming that terminal device 200 has not stored map data in this initial state, it can send a request 202 to server 300 to create the map in the initial state, based on the command 602, to obtain the corresponding map data. Server 300 responds to this request 202, retrieves the corresponding map data 302 from database server 400, and returns the data 302 to terminal device 200.

[0055] In some embodiments, the data 302 may not be limited to data with only one level (for example, if a map of City A is to be displayed, the data may only contain overlay data of City A and its extended data, excluding data at the next level below City A), but may include multiple overlay data and corresponding extended data, and these overlay data have a hierarchical relationship. For example, to obtain map data corresponding to City A, the data 302 may include overlay data with the outline of City A, overlay data with the outlines of each district under City A, overlay data with the outlines of each community under each district, and extended data corresponding to these overlay data, such as overlay name, location, ID, size, etc. It can be seen that the overlay data with the outline of City A corresponds to City A, and the overlay data with the outlines of each district under City A corresponds to each district under City A, and they have a hierarchical relationship. Similarly, the overlay data with the outlines of each district under City A and the overlay data with the outlines of each community under each district also have a corresponding hierarchical relationship. Since the data 302 will be stored locally on the terminal device 200 after being returned to the terminal device 200, considering the data transmission pressure and the storage capacity of the terminal device 200 itself, in some embodiments, the size of the data 302 can be set within a preset range (e.g., 5M) to ensure data transmission efficiency and ensure that the storage space of the terminal device 200 has the corresponding storage capacity.

[0056] In other embodiments, the data 302 may not be limited by its size, but rather by the number of layers of map data acquired. For example, a single request from terminal device 200 may only acquire data with three layers. This could include overlay data showing the outline of City A, overlay data showing the outlines of the districts under City A, overlay data showing the outlines of the communities under each district, and extended data corresponding to these overlay data. It is understood that the three-layer data structure is merely an example, and the number of layers acquired can be adjusted according to actual needs. Of course, if conditions permit, all map data can also be acquired.

[0057] In some embodiments, the terminal device 200 can provide an interface with a list of attribute options in the startup interface of a map application or browser, and then the user 600 can generate an instruction 602 by selecting the corresponding attribute. The server 300 can then retrieve the data corresponding to the attribute selected by the user in the instruction 602 from the database server 400 and return it to the terminal device 200.

[0058] Figure 2A A schematic diagram of an exemplary startup interface 200A of a terminal device 200 according to an embodiment of the present disclosure is shown. Figure 2AAs shown, the startup interface 200A of the terminal device 200 provides multiple options for the user 600 to select, and also provides a "Select All" button (clicking this button will select all options in interface 200A) and a "Next Level" button (clicking this button will switch to...). Figure 2B The interface shown is 200B) and an "OK" button (after the user 600 clicks this button, an instruction 602 can be sent based on the option currently selected by the user 600).

[0059] For example, user 600 can select "City A" and then click the "Next" button, and then terminal device 200 can display... Figure 2B The interface shown is 200B. In interface 200B, user 600 can click the "Select All" button and then click the "Next Level" button to proceed. Figure 2C Interface 200C is shown. In interface 200B, user 600 can click the "Select All" button and then the "OK" button. Terminal device 200 then generates instruction 602 based on the user 600's selected options: "City A," "District A," "District B," "District C," "District D," "AA Community," "AB Community," "AC Community," "AD Community," "BA Community," "BB Community," "BC Community," "BD Community," "CA Community," "CB Community," "CC Community," "CD Community," "DA Community," "DB Community," "DC Community," and "DD Community." Server 300 can then retrieve the corresponding data from database server 400 based on these options and return it to terminal device 200. In this way, user 600 can request accurate data from server 300, ensuring that the user's needs are met while maintaining an appropriate amount of data without consuming additional data transmission resources or the local resources of terminal device 200.

[0060] In some embodiments, the database server 400 can generate a complete tree structure based on all the map data stored therein. Then, after the server 300 obtains the attributes corresponding to each option selected by the user according to the instruction 602, it searches for the corresponding data through the complete tree structure stored in the database server 400, thereby enabling fast and accurate data search.

[0061] In some existing technologies (e.g., existing map software), the data obtained from a map creation / display request may include related data beyond the data corresponding to the map creation / display request itself. This related data is redundant for the map creation / display request. However, the data obtained based on the map creation / display request, including this redundant data, can generally have a hierarchical relationship. Therefore, in some embodiments, tree-structured data can be created based on this data, without specifically requiring a large amount of returned data or a specific number of levels. For example, if terminal device 200 sends a request to display city A, server 300, in addition to returning the overlay data and its extended data for city A, may also return the overlay data and its extended data for areas A to D of city A, and even more detailed data, to clearly show the internal situation of city A. Furthermore, to represent the surrounding area of ​​city A, data from neighboring cities B to D may also be returned, so that the final displayed map, in addition to city A, will also partially display the situation of surrounding cities around the outline of city A. Based on such data (which includes redundant data), the required tree-structured data can also be created.

[0062] After receiving the data 302, the terminal device 200 can store the data 302 locally and display the map corresponding to the instruction 602 based on the data 302.

[0063] Specifically, the terminal device 200 can first create a class corresponding to the map, such as a newOverlayGroup class. In this embodiment, only one newOverlayGroup class can be created, which can then be used to create all map objects related to the map.

[0064] It is understandable that, since the `newOverlayGroup` class is used to create map objects related to the map—in other words, all objects in this class are map-related—this embodiment can create only one `newOverlayGroup` class. However, in some cases, multiple classes can be created to create different types of map objects respectively. This situation is also applicable to the solution provided in this disclosure and is not necessarily excluded from the protection scheme of this disclosure.

[0065] Then, the terminal device 200 can define a tree structure in the newOverlayGroup class so that objects declared by the newOverlayGroup class can have relationships.

[0066] Then, the terminal device 200 can create a map object belonging to the newOverlayGroup class based on the data 302 to form data for displaying the map. In some embodiments, according to business requirements (e.g., business requirements require displaying specific information about overlays on the map (e.g., the number of permanent residents in the area)), the overlay extension data related to the business requirements in the received data 302 can be parsed into JSON format for creating a map object of the newOverlayGroup class.

[0067] When creating a map object of the `newOverlayGroup` class, you can follow a predefined tree structure creation rule (this rule is pre-defined in the application or obtained through the browser code; the rule can vary depending on business needs). Start from the data corresponding to the root node and extend downwards step by step to create objects of the `newOverlayGroup` class. For example, if the obtained data includes overlay data with the outline of City A, overlay data with the outlines of each district under City A, overlay data with the outlines of each community under each district, and extended data corresponding to these overlay data, the root node is City A. Therefore, based on the overlay data corresponding to City A and its extended data, you can create the map object corresponding to City A in the `newOverlayGroup` class. After instantiating the map object corresponding to City A in the `newOverlayGroup` class, a region with the outer outline of City A can be formed on the map to represent City A. Simultaneously with creating the map object corresponding to City A, you can create the root node of the tree structure data, storing attributes belonging to City A (such as city name, resident population, geographical location information, etc.) in the root node instance corresponding to City A, thus completing the construction of the root node of the tree structure data.

[0068] Then, following the tree structure creation rules, map objects corresponding to each district under City A in the `newOverlayGroup` class, as well as the child nodes in the corresponding tree structure data, can be created. For example, City A has districts A through D. Map objects for each of districts A through D in the `newOverlayGroup` class can be created based on the overlay data and extended data for each district in data 302. Correspondingly, while creating the map objects for each district, child nodes of the root node in the tree structure data can be created. Attributes belonging to each district (such as city name, resident population, and geographic location information) can be stored in the corresponding child node instances of each district, thus completing the construction of the child nodes of the root node in the tree structure data. This also forms the first layer of association between the map objects in the `newOverlayGroup` class. In some embodiments, a collection map object can be created when creating a map object. For example, the overlay data of areas A to D can be created as a map object (containing the overlay data of areas A to D). In this way, when batch operations are required on the overlays of areas A to D, the operations can be performed uniformly on the collection map object instead of operating on each one individually.

[0069] Similarly, terminal device 200 can also create map objects in the newOverlayGroup class from the overlay data and extended data of the communities under the jurisdiction of each of zones A to D, and create the next-level child nodes in the tree structure data.

[0070] It is understood that the above embodiments describe data 302 with only three hierarchical relationships as an example. In reality, data 302 can have more hierarchical relationships. For example, a community can contain apartment buildings, and an apartment building can contain floors. If data 302 further contains corresponding data, map objects in the newOverlayGroup class can be created based on the above method, and next-level child nodes in the tree structure data can be created. It is understood that in some business scenarios, the storage space of the terminal device 200 can be sufficient to hold the amount of data of the overlay data and its extended data of a city. Therefore, in some embodiments, data 302 can contain data of all levels that can be included under the jurisdiction of city A (e.g., the lowest level down to the floors of an apartment building), and the terminal device 200 can create all map objects and tree structure data nodes under the jurisdiction of city A according to the above method.

[0071] Figure 2D A schematic diagram of exemplary tree structure data 204 according to an embodiment of the present disclosure is shown. Figure 2DAs shown, a tree structure data 204 is formed according to the above method. This tree structure data 204 stores the overlays in nested layers. Each node stores the attribute information corresponding to that node. Therefore, by traversing the tree structure data 204 according to the attribute filtering conditions, the node corresponding to the attribute filtering conditions can be found, and the corresponding map object can be found based on that node. It is understandable that, according to different business needs, the attributes corresponding to the nodes in this tree structure can be changed, and correspondingly, the tree structure can also be modified.

[0072] After the map object and tree structure data are created in the newOverlayGroup class, the terminal device 200 can store this data locally.

[0073] Then, the terminal device 200 can instantiate all map objects in the newOverlayGroup class to form the third map data for displaying the map, the third map data including instantiated map objects (instances of map objects) corresponding to these map objects in the newOverlayGroup class. These instantiated map objects are represented on the map as map elements (overlays) with corresponding outlines.

[0074] Figure 2E This diagram illustrates the instantiated map objects after all map objects have been instantiated according to an embodiment of this disclosure. After all map objects are instantiated, corresponding overlays are formed. Since there are relationships between overlays, a lower-level overlay is formed within its higher-level overlay. For example... Figure 2E As shown, the instantiated map object 700 corresponding to City A includes instantiated map objects 702-708 corresponding to areas A to D. The instantiated map objects 702-708 corresponding to areas A to D respectively include instantiated map objects 7022-7028, 7042-7048, 7062-7068, and 7082-7088 corresponding to areas AA to AD, BA to BD, CA to CD, and DA to DD. In some embodiments, if instruction 602 requires all overlays corresponding to the map data in data 302 to be displayed on the map, then... Figure 2E The map shown can also be the one currently displayed.

[0075] In other embodiments, if instruction 602 requires only displaying specific data in data 302, the terminal device 200 can search for the corresponding node in the tree structure data 204 based on the specific attribute value corresponding to the specific data, then determine the instantiated map object corresponding to the corresponding node as the target object, and then call the explicit / implicit method encapsulated in the newOverlayGroup class to set the target object to explicit so that the target object can be displayed in the map, and set other objects in the instantiated map object other than the target object to implicit so that other objects can be hidden in the map.

[0076] For example, assuming instruction 602 only displays the districts of City A, excluding the communities within those districts, then terminal device 200 can set the instantiated map object 700 corresponding to City A and the instantiated map objects 702-708 corresponding to districts A through D to be explicit. Then, it can set the instantiated map objects 7022-7028, 7042-7048, 7062-7068, and 7082-7088 corresponding to districts AA through AD, BA through BD, CA through CD, and DA through DD to be implicit. In this way, the map displayed on terminal device 200 can be as follows: Figure 2F As shown.

[0077] In some embodiments, instruction 602 may include attribute filtering conditions. Terminal device 200 can then use these filtering conditions to search for map objects in the tree structure data 204 that match the filtering conditions, thereby determining the map data corresponding to instruction 602. For example, the attribute filtering conditions may include, but are not limited to: traversing all map objects corresponding to the entire tree structure data 204, querying all map objects corresponding to nodes at a certain level of the tree structure data 204, finding the parent, child, and descendant nodes / levels of a specified node, etc. Assuming instruction 602 is an initialization command after opening an application or entering a web address, the attribute filtering conditions can be set by default, or the attribute filtering condition options can be displayed in the startup interface for user 600 to select, and the attribute filtering conditions can be determined based on user 600's selection.

[0078] After completing the filtering and display settings for the map data, the terminal device 200 can provide an interface 800 to display the corresponding map, such as... Figure 2F As shown.

[0079] In some embodiments, user 600 can Figure 2FBased on the interface 800 shown, a further instruction 604 is issued to display the map. The terminal device 200 can determine, based on this instruction 604 and the tree structure data 204, whether the third map data in the terminal device 200 includes the fourth map data corresponding to instruction 604. If the third map data includes the fourth map data corresponding to instruction 604, the terminal device 200 can directly display the map based on the fourth map data stored locally. For example, instruction 604 may be to display the communities in area A. The instantiated map objects corresponding to each community in area A have already been created by the terminal device 200 based on data 302, and a corresponding tree structure data 204 has also been created. Therefore, by searching in the tree structure data 204, the terminal device 200 can determine that the third map data includes the fourth map data corresponding to instruction 604. Thus, the terminal device 200 can directly display the fourth map data without needing to retrieve the corresponding data from the server 300 for display. Therefore, since the terminal device 200 creates map objects and corresponding tree structure data 204 based on the hierarchical data 302, in some cases, when the data corresponding to the instruction has been stored in the terminal device 200 and a tree structure data has been created based on the data association, the data corresponding to the instruction can be quickly determined by searching in the tree structure data, and the map can be quickly displayed based on this data stored locally on the terminal device 200 without frequent interaction with the server 300, thus improving the efficiency of map display.

[0080] In some embodiments, the terminal device 200 can determine the attribute filtering conditions of the instruction 604 based on the location of the instruction 604 in the interface 800, and then search in the tree structure data 204 according to the attribute filtering conditions to determine the map data corresponding to the instruction 604.

[0081] For example, such as Figure 2F As shown, the interface 800 provides a search bar 802, where the user 600 can input corresponding attribute filtering conditions, such as "resident population greater than a preset number," "year of construction," "developer," etc. The terminal device 200 can then determine the attribute filtering conditions by generating an instruction 604 at the corresponding location in the search bar 802. Since the instruction 604 occurs at the location of the search bar 802, the terminal device 200 can accordingly obtain the attribute filtering conditions input by the user 600 in the search bar 802 to perform data filtering. For example, it can search for the corresponding map object in the tree structure data 204 using the attribute filtering conditions, then set the instantiated map object corresponding to the attribute filtering conditions to explicit, and set other instantiated map objects to implicit, thereby completing the map display based on instruction 604.

[0082] In some embodiments, corresponding buttons can also be set in the interface 800, each button corresponding to a specific attribute filtering condition. When the user's instruction 604 occurs at the location of the corresponding button, the attribute filtering condition of instruction 604 corresponds to the attribute filtering condition associated with that button. For example, as Figure 2F As shown, the interface 800 includes a "Show All" button 804. When the user's command 604 is executed at the location of the "Show All" button 804, the corresponding attribute filtering condition can be to display all map objects stored in the current terminal device 200. Accordingly, the terminal device 200 can traverse the tree structure data 204 to find all map objects and then display the map. The map displayed when the "Show All" button 804 is clicked is, for example,... Figure 2E As shown.

[0083] In other embodiments, in addition to the location where instruction 604 occurs, the method in which instruction 604 is generated can also be considered to determine the attribute filtering conditions. For example, a double-click instruction can be pre-defined to display all map objects in the area corresponding to the location where the instruction occurs. Figure 2F For example, when user 600 double-clicks the area containing region A on interface 800, the command 604 issued by user 600 instructs terminal device 200 to display all map objects in region A. After responding to command 604, terminal device 200 can display, for example, Figure 2G The interface 800 shown is as follows. In some embodiments, all instantiated map objects in area A can be displayed by calling the explicit / implicit methods encapsulated in the newOverlayGroup class to make all instantiated map objects in area A explicit. In some embodiments, to display area A more clearly, after making all instantiated map objects in area A explicit, the terminal device 200 can also call the zoom method encapsulated in the newOverlayGroup class to zoom in and center area A. At the same time, it can also call the explicit / implicit methods encapsulated in the newOverlayGroup class to make other instantiated map objects implicit. The processed interface 800 is as follows. Figure 2H As shown.

[0084] It is understood that the above-described embodiment of determining attribute filtering conditions based on instruction 604 is merely illustrative, and the attribute filtering method of this disclosure is not limited thereto.

[0085] In some embodiments, such as Figure 2F As shown, the interface 800 can also be equipped with buttons for implementing other functions, such as a display effect button 806 and an information label button 808. When the user 600 clicks these buttons, they can control the terminal device 200 to show or hide the display effect or information labels of the specified map objects.

[0086] In some embodiments, a map object may include a display effect attribute value (e.g., highlight) or a map information attribute value. Thus, an instantiated map object can have the display effect corresponding to the display effect attribute value or the map information corresponding to the map information attribute value. When the terminal device 200 sets the instantiated map object to explicit to display the corresponding instantiated map object on the map, an instantiated map object with the corresponding display effect or map information can be displayed on the map accordingly. In some embodiments, the display effect attribute value may be associated with explicit / implicit attribute values, and the map information attribute value may also be associated with explicit / implicit attribute values. By calling the explicit / implicit method encapsulated in the newOverlayGroup class to set the explicit / implicit attribute value corresponding to the display effect attribute value or map information attribute value to explicit, the corresponding instantiated map object can have that display effect or map information when displayed.

[0087] For example, user 600 sends a command 606 to terminal device 200 to turn on display effects by clicking display effect button 806. In this way, when user 600 receives command 602 or 604 and determines the target object according to the attribute filtering conditions, the corresponding display effect can be displayed at the same time as the target object. Figure 2I This diagram illustrates the user interface with the display enabled and the filter selected to show all map objects in area A. (Example:) Figure 2I As shown, after enabling the display effect, the terminal device 200 will set the display effect on the target object, which can serve as a reminder.

[0088] In some further embodiments, besides adding display effects (e.g., highlighting) to the instantiated map objects determined based on attribute filtering conditions, in some cases, these instantiated map objects determined based on attribute filtering conditions are discretely distributed on the map. Therefore, the terminal device 200 can also string these instantiated map objects with display effects together in some way to provide further guidance. For example, the terminal device 200 can add lines between these instantiated map objects determined based on attribute filtering conditions to provide an illustrative walking path. Specifically, the terminal device 200 can generate corresponding lines based on the coordinates of the center of the instantiated map objects on the map. In some embodiments, the lines can be connected based on the principle of proximity. Figure 2JAs shown, the filtered and highlighted objects are the instantiated map objects 7022, 7046, 7064, and 7082 corresponding to the AA, BC, CB, and DA communities, respectively. The AA community is closest to the CB community compared to the BC and DA communities. Therefore, a connection can be added between the AA and CB communities. Similarly, the CB community can be connected to the DA community, and the DA community can be connected to the BC community. This provides the connection between the highlighted objects through the shortest connection, thus offering users some path planning suggestions.

[0089] Similarly, user 600 sends a command 606 to terminal device 200 to display map information labels by clicking information label button 808. In this way, when user 600 receives command 602 or 604 and determines the target object according to the attribute filtering conditions, the corresponding display effect can be displayed at the same time as the target object. Figure 2K This diagram illustrates the user interface when the "Display Information Tabs" function is enabled and the filter is set to display basic map objects of City A. Figure 2K As shown, after the display information label function is enabled, the terminal device 200 will display the corresponding map information labels 7030, 7050, 7070, and 7090 on the target object, thereby enriching the content displayed on the map.

[0090] In some embodiments, the terminal device 200 may only store a portion of the map data (e.g., only the data of the three levels below City A is obtained). Therefore, when the terminal device 200 receives instruction 602 or 604, it needs to first search in the tree structure data 204 according to the instruction to determine whether the terminal device 200 stores the map data corresponding to the instruction.

[0091] If the terminal device 200 stores the map data corresponding to the instruction, the map can be displayed using the aforementioned method. If the terminal device 200 does not store the map data corresponding to the instruction (for example, the instruction requests to view a map of City B, which is adjacent to City A), the terminal device 200 needs to send a map creation request 206 to the server 300 again. The server 300 responds to the request 206 by retrieving the corresponding data 304 from the database server 400 and returning it to the terminal device 200. The specific content of data 304 can be referenced from the content of data 302; for example, data 304 may include map data with multiple hierarchical relationships. The terminal device 200 receives the data 304 and creates new tree structure data (for example, a tree structure with City B as the root node) and map objects for displaying the map based on the data 304. The specific creation method is referenced from the processing of data 302 and will not be repeated here. Then, the terminal device 200 can display the map based on the new tree structure data.

[0092] The following is an example of an implementation in a specific scenario. For instance, it can monitor and manage the display on a large screen for Intelligent Operations Centers (IOCs).

[0093] Figure 3A A schematic diagram of an exemplary interface 900 according to an embodiment of the present disclosure is shown. Figure 3A As shown, a city map can be displayed on the main screen interface 900. Smaller charts surround the map to display specific data, such as traffic congestion status (902), garbage accumulation alarms (904), fire alarm status (906), and other information (908). Each small chart belongs to a map object created by the `newOverlayGroup` class, and these map objects are parallel at this level. Furthermore, each multi-level map object within a small chart also requires corresponding map objects and a tree-like data structure to allow map objects within the small chart to be searched / filtered like those on the central map. The specific creation method is described above and will not be repeated here.

[0094] Then, when a fire alarm occurs, on the small chart 906 showing the fire alarm situation, we might only be able to see the general area in the city where the fire alarm occurred (e.g., Figure 3B (See the grayed-out area B in chart 906). However, to view it in detail, a further step is required. For example, user 600 can click on area B in chart 906 to expand area B further, and then obtain... Figure 3C The interface shown is illustrated. The specific processing logic of the terminal device 200 is described in the aforementioned embodiments and will not be repeated here. Similarly, user 600 can accurately locate the specific fire location. Since the method provided in this embodiment allows data to be directly stored on the terminal device, the map object (overlay) only needs to be instantiated once. The corresponding map is displayed based on its visibility on the map, without needing to destroy and recreate the overlay instance every time the scene changes. Simultaneously, by associating through a tree structure, map objects with a tree relationship are obtained. During downward searches, a specific level of the map can be directly traversed to quickly locate the specific location and display its attributes, greatly optimizing performance. In contrast, traditional downward search modes require requesting data from the backend server's database every time a click occurs, and then re-rendering the map based on the data, resulting in lower system performance.

[0095] In some embodiments, the map data may not have a clear hierarchical relationship. The design approach of the aforementioned embodiments can be used to process the data and reduce the interaction between the terminal device 200 and the server 300. For example, after creating corresponding data and storing attribute values ​​for apartment buildings in a community, a simple tree structure can be constructed for each attribute's overlay instance. This tree structure can have only one layer, with overlay instances with different attribute values ​​arranged in parallel to distinguish different attribute values. Thus, when filtering apartment buildings, the specified overlay instance can be quickly located by searching for the corresponding attribute value in this tree structure. This attribute value can be, for example, the number of floors in the building, the year of construction, the developer's affiliation, whether it is a dilapidated building, etc. Categorizing and storing these attribute values ​​allows for targeted filtering and searching business logic, avoiding the traditional process of destroying overlay instances, querying the database through the backend server, and recreating instances. Overlays can be directly displayed in batches by attribute values, thereby displaying the overlays on the map.

[0096] As can be seen from the above embodiments, the system 100 provided in this disclosure achieves the technical effect of directly representing map data relationships through the graphics of the terminal device by constructing a data structure for the overlay instances of the terminal device. The system 100 provided in this disclosure can quickly locate a specified batch of overlays on only one side of the terminal device and perform operations such as displaying / hiding the overlays. Furthermore, compared with existing methods, the system 100 provided in this disclosure can solve the problem of frequent communication with the backend server during map use caused by most data relationships in the map relying on database reading and storage operations.

[0097] The system 100 provided in this embodiment processes multi-level map data on a terminal device to form a graphical instance containing multi-level logic, enabling users to view and filter the corresponding map instance more quickly. At the same time, the system 100's maintenance personnel can also more quickly perform data addition, deletion, modification, and query by directly using the front-end graphical instance containing the logical structure, thereby avoiding frequent communication between the terminal device and the back-end server and achieving performance optimization of the map product.

[0098] The system 100 provided in this disclosure constructs map instances using a tree structure, which can clearly divide the map into multiple levels and improve map management efficiency. In some embodiments, by controlling the visibility of layers, instantiated graphics, etc., webpage performance is optimized, and the repeated creation and destruction of instances are avoided. In addition, the system 100 provided in this disclosure provides a variety of command methods, which greatly reduces the complexity of map operations.

[0099] This disclosure also provides a method for displaying maps, which can solve the problem of low efficiency in existing map filtering / searching. Figure 4 A flowchart illustrating an exemplary method 1000 provided in this disclosure embodiment is shown. This method 1000 can be applied to a terminal device 200 and may include the following steps.

[0100] In step 1002, the user (e.g., Figure 1 The first instruction (e.g., user 600) to display the map. Figure 1 Instructions 602 or 604).

[0101] In step 1004, according to the first instruction, the first tree structure data of the map (e.g., Figure 2D Data 204), determine the first map data corresponding to the first instruction.

[0102] In step 1006, the map is displayed based on the first map data, for example, as shown in the image. Figure 2F As shown.

[0103] Both the first tree structure data and the first map data are stored in the terminal device.

[0104] In some embodiments, the method 1000 may further include: sending data to a first server (e.g., Figure 1 The server 300 sends the first map creation request (e.g., Figure 1 Request 202); Receive the second map data corresponding to the first map creation request returned by the first server (e.g., Figure 1 The second map data includes map data with multiple hierarchical relationships; and based on the second map data, the first tree structure data and the third map data for displaying the map (e.g., an instantiated map object (overlay instance) created based on data 302) are created, the third map data including the first map data.

[0105] In some embodiments, creating the first tree structure data and the third map data for displaying the map based on the second map data further includes: creating a class corresponding to the map (e.g., a newOverlayGroup class); creating multiple map objects belonging to the class based on the second map data to form the third map data for displaying the map; and creating the first tree structure data according to the association relationship of each data in the second map data.

[0106] In some embodiments, displaying the map based on the first map data further includes: instantiating a plurality of map objects in the class to form third map data for displaying the map, the third map data including a plurality of instantiated map objects corresponding to the plurality of map objects (e.g., ...). Figure 2E The objects 700, 702-708, 7022-7028, 7042-7048, 7062-7068, and 7082-7088 are identified; the object corresponding to the first map data among the plurality of instantiated map objects is determined as the target object; and the explicit / implicit method encapsulated in the class is called to set the target object to explicit so that the target object can be displayed in the map (e.g., ...). Figure 2F Objects 700 and 702-708), and, other objects among the plurality of instantiated map objects besides the target object are set to implicit to hide the other objects in the map (e.g., Figure 2E The objects are 7022~7028, 7042~7048, 7062~7068, and 7082~7088.

[0107] In some embodiments, the map object includes a display effect attribute value, and setting the target object to be explicit to display the target object in the map further includes: displaying the target object with the display effect corresponding to the display effect attribute value in the map, for example, such as... Figure 2I As shown.

[0108] In some embodiments, the map object includes map information attribute values, and setting the target object to be explicit to display the target object in the map further includes: displaying the target object having map information corresponding to the map information attribute values ​​in the map, for example, such as... Figure 2K As shown.

[0109] In some embodiments, the first instruction includes attribute filtering conditions for the first map data, and the method further includes: searching in the first tree structure data according to the attribute filtering conditions of the first instruction to determine the first map data corresponding to the first instruction.

[0110] In some embodiments, the method 1000 may further include: providing an interface for displaying the map (e.g., Figure 2F The interface 800); receives a second instruction from the user to display the map (e.g., Figure 1The second instruction (604) is used to determine the attribute filtering conditions of the second instruction based on the location of the second instruction on the interface; and the fourth map data corresponding to the second instruction is searched in the first tree structure data based on the attribute filtering conditions of the second instruction.

[0111] In some embodiments, determining the first map data corresponding to the first instruction based on the first instruction and in conjunction with the first tree structure data of the map further includes: determining whether the terminal device stores the first map data corresponding to the first instruction based on the first instruction and in conjunction with the first tree structure data of the map.

[0112] In some embodiments, the method 1000 may further include: in response to determining that the terminal device does not store the first map data corresponding to the first instruction, sending a second map creation request to the first server (e.g., Figure 1 Request 206); Receive the fifth map data corresponding to the second map creation request returned by the first server (e.g., Figure 1 Data 304), the fifth map data includes map data with multiple hierarchical relationships; based on the fifth map data, a second tree structure data and a sixth map data for displaying the map are created, the sixth map data including the first map data.

[0113] In some embodiments, displaying the map based on the first map data further includes: displaying the map based on the first tree structure data or the second tree structure data and the first map data.

[0114] It should be noted that the method of this disclosure embodiment can be executed by a single device, such as a computer or server. The method of this embodiment can also be applied to a distributed scenario, where multiple devices cooperate to complete the task. In such a distributed scenario, one of these devices may execute only one or more steps of the method of this disclosure embodiment, and the multiple devices will interact with each other to complete the method described.

[0115] It should be noted that the above description describes some embodiments of this disclosure. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in a different order than that shown in the above embodiments and still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require a specific or sequential order to achieve the desired result. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0116] Figure 5 This diagram illustrates a more specific hardware structure of a terminal device 200 provided in an embodiment of the present disclosure. The device 200 may include a processor 208, a memory 210, an input / output interface 212, a communication interface 214, and a bus 216. The processor 208, memory 210, input / output interface 212, and communication interface 214 are interconnected internally via the bus 216.

[0117] The processor 208 can be implemented using a general-purpose CPU (Central Processing Unit), microprocessor, application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of this specification.

[0118] The memory 210 can be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory), static storage device, dynamic storage device, etc. The memory 210 can store the operating system and other applications. When the technical solutions provided in the embodiments of this specification are implemented by software or firmware, the relevant program code is stored in the memory 210 and is called and executed by the processor 208.

[0119] Input / output interface 212 is used to connect input / output modules to realize information input and output. Input / output modules can be configured as components in the device (not shown in the figure) or externally connected to the device to provide corresponding functions. Input devices may include keyboards, mice, touch screens, microphones, various sensors, etc., and output devices may include displays, speakers, vibrators, indicator lights, etc.

[0120] Communication interface 214 is used to connect a communication module (not shown in the figure) to enable communication between this device and other devices. The communication module can communicate via wired means (such as USB, Ethernet cable, etc.) or wireless means (such as mobile network, WIFI, Bluetooth, etc.).

[0121] Bus 216 includes a pathway for transmitting information between various components of the device, such as processor 208, memory 210, input / output interface 212, and communication interface 214.

[0122] It should be noted that although the above-described device only shows the processor 208, memory 210, input / output interface 212, communication interface 214, and bus 216, in specific implementations, the device may also include other components necessary for normal operation. Furthermore, those skilled in the art will understand that the above-described device may only include the components necessary for implementing the embodiments of this specification, and not necessarily all the components shown in the figures.

[0123] The electronic devices described above are used to implement the corresponding method 1000 in any of the foregoing embodiments and have the beneficial effects of the corresponding method embodiments, which will not be repeated here.

[0124] Based on the same inventive concept, corresponding to the methods of any of the above embodiments, this disclosure also provides a non-transitory computer-readable storage medium storing computer instructions for causing the computer to perform the method 1000 as described in any of the above embodiments.

[0125] The computer-readable medium of this embodiment includes permanent and non-permanent, removable and non-removable media, and information storage can be implemented by any method or technology. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transfer medium that can be used to store information accessible by a computing device.

[0126] The computer instructions stored in the storage medium of the above embodiments are used to cause the computer to execute the method 1000 as described in any of the above embodiments, and have the beneficial effects of the corresponding method embodiments, which will not be repeated here.

[0127] Based on the same inventive concept, corresponding to the method 1000 of any of the above embodiments, this disclosure also provides a computer program product, which includes a non-transitory tangible computer-readable medium having computer-readable instructions thereon. In some embodiments, the computer-readable instructions are executable by one or more processors to cause the processors to perform the method 1000. Corresponding to the execution entity for each step in each embodiment of method 1000, the processor performing the corresponding step may belong to the corresponding execution entity.

[0128] The computer program product of the above embodiments is used to cause the processor to execute the method 1000 as described in any of the above embodiments, and has the beneficial effects of the corresponding method embodiments, which will not be repeated here.

[0129] The "apparatus," "module," etc., in the various embodiments of this disclosure can be implemented using hardware units, software units, or combinations thereof. Examples of hardware units may include devices, components, processors, microprocessors, circuits, circuit elements (e.g., transistors, resistors, capacitors, inductors, etc.), integrated circuits, application-specific integrated circuits (ASICs), programmable logic devices (PLDs), digital signal processors (DSPs), field-programmable gate arrays (FPGAs), memory units, logic gates, registers, semiconductor devices, chips, microchips, chipsets, etc. Examples of software units may include software components, programs, applications, computer programs, application programs, system programs, machine programs, operating system software, middleware, firmware, software modules, routines, subroutines, functions, methods, procedures, software interfaces, application programming interfaces (APIs), instruction sets, computational code, computer code, code segments, computer code segments, words, values, symbols, or any combination thereof. Determining whether an embodiment is implemented using hardware units and / or software units can vary based on any number of factors, such as desired computing speed, power level, thermal tolerance, processing cycle budget, input data rate, output data rate, memory resources, data bus speed, and other design or performance constraints, as desired for a given implementation.

[0130] Some embodiments may include articles of manufacture. Articles of manufacture may include storage media for storing logic. Examples of storage media may include one or more types of computer-readable storage media capable of storing electronic data, including volatile or non-volatile memory, removable or non-removable memory, erasable or non-erasable memory, writable or rewritable memory, and so on. Examples of logic may include various software units, such as software components, programs, applications, computer programs, application programs, system programs, machine programs, operating system software, middleware, firmware, software modules, routines, subroutines, functions, methods, procedures, software interfaces, application programming interfaces (APIs), instruction sets, computational code, computer code, code segments, computer code segments, words, values, symbols, or any combination thereof. In one embodiment, for example, articles of manufacture may store executable computer program instructions that, when executed by a computer, cause the computer to perform methods and / or operations according to the described embodiments. Executable computer program instructions may include any suitable type of code, such as source code, compiled code, interpreted code, executable code, static code, dynamic code, and so on. Executable computer program instructions can be implemented according to predefined computer languages, methods, or syntaxes to instruct the computer to perform certain functions. Instructions can be implemented using any appropriate high-level, low-level, object-oriented, visual, compiled, and / or interpreted programming language.

[0131] Those skilled in the art should understand that the discussion of any of the above embodiments is merely exemplary and is not intended to imply that the scope of this disclosure (including the claims) is limited to these examples; within the framework of this disclosure, the technical features of the above embodiments or different embodiments can also be combined, the steps can be implemented in any order, and there are many other variations of different aspects of the embodiments of this disclosure as described above, which are not provided in detail for the sake of brevity.

[0132] Additionally, to simplify the description and discussion, and to avoid obscuring the embodiments of this disclosure, the provided drawings may or may not show well-known power / ground connections to integrated circuit (IC) chips and other components. Furthermore, the apparatus may be shown in block diagram form to avoid obscuring the embodiments of this disclosure, and this also takes into account the fact that the details of implementation of these block diagram apparatuses are highly dependent on the platform on which the embodiments of this disclosure will be implemented (i.e., these details should be fully understood by those skilled in the art). While specific details (e.g., circuitry) have been set forth to describe exemplary embodiments of this disclosure, it will be apparent to those skilled in the art that the embodiments of this disclosure may be implemented without these specific details or with variations thereof. Therefore, these descriptions should be considered illustrative rather than restrictive.

[0133] Although this disclosure has been described in conjunction with specific embodiments thereof, many substitutions, modifications, and variations of these embodiments will be apparent to those skilled in the art from the foregoing description. For example, other memory architectures (e.g., dynamic RAM (DRAM)) may be used with the embodiments discussed.

[0134] This disclosure is intended to cover all such substitutions, modifications, and variations that fall within the broad scope of the appended claims. Therefore, any omissions, modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.

Claims

1. A method for displaying a map, applied to a terminal device, comprising: Receive the user's first instruction to display the map; Based on the first instruction and in conjunction with the first tree structure data of the map, the first map data corresponding to the first instruction is determined; as well as The map is displayed based on the first map data; The first tree structure data and the first map data are both stored in the terminal device; The method further includes: Send the first map creation request to the first server; The system receives second map data corresponding to the first map creation request returned by the first server. The second map data includes map data with multiple hierarchical relationships, and the data volume of the second map data is less than a data volume threshold and / or the number of hierarchical levels of the second map data is less than a hierarchical number threshold. Based on the second map data, the first tree structure data and the third map data for displaying the map are created, wherein the third map data includes the first map data; The creation of the first tree structure data and the third map data for displaying the map, based on the second map data, further includes: Create the class corresponding to the map; Based on the second map data, multiple map objects belonging to the aforementioned class are created to form the third map data used to display the map; and Based on the relationships between the data in the second map data, create the first tree structure data; The display of the map based on the first map data further includes: Multiple map objects in the class are instantiated to form the third map data for displaying the map, the third map data including multiple instantiated map objects corresponding to the multiple map objects; The object corresponding to the first map data among the plurality of instantiated map objects is identified as the target object; and The explicit / implicit methods encapsulated in the class are invoked to set the target object to explicit so that the target object is displayed in the map, and to set other objects among the plurality of instantiated map objects other than the target object to implicit so that the other objects are hidden in the map.

2. The method of claim 1, further comprising: Receive a second instruction from the user to display the map; Based on the second instruction and in conjunction with the first tree structure data of the map, it is determined whether the third map data includes the fourth map data corresponding to the second instruction; as well as In response to determining that the third map data includes the fourth map data corresponding to the second instruction, the map is displayed based on the fourth map data.

3. The method as described in claim 1, wherein, The map object includes display effect attribute values, and setting the target object to be visible to display the target object in the map further includes: The target object with the display effect corresponding to the display effect attribute value is displayed in the map.

4. The method of claim 1, wherein, The map object includes map information attribute values, and setting the target object to be explicit to display the target object in the map further includes: The target object with map information corresponding to the map information attribute values ​​is displayed on the map.

5. The method of claim 1, wherein, The first instruction includes attribute filtering conditions for the first map data, and the method further includes: Based on the attribute filtering conditions of the first instruction, the first map data corresponding to the first instruction is determined by searching in the first tree structure data.

6. The method of claim 2, further comprising: Provide an interface for displaying the map; The step of determining whether the third map data includes the fourth map data corresponding to the second instruction, based on the second instruction and in conjunction with the first tree structure data of the map, includes: Based on the location where the second instruction occurs on the interface, determine the attribute filtering conditions for the second instruction; as well as Based on the attribute filtering conditions of the second instruction, the fourth map data corresponding to the second instruction is determined by searching in the first tree structure data.

7. The method of claim 1, wherein, Based on the first instruction, and in conjunction with the first tree structure data of the map, determining the first map data corresponding to the first instruction further includes: Based on the first instruction and in conjunction with the first tree structure data of the map, it is determined whether the terminal device stores the first map data corresponding to the first instruction.

8. The method of claim 7, further comprising: In response to determining that the terminal device does not store the first map data corresponding to the first instruction, a second map creation request is sent to the first server; Receive the fifth map data corresponding to the second map creation request returned by the first server, wherein the fifth map data includes map data with multiple hierarchical relationships; as well as Based on the fifth map data, a second tree structure data and a sixth map data for displaying the map are created, the sixth map data including the first map data.

9. The method of claim 8, wherein, Displaying the map based on the first map data further includes: The map is displayed based on the first tree structure data or the second tree structure data and the first map data.

10. A terminal device comprising one or more processors, a memory, and one or more programs, wherein the one or more programs are stored in the memory and executed by the one or more processors, the programs comprising instructions for performing the method according to any one of claims 1-9.

11. A system for displaying maps, comprising: The terminal device as described in claim 10; A first server is configured to provide second map data to the terminal device, the second map data being used to create first tree structure data and first map data of the map. as well as The database server is configured to store the second map data.

12. The system of claim 11, further comprising: The control device is configured to create the second map data.

13. A non-volatile computer-readable storage medium containing a computer program, characterized in that, When the computer program is executed by one or more processors, the processors perform the method of any one of claims 1-9.

14. A computer program product comprising a computer-readable storage medium storing instructions which, when executed, cause at least one central processing unit of a computing device to perform the method according to any one of claims 1-9.

Citation Information

Patent Citations

  • Presenting hierarchies of map data at different zoom levels

    CN106462945A