Method and electronic device for recommending points of interest

By normalizing the distribution of interest points and optimizing their distribution location, the problem of uneven distribution of interest points is solved, and a stable number of interest points can be provided in different regions is achieved, which improves the user experience.

CN115146151BActive Publication Date: 2025-05-09PETAL CLOUD TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110352817.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-03-31
Publication Date
2025-05-09
Estimated Expiration
2041-03-31

AI Technical Summary

Technical Problem

When providing recommendations for interest points, the prior art faces the problem of uneven distribution of interest points, which leads to too many interest points in the core area and sparse interest points in the suburbs and other areas, affecting the user experience.

Method used

By normalizing the distribution of interest points, the distribution location of interest points is optimized to make it more balanced, and then the target interest points are recommended based on the optimized interest points. The specific method includes obtaining the user's geographical coordinates, performing normalization processing, obtaining the target interest points based on the normalized coordinates and grid index, and presenting them to the user.

Benefits of technology

It realizes that the number of interest points can be recommended to users in different regions, improving the user experience and convenience of finding interest points.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115146151B_ABST
    Figure CN115146151B_ABST
Patent Text Reader

Abstract

The embodiment of the present application provides a method and electronic device for recommending points of interest, which belongs to the field of electronic technology. The method is applied to an electronic device, including: obtaining a grid index feedback message sent by a server, the grid index feedback message includes a grid index of the point of interest, the grid index includes a correspondence between n points of interest and at least one geographic grid, the geographic grid is obtained according to the normalized coordinates of the geographic coordinates of the point of interest after normalization; receiving a first operation of the user; based on the first operation, obtaining the geographic coordinates of the electronic device; according to the geographic coordinates of the electronic device and the grid index, obtaining the target point of interest; displaying the information of the target point of interest. Through the above method, by optimizing the distribution state of the points of interest using a specific normalization algorithm, the electronic device can recommend points of interest with a relatively consistent number, so that users can obtain a larger amount of information about points of interest in different areas, thereby improving the user experience.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of electronic technology, and in particular to a method and electronic device for recommending points of interest. Background Art

[0002] The development of smart devices such as smartphones, car-mounted devices, and smart watches has brought great convenience to users' lives and work. For example, in daily life, if users need to query some nearby points of interest (POI), such as restaurants and shopping malls, they can use the smart devices they carry to locate and send their own locations to the cloud to obtain the distribution of some points of interest around the location. However, with the increasing awareness of personal privacy protection, sending the user's precise location to the cloud in real time may bring high privacy risks. Therefore, offline discovery of nearby points of interest information based on smart devices has gradually become an industry trend.

[0003] In practical applications, since the distribution of points of interest has obvious clustering, for example, restaurants are generally only concentrated in the core areas of the city, resulting in the points of interest in the core areas being too dense, and there are too many points of interest in the geographic grid, which cannot form differentiation; while in remote areas such as suburbs, there are relatively few points of interest, resulting in sparse or no points of interest in the corresponding geographic grids in the suburbs, and too few points of interest presented to users.

[0004] Therefore, in view of the uneven distribution of points of interest, how to provide users with a good presentation effect of points of interest and improve the convenience of users in finding points of interest has become an urgent problem to be solved. Summary of the invention

[0005] The present application provides a method for recommending points of interest, which solves the problem of uneven number of recommended points of interest in different areas by optimizing the balance of point of interest distribution and recommending point of interest information to users based on the points of interest after the optimized distribution.

[0006] In a first aspect, a method for recommending points of interest is provided, which is applied to an electronic device, comprising: obtaining a grid index feedback message sent by a server, the grid index feedback message comprising a grid index of the point of interest, the grid index comprising a correspondence between n points of interest and at least one geographic grid, the geographic grid being obtained based on normalized coordinates of the geographic coordinates of the point of interest; receiving a first operation of a user; based on the first operation, obtaining the geographic coordinates of the electronic device; obtaining a target point of interest based on the geographic coordinates of the electronic device and the grid index; and displaying information of the target point of interest.

[0007] It should be understood that the geographic coordinates mentioned in the embodiments of the present application refer to the coordinates corresponding to the actual position of the point of interest (and / or electronic device), that is, the actual geographic coordinates; the normalized coordinates refer to the coordinates obtained after the geographic coordinates of the point of interest (and / or electronic device) are normalized according to a preset algorithm.

[0008] The normalization process in the embodiment of the present application is used to improve the balance of the distribution of the n points of interest, that is, to reduce the difference in the density of the distribution of points of interest in different areas.

[0009] Exemplarily, after acquiring the geographic coordinates of the electronic device, the electronic device performs the normalization process on the geographic coordinates of the electronic device to acquire the normalized coordinates of the electronic device. Acquiring the target point of interest according to the geographic coordinates of the electronic device and the grid index specifically includes: acquiring the target point of interest according to the normalized coordinates of the electronic device and the grid index.

[0010] It should be understood that the electronic device side can use the same normalization processing as the server side to calculate the normalized coordinates of the electronic device, and map the location of the electronic device to a geographic grid divided based on the normalized coordinates of the point of interest, thereby increasing the accuracy of the point of interest information recommended to the user.

[0011] According to the method for recommending points of interest provided in the embodiment of the present application, the distribution positions of the points of interest are optimized through normalization processing, so that the distribution of the points of interest is more balanced, and target points of interest are recommended based on the points of interest after the optimized distribution. This can enable the number of recommended points of interest to overcome the limitation of the actual uneven distribution, and a relatively consistent number of points of interest can be recommended to users in different areas, thereby improving the user experience.

[0012] In combination with the first aspect, in certain implementations of the first aspect, obtaining the target point of interest based on the geographic coordinates of the electronic device and the grid index specifically includes: performing the normalization processing on the geographic coordinates of the electronic device to obtain the normalized coordinates of the electronic device; obtaining the target point of interest based on the normalized coordinates of the electronic device and the grid index.

[0013] The electronic device and the server side adopt the same normalization processing, which may include: the electronic device adopts the center point coordinates of the n points of interest provided by the server side, the correction coefficient of the normalization algorithm, and the type of the normalization algorithm.

[0014] According to the method for recommending points of interest provided in an embodiment of the present application, the electronic device side can adopt the same normalization processing as the server side to calculate the normalized coordinates of the electronic device, and map the position of the electronic device to a geographic grid divided based on the normalized coordinates of the points of interest, thereby increasing the accuracy of the points of interest information recommended to the user.

[0015] In combination with the first aspect, in some implementations of the first aspect, the first operation includes: clicking on the user's current location on a map interface; or, inputting the user's current location; or, clicking on a recommendation icon for the point of interest.

[0016] It should be understood that the first operation can be used to enable the electronic device to obtain the current geographic location of the electronic device (ie, the current geographic location of the user).

[0017] In combination with the first aspect, in certain implementations of the first aspect, before acquiring the target point of interest based on the geographic coordinates of the electronic device and the grid index, the method further includes: receiving a second operation of the user, the second operation being used to select a recommended category for the point of interest.

[0018] In combination with the first aspect, in some implementations of the first aspect, displaying the information of the target point of interest includes: displaying the actual distribution position of the target point of interest on a map.

[0019] According to the method for recommending points of interest provided in an embodiment of the present application, by displaying the actual distribution positions of target points of interest on a map, users can intuitively view the relative positions of target points of interest and their own positions, thereby facilitating users to select target points of interest.

[0020] In combination with the first aspect, in certain implementations of the first aspect, the information of the target point of interest includes at least one of the following: name, address, contact information, actual distance from the current location of the electronic device, and introduction information.

[0021] According to the method for recommending points of interest provided in the embodiment of the present application, by displaying a variety of information of the target points of interest, it is possible to enable users to understand more comprehensive information about each point of interest, facilitate users to select the most needed target points of interest, and improve the user's experience in selecting points of interest.

[0022] In combination with the first aspect, in certain implementations of the first aspect, obtaining the target point of interest based on the normalized coordinates of the electronic device and the grid index specifically includes: determining a first geographic grid corresponding to the electronic device based on the normalized coordinates of the electronic device, the first geographic grid being the geographic grid in the grid index; determining the point of interest in the first geographic grid in the grid index as the target point of interest, or determining the point of interest in the first geographic grid and at least one circle of adjacent geographic grids as the target point of interest.

[0023] According to the method for recommending points of interest provided in an embodiment of the present application, the electronic device side adopts the same normalization processing as the server side to calculate the normalized coordinates of the electronic device, and based on the geographic grid where the normalized coordinates of the electronic device are located, recommends target points of interest in the geographic grid or its surrounding geographic grids to the user according to preset rules. This enables the number of recommended points of interest to overcome the limitation of uneven actual distribution, and a relatively consistent number of points of interest can be recommended to users in different areas, thereby improving user experience.

[0024] In combination with the first aspect, in certain implementations of the first aspect, the geographic grid corresponds to a longitude range and a latitude range; determining the first geographic grid corresponding to the electronic device based on the normalized coordinates of the electronic device specifically includes: determining the first geographic grid corresponding to the electronic device based on the longitude range and the latitude range to which the normalized coordinates of the electronic device belong.

[0025] In an embodiment of the present application, the server side can send the longitude range and latitude range corresponding to the geographic grid in the grid index to the electronic device, and the electronic device determines its corresponding geographic grid based on its own normalized coordinates (longitude and latitude), thereby mapping the electronic device to the geographic grid divided based on the normalized coordinates of the point of interest.

[0026] In combination with the first aspect, in some implementations of the first aspect, the method further includes: adjusting the selection range of the geographic grid according to the number of points of interest in the first geographic grid so that the number of target points of interest is greater than a first threshold; or, adjusting the selection range of the geographic grid according to the number of points of interest in the first geographic grid and at least one adjacent circle of the geographic grid so that the number of target points of interest is greater than the first threshold; or, adjusting the selection range of the geographic grid according to a preset number of target points of interest so that the number of target points of interest is greater than the first threshold; or, selecting the target points of interest according to the preset number of target points of interest so that the number of target points of interest is the preset number.

[0027] It should be understood that the electronic device can recommend target points of interest in a specific range or in a specific range of geographic grids according to preset rules based on the geographic grid corresponding to the electronic device. The preset rules may refer to recommending target points of interest in the geographic grid where the electronic device is located, or recommending target points of interest in the geographic grid where the electronic device is located and at least one circle of geographic grids adjacent to it, or recommending target points of interest around the geographic grid where the electronic device is located according to the number of recommended target points of interest.

[0028] According to the method for recommending points of interest provided in the embodiment of the present application, target points of interest are recommended to users according to preset rules, which can ensure that users obtain a relatively consistent number of target points of interest, making it easier for users to select target points of interest.

[0029] In combination with the first aspect, in certain implementations of the first aspect, the grid index feedback message is also used to indicate the center point coordinates of the n points of interest and the correction coefficient of the normalization processing, the longitude of the center point coordinates is the average longitude of the geographical coordinates of the n points of interest, and the latitude of the center point is the average latitude of the geographical coordinates of the n points of interest; the normalization processing is performed on the geographical coordinates of the electronic device to obtain the normalized coordinates of the electronic device, specifically including: performing the normalization processing on the geographical coordinates of the electronic device according to the center point coordinates and the correction coefficient of the normalization processing.

[0030] In combination with the first aspect, in certain implementations of the first aspect, the normalizing the geographic coordinates of the electronic device based on the center point coordinates and the correction coefficient of the normalization processing specifically includes: calculating the relative longitude difference and relative latitude difference between the electronic device and the center point based on the geographic coordinates of the electronic device and the center point coordinates; calculating the normalized longitude of the electronic device based on the correction coefficient and the relative longitude difference; and, calculating the normalized latitude of the electronic device based on the correction coefficient and the relative latitude difference.

[0031] It should be understood that the correction coefficient can be used to adjust the dispersion degree of the interest point distribution after normalization processing.

[0032] In combination with the first aspect, in some implementations of the first aspect, the normalization function is an inverse cotangent function, and the inverse cotangent function includes: i = atan(D i C1)*2 / PI;Y i = atan(W i C2)*2 / PI; where X i is the normalized longitude of the electronic device, D i is the relative longitude difference between the electronic device and the center point, C1 is the longitude correction coefficient; Y i is the normalized latitude of the electronic device, W i is the relative latitude difference between the electronic device and the center point, C2 is the latitude correction coefficient; i is a positive integer not greater than n, and PI is a natural constant.

[0033] In combination with the first aspect, in some implementations of the first aspect, the normalization function is a logarithmic function, and the logarithmic function includes: i =sign(Di )*log a1 (ABS(Di)*C1+1);Y i =sign(W i )*log a2 (ABS(Wi)*C2+1); where X i is the normalized longitude of the electronic device, D i is the relative longitude difference between the electronic device and the center point, C1 is the longitude correction coefficient, a1 is the longitude logarithmic base; Y i is the normalized latitude of the electronic device, W i is the relative latitude difference between the electronic device and the center point, C2 is the latitude correction coefficient, a2 is the logarithmic base of longitude; i is a positive integer not greater than n.

[0034] In a second aspect, a method for recommending points of interest is provided, which is applied to a server and includes: normalizing the geographic coordinates of n points of interest to obtain the normalized coordinates of the points of interest, where n is an integer greater than 1; dividing the geographic grid based on the normalized coordinates of the points of interest; establishing a grid index based on the normalized coordinates of the points of interest and the geographic grid, wherein the grid index includes the correspondence between the geographic grids where the normalized coordinates of the n points of interest are located and the n points of interest; and sending the grid index feedback message to an electronic device, wherein the grid index feedback message includes the grid index.

[0035] It should be understood that the geographic coordinates mentioned in the embodiments of the present application refer to the coordinates corresponding to the actual position of the point of interest (and / or), that is, the actual geographic coordinates; the normalized coordinates refer to the coordinates obtained after the geographic coordinates of the point of interest are normalized according to a preset algorithm.

[0036] The normalization process in the embodiment of the present application is used to improve the balance of the distribution of the n points of interest, that is, to reduce the difference in the density of the distribution of points of interest in different areas.

[0037] According to the method for recommending points of interest provided in the embodiment of the present application, the distribution positions of the points of interest are optimized through normalization processing, so that the distribution of the points of interest is more balanced, and target points of interest are recommended based on the points of interest after the optimized distribution. This can enable the number of recommended points of interest to overcome the limitation of the actual uneven distribution, and a relatively consistent number of points of interest can be recommended to users in different areas, thereby improving the user experience.

[0038] In combination with the second aspect, in certain implementations of the second aspect, the normalizing the geographic coordinates of the n points of interest specifically includes: calculating the coordinates of the center point based on the geographic coordinates of the n points of interest, wherein the longitude of the center point coordinates is the average longitude of the geographic coordinates of the n points of interest, and the latitude of the center point coordinates is the average latitude of the geographic coordinates of the n points of interest; calculating the relative longitude difference and relative latitude difference between each of the points of interest and the center point; calculating the normalized longitude value of the point of interest based on the normalization function, the correction coefficient and the relative longitude difference; and calculating the normalized latitude of the point of interest based on the normalization function, the correction coefficient and the relative latitude difference.

[0039] In combination with the second aspect, in certain implementations of the second aspect, the grid index feedback message is also used to indicate the center point coordinates of the n points of interest and the correction coefficient of the normalization processing, the longitude of the center point coordinates is the average longitude of the geographic coordinates of the n points of interest, and the latitude of the center point is the average latitude of the geographic coordinates of the n points of interest.

[0040] In conjunction with the second aspect, in some implementations of the second aspect, the normalization function is an inverse cotangent function, and the inverse cotangent function includes: i = atan(D i C1)*2 / PI;Y i = atan(W i C2)*2 / PI; where X i is the normalized longitude of the i-th point of interest, D i is the relative longitude difference between the i-th point of interest and the center point, C1 is the longitude correction coefficient; Y i is the normalized latitude of the i-th interest point, W i is the relative latitude difference between the i-th point of interest and the center point, C2 is the latitude correction coefficient; i is a positive integer not greater than n, and PI is a natural constant.

[0041] In conjunction with the second aspect, in some implementations of the second aspect, the normalization function is a logarithmic function, and the logarithmic function includes: i =sign(D i )*log a1 (ABS(Di)*C1+1);Y i =sign(W i )*log a2 (ABS(W i )*C2+1); where X i is the normalized longitude of the i-th point of interest, D iis the relative longitude difference between the i-th point of interest and the center point, C1 is the longitude correction coefficient, a1 is the longitude logarithm base; Y i is the normalized latitude of the i-th interest point, W i is the relative latitude difference between the i-th point of interest and the center point, C2 is the latitude correction coefficient, a2 is the logarithmic base of longitude; i is a positive integer not greater than n.

[0042] In a third aspect, an electronic device is provided, comprising at least one processor, a memory and a communication interface, wherein the communication interface is used to communicate with other devices, and the memory stores computer instructions, which, when executed in the processor, enable the electronic device to implement the method for recommending points of interest as described in any implementation of the first aspect or the second aspect.

[0043] In a fourth aspect, a server is provided, comprising at least one processor, a memory and a communication interface, wherein the communication interface is used to communicate with other devices, and the memory stores computer instructions, which, when executed in the processor, enable the electronic device to implement the method for recommending points of interest as described in any implementation of the first aspect or the second aspect.

[0044] In a fifth aspect, a system for recommending points of interest is provided, comprising at least one electronic device and a server, wherein the electronic device is used to execute the method as described in any implementation manner in the first aspect, and the server is used to execute the method as described in any implementation manner in the second aspect.

[0045] In a sixth aspect, a computer-readable storage medium is provided, storing computer instructions, which, when executed, enable the method described in any implementation of the first aspect or the second aspect to be implemented. BRIEF DESCRIPTION OF THE DRAWINGS

[0046] Figure 1 It is a schematic diagram of a system architecture applicable to a method for recommending points of interest provided in an embodiment of the present application.

[0047] Figure 2 It is a schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present application.

[0048] Figure 3 It is a schematic diagram of the hardware structure of a server provided in an embodiment of the present application.

[0049] Figure 4 It is a schematic diagram of the software structure of an electronic device provided in an embodiment of the present application.

[0050] Figure 5 It is a software structure diagram of a server provided in an embodiment of the present application.

[0051] FIG. 6A to FIG. 6C These are some graphical user interface schematic diagrams provided in the embodiments of the present application.

[0052] Figure 7 This is another graphical user interface schematic diagram provided in an embodiment of the present application.

[0053] Figure 8 This is a schematic flowchart of a point of interest recommendation provided in an embodiment of the present application.

[0054] Fig. 9 This is a schematic flowchart of another method for recommending points of interest provided in an embodiment of the present application.

[0055] Fig.10 This is a schematic diagram of the original distribution of points of interest provided in an embodiment of the present application.

[0056] FIG. 11A to FIG. 11C It is a schematic diagram of the distribution of some normalized points of interest provided in the embodiments of the present application.

[0057] Fig.12 This is a schematic flowchart of another POI recommendation provided in an embodiment of the present application.

[0058] Fig.13A and Fig. 13B It is a schematic diagram of the distribution of other points of interest after normalization provided in the embodiments of the present application. DETAILED DESCRIPTION

[0059] The embodiments of the present application are described below in conjunction with the drawings in the embodiments of the present application.

[0060] It should be noted that the terms used in the implementation methods of the embodiments of the present application are only used to explain the specific embodiments of the present application, and are not intended to limit the present application. In the description of the embodiments of the present application, unless otherwise specified, " / " means or, for example, A / B can mean A or B; "and / or" in this article is only a description of the association relationship of associated objects, indicating that there can be three relationships, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, in the description of the embodiments of the present application, unless otherwise specified, "multiple" means two or more than two, "at least one" and "one or more" mean one, two or more than two.

[0061] In the following, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Therefore, it is defined that the "first" and "second" features may explicitly or implicitly include one or more of the features.

[0062] References to "one embodiment" or "some embodiments" etc. described in this specification mean that a particular feature, structure or characteristic described in conjunction with the embodiment is included in one or more embodiments of the present application. Thus, the phrases "in one embodiment", "in some embodiments", "in some other embodiments", "in some other embodiments", etc. that appear at different places in this specification do not necessarily refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways. The terms "including", "comprising", "having" and their variations all mean "including but not limited to", unless otherwise specifically emphasized in other ways.

[0063] The technical solutions of the embodiments of the present application can be applied to various communication systems, for example: global system of mobile communication (GSM) system, code division multiple access (CDMA) system, wideband code division multiple access (WCDMA) system, general packet radio service (GPRS), long term evolution (LTE) system, LTE frequency division duplex (FDD) system, LTE time division duplex (TDD), universal mobile telecommunication system (UMTS), worldwide interoperability for microwave access (WiMAX) communication system, future fifth generation (5G) system or new radio (NR), etc.

[0064] To facilitate understanding, the following first introduces the terms and concepts involved in the embodiments of the present application.

[0065] 1. Geographic Grid

[0066] A geographic grid is a spatial data structure that hierarchizes planes in a certain order. The most common geographic grid is a grid system composed of longitude and latitude. The grid can be composed of longitude and latitude intersecting at equal intervals. The attributes of spatial data are associated with the points in the longitude and latitude grid, which facilitates the acquisition and processing of spatial data in the grid. The grid system can create finer sub-grids based on the original smaller resolution grid to increase its resolution.

[0067] The purpose of using geographic grids is to express spatial patterns and provide simple and effective spatial data structure algorithms. In spatial data structures, it can express spatial area objects with the smallest cells like raster data, or express the geometric features of spatial entities with points instead of traditional coordinate points like vector data. These two data structures correspond to the grid system for storing area information and the grid system for storing location information.

[0068] In the embodiment of the present application, the geographic grid (also referred to as a grid) may specifically refer to a grid divided based on the normalized coordinates of the point of interest after normalization processing. Each geographic grid corresponds to a certain longitude range and latitude range. When the normalized coordinates of the point of interest belong to the longitude range and latitude range of a certain geographic grid, it indicates that the normalized point of interest corresponds to the geographic grid.

[0069] 2. Points of Interest (POI)

[0070] In a geographic information system, a POI can be a house, a shop, a mailbox, a bus stop, etc. The traditional method of collecting POIs is mainly for map surveyors to use precise surveying instruments to obtain the longitude and latitude of a POI, and then mark it down. Some existing methods can use holographic cameras, combined with satellite map images, point clouds, etc. to collect street view POI information.

[0071] For example, the point of interest information mentioned in the following embodiments of the present application may include but is not limited to: the name of the point of interest, classification, address, longitude and latitude, the name of the province where the point of interest is located, the name of the city where the point of interest is located, the name of the district where the point of interest is located, the district code where the point of interest is located, and other information.

[0072] 3. Geographic coordinates, normalized coordinates

[0073] The geographic coordinates (or actual geographic coordinates) in the embodiments of the present application refer to spherical coordinates that use latitude and longitude to represent the location of the point of interest (or electronic device), representing the longitude and latitude corresponding to the actual geographic location of the point of interest (or electronic device).

[0074] Normalized coordinates refer to coordinates obtained by normalizing the geographic coordinates of the points of interest (or electronic devices), and are used to represent the distribution of the points of interest (or electronic devices) in the coordinate system after optimizing the distribution of the points of interest.

[0075] As introduced in the background technology, in order to protect the privacy of users, electronic devices on the user side can currently discover information about points of interest around the user offline. Taking mainstream cities as an example, offline recommendation of points of interest by electronic devices can include the following process: the server side pre-establishes or obtains the geographic grid of mainstream cities, establishes an inverted index based on the geographic grid to which the coordinates of the points of interest in the city belong (the inverted index is shown in Table 1, and may include the grid number, the name of the point of interest, and the longitude and latitude of the point of interest), and sends the inverted index of the points of interest in the city where the user is currently located to the electronic device in advance; after the electronic device calculates the grid to which the user belongs based on the user's precise geographic location, the inverted index of the points of interest queries the corresponding grid number for the points of interest information, and recommends the points of interest information to the user.

[0076] It should be understood that the inverted index of interest points mentioned in the embodiment of the present application can be used to indicate which interest points are included in each grid. In other words, the keyword of the inverted index can be the grid number. For example, if the grid number of the grid to which a certain user belongs is known, the information of the interest points corresponding to the grid number can be queried from the inverted index of interest points. For ease of description, the inverted index of interest points is collectively referred to as the interest point index below.

[0077] Table 1

[0078]

[0079]

[0080] When the user turns on the electronic device, the electronic device can calculate the geographic grid M101 to which the user's current coordinates (for example, 114.074628, 22.664843) belong based on the positioning function, and query the point of interest index based on the geographic grid M101 to obtain a recommended point of interest result set, where the point of interest result set recommended by the electronic device is shown in Table 2.

[0081] Table 2

[0082] Point of interest name Longitude, Latitude HEYTEA 114.075351,22.666873 Baheli Sea Records 114.077202,22.66674

[0083] The above method can recommend nearby points of interest to users based on their actual location. However, in actual applications, points of interest in different geographic grids are unevenly distributed due to the different densities of point of interest distribution in different areas. For example, restaurants are generally concentrated in the core area of ​​the city, so the points of interest in the geographic grid corresponding to the core area are densely distributed; while in remote areas such as suburbs, there are fewer points of interest such as restaurants, so the points of interest in the geographic grid corresponding to the suburbs are sparsely distributed or even non-existent. This will lead to uneven recommendation of points of interest in different areas, resulting in a poor user experience.

[0084] The actual geographical location of the points of interest is fixed, but when recommending points of interest in different areas to users, if the density of the distribution of points of interest in different areas can be taken into consideration (such as dense or sparse distribution), the range of the points of interest recommended to users can be adaptively adjusted (such as the length segment or distance segment of the recommended points of interest), so that the length segment of the recommended points of interest can automatically change adaptively with the density of the points of interest (for example, in the core area where the points of interest are dense, the length segment of the recommended points of interest is 500m, and in the suburban area where the points of interest are sparse, the length segment of the recommended points of interest is 2km). Then, even if the actual distribution density of points of interest in different areas is different, a relatively uniform number of points of interest can be provided to users for reference, so that the number of points of interest obtained by users in different areas is relatively balanced, thereby improving the convenience of users in finding points of interest and improving the user experience.

[0085] In order to achieve the above-mentioned effect of point of interest recommendation, an embodiment of the present application provides a method for point of interest recommendation. The method normalizes the geographical coordinates of the actually unevenly distributed points of interest to make the distribution of the points of interest in the geographic grid more balanced. Specifically, the method first calculates the center point coordinates of multiple points of interest in a specific area, and calculates the relative difference between each point of interest and the center point coordinates (longitude and latitude), processes the relative difference using a nonlinear normalization algorithm, and then divides the geographic grid based on the normalized distribution of the points of interest, establishes a grid index and sends it to the user-side electronic device; the electronic device then uses the same normalization algorithm to calculate the nonlinear normalized coordinates of the electronic device, and queries the grid index of the points of interest based on the converted coordinates to obtain and recommend the relevant point of interest information to the user.

[0086] For example, Figure 1 FIG. 1 is a schematic diagram of a system architecture for recommending points of interest provided in an embodiment of the present application. The system architecture for recommending points of interest includes a server and at least one electronic device (eg, electronic device 1, electronic device 2, and electronic device 3).

[0087] In some embodiments, the server provided in the embodiments of the present application may be a cloud server. The server may store information of points of interest, such as the actual geographic coordinates of the points of interest, the names of the points of interest, the addresses of the points of interest, etc. The server may normalize the difference between the geographic coordinates of the points of interest and the coordinates of the center point according to the information of the points of interest, so that the unevenly distributed points of interest are distributed in a more even state after the normalization process.

[0088] In some embodiments, the electronic device provided in the embodiments of the present application may be a user-side (or user-side, terminal-side) terminal, for example, a mobile phone (such as Figure 1 The electronic device 1 shown), wearable device (such as Figure 1The electronic device 2 shown (smart watch and smart bracelet, smart glasses, smart jewelry, etc.), tablet computer (such as Figure 1 The electronic device 3 shown in the figure), vehicle-mounted equipment, augmented reality (AR) / virtual reality (VR) equipment, laptops, ultra-mobile personal computers (UMPC), netbooks, personal digital assistants (PDA), smart TVs, Huawei smart screens, and other electronic devices with display screens. Exemplary embodiments of the above electronic devices include but are not limited to those equipped with Electronic devices running Harmony OS or other operating systems. The above-mentioned electronic devices may also be other electronic devices, such as a laptop computer with a touch-sensitive surface (e.g., a touch panel), etc. The embodiments of the present application do not impose any restrictions on the specific type of electronic device.

[0089] In some embodiments, the electronic device is responsible for interacting with the user and the server. For example, the electronic device can automatically recommend surrounding points of interest information to the user based on a preset strategy; or, receive a point of interest recommendation operation input by the user, and display the recommended point of interest information to the user. Among them, there can be many ways for the electronic device to interact with the user. For example, the electronic device can receive the point of interest query information input by the user in the form of voice, text, image, etc., and the electronic device can also answer the user with the recommended point of interest information in the form of voice, text, image, etc. In addition, the electronic device can also locate the user's position and obtain the user's current position information (such as the user's current geographic coordinates); the electronic device can also normalize the user's current geographic coordinates based on the grid index obtained after the server normalization processing, using the same normalization processing algorithm as the server side, that is, mapping the user's geographic coordinates to the normalized geographic grid. The electronic device can also be associated with a related application (application, App) for point of interest recommendation, so that the application recommends points of interest to the user based on the normalized point of interest information. The application can be a local application of the electronic device or a third-party application (such as a map app, or a life service app, etc.), which is not limited in this application.

[0090] exist Figure 1In the system architecture of the recommended points of interest shown, the electronic device and the server can be connected via a wired network or a wireless network. For example, the electronic device and the server can be connected via a wide area network (WAN) (e.g., the Internet). The network communication between the electronic device and the server can be implemented using any known network communication protocol, which can be various wired or wireless communication protocols, such as Ethernet, universal serial bus (USB), Firewire, Global System for Mobile Communication (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Time Division Code Division Multiple Access (TD-SCDMA), Long Term Evolution (LTE), New Radio (NR), Bluetooth, Wireless Fidelity (Wi-Fi) and other communication protocols.

[0091] The following is a schematic diagram of the hardware structure of an electronic device in an embodiment of the present application. The electronic device 100 may be Figure 1 Electronic device 1, electronic device 2 or electronic device 3 or other user-side terminals.

[0092] Figure 21 shows a schematic diagram of the structure of the electronic device 100. The electronic 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, an earphone interface 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light 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.

[0093] It is to be understood that the structure illustrated in the embodiment of the present invention does not constitute a specific limitation on the electronic device 100. In other embodiments of the present application, the electronic device 100 may include more or fewer components than shown in the figure, or combine some components, or separate some components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.

[0094] The processor 110 may include one or more processing units, for example, the processor 110 may include an application processor (AP), a modem processor, a graphics processor (GPU), an image signal processor (ISP), a controller, a memory, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.

[0095] The controller may be the nerve center and command center of the electronic device 100. The controller may generate an operation control signal according to the instruction operation code and the timing signal to complete the control of fetching and executing instructions.

[0096] The processor 110 may also be provided with a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. The memory may store instructions or data that the processor 110 has just used or cyclically used. If the processor 110 needs to use the instruction or data again, it may be directly called from the memory. This avoids repeated access, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.

[0097] In some embodiments, the processor 110 may include one or more interfaces. The interface 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.

[0098] The I2C interface is a bidirectional synchronous serial bus, including a serial data line (SDA) and a serial clock line (SCL). In some embodiments, the processor 110 may include multiple groups of I2C buses. The processor 110 may be coupled to the touch sensor 180K, the charger, the flash, the camera 193, etc. through different I2C bus interfaces. For example: the processor 110 may be coupled to the touch sensor 180K through the I2C interface, so that the processor 110 communicates with the touch sensor 180K through the I2C bus interface, thereby realizing the touch function of the electronic device 100.

[0099] The I2S interface can be used for audio communication. In some embodiments, the processor 110 can include multiple I2S buses. The processor 110 can be coupled to the audio module 170 via the I2S bus to achieve communication between the processor 110 and the audio module 170. In some embodiments, the audio module 170 can transmit an audio signal to the wireless communication module 160 via the I2S interface to achieve the function of answering a call through a Bluetooth headset.

[0100] The PCM interface can also be used for audio communication, sampling, quantizing and encoding analog signals. In some embodiments, the audio module 170 and the wireless communication module 160 can be coupled via a PCM bus interface. In some embodiments, the audio module 170 can also transmit audio signals to the wireless communication module 160 via the PCM interface to realize the function of answering calls via a Bluetooth headset. Both the I2S interface and the PCM interface can be used for audio communication.

[0101] The UART interface is a universal serial data bus for asynchronous communication. The bus can be a bidirectional communication bus. It converts the data to be transmitted between serial communication and parallel communication. In some embodiments, the UART interface is generally used to connect the processor 110 and the wireless communication module 160. For example, the processor 110 communicates with the Bluetooth module in the wireless communication module 160 through the UART interface to implement the Bluetooth function. In some embodiments, the audio module 170 can transmit an audio signal to the wireless communication module 160 through the UART interface to implement the function of playing music through a Bluetooth headset.

[0102] The MIPI interface can be used to connect the processor 110 with peripheral devices such as the display screen 194 and the camera 193. The MIPI interface includes a camera serial interface (CSI), a display serial interface (DSI), etc. In some embodiments, the processor 110 and the camera 193 communicate via the CSI interface to implement the shooting function of the electronic device 100. The processor 110 and the display screen 194 communicate via the DSI interface to implement the display function of the electronic device 100.

[0103] The GPIO interface can be configured by software. The GPIO interface can be configured as a control signal or as a data signal. In some embodiments, the GPIO interface can be used to connect the processor 110 with the camera 193, the display 194, the wireless communication module 160, the audio module 170, the sensor module 180, etc. The GPIO interface can also be configured as an I2C interface, an I2S interface, a UART interface, a MIPI interface, etc.

[0104] The USB interface 130 is an interface that complies with the USB standard specification, and specifically can be a Mini USB interface, a Micro USB interface, a USB Type C interface, etc. The USB interface 130 can be used to connect a charger to charge the electronic device 100, and can also be used to transfer data between the electronic device 100 and a peripheral device. It can also be used to connect headphones to play audio through the headphones. The interface can also be used to connect other terminals, such as AR devices, etc.

[0105] It is understandable that the interface connection relationship between the modules illustrated in the embodiment of the present invention is only a schematic illustration and does not constitute a structural limitation on the electronic device 100. In other embodiments of the present application, the electronic device 100 may also adopt different interface connection methods in the above embodiments, or a combination of multiple interface connection methods.

[0106] The charging management module 140 is used to receive charging input from a charger. The charger may be a wireless charger or a wired charger. In some wired charging embodiments, the charging management module 140 may receive charging input from a wired charger through the USB interface 130. In some wireless charging embodiments, the charging management module 140 may receive wireless charging input through a wireless charging coil of the electronic device 100. While the charging management module 140 is charging the battery 142, it may also power the terminal through the power management module 141.

[0107] The power management module 141 is used to connect 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, and supplies power to the processor 110, the internal memory 121, the external memory, the display screen 194, the camera 193, and the wireless communication module 160. The power management module 141 can also be used to monitor parameters such as battery capacity, battery cycle number, battery health status (leakage, impedance), etc. In some other embodiments, the power management module 141 can also be set in the processor 110. In other embodiments, the power management module 141 and the charging management module 140 can also be set in the same device.

[0108] The wireless communication function of the electronic device 100 can be implemented through the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor and the baseband processor.

[0109] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in electronic device 100 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve the utilization of antennas. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In some other embodiments, the antenna can be used in combination with a tuning switch.

[0110] The mobile communication module 150 can provide solutions for wireless communications including 2G / 3G / 4G / 5G, etc., applied to the electronic device 100. The mobile communication module 150 may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves from the antenna 1, and filter, amplify, and process the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modulation and demodulation processor, and convert it into electromagnetic waves for radiation through the antenna 1. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the processor 110. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the same device as at least some of the modules of the processor 110.

[0111] The modem processor may include a modulator and a demodulator. Among them, the modulator is used to modulate the low-frequency baseband signal to be sent into a medium-high frequency signal. The demodulator is used to demodulate 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 the low-frequency baseband signal is processed by the baseband processor, it is passed to the application processor. The application processor outputs a sound signal through an audio device (not limited to a speaker 170A, a receiver 170B, etc.), or displays an image or video through a display screen 194. In some embodiments, the modem processor may be an independent device. In other embodiments, the modem processor may be independent of the processor 110 and be set in the same device as the mobile communication module 150 or other functional modules.

[0112] The wireless communication module 160 can provide wireless communication solutions 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), infrared (IR), etc., which are applied to the electronic device 100. 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 the antenna 2, modulates the frequency of the electromagnetic wave signal and performs filtering, and sends the processed signal to the processor 110. The wireless communication module 160 can also receive the signal to be sent from the processor 110, modulate the frequency of it, amplify it, and convert it into electromagnetic waves for radiation through the antenna 2.

[0113] In some embodiments, the antenna 1 of the electronic device 100 is coupled to the mobile communication module 150, and the antenna 2 is coupled to the wireless communication module 160, so that the electronic device 100 can communicate with the network and other devices through 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 code division multiple access (TD-SCDMA), long term evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technology. The GNSS may include a global positioning system (GPS), a global navigation satellite system (GLONASS), a Beidou navigation satellite system (BDS), a quasi-zenith satellite system (QZSS) and / or a satellite based augmentation system (SBAS).

[0114] The electronic device 100 implements a display function through a GPU, a display screen 194, and an application processor, etc. The display screen 194 is used to display images, videos, and the like.

[0115] The electronic device 100 can realize the shooting function through ISP, camera 193, video codec, GPU, display screen 194 and application processor.

[0116] The digital signal processor is used to process digital signals. In addition to processing digital image signals, it can also process other digital signals. For example, when the electronic device 100 selects a frequency point, the digital signal processor is used to perform Fourier transform on the frequency point energy. The video codec is used to compress or decompress digital video. The NPU is a neural network (NN) computing processor that quickly processes input information by drawing on the structure of biological neural networks, such as the transmission mode between neurons in the human brain, and can also continuously self-learn.

[0117] The external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device 100. The external memory card communicates with the processor 110 through the external memory interface 120 to implement a data storage function. For example, files such as music and videos are stored in the external memory card. The internal memory 121 can be used to store computer executable program codes, which include instructions.

[0118] The electronic device 100 can implement audio functions such as music playing and recording through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the headphone jack 170D, and the application processor.

[0119] The pressure sensor 180A is used to sense the pressure signal and can convert the pressure signal into an electrical signal. The gyroscope sensor 180B can be used to determine the motion posture of the electronic device 100. The magnetic sensor 180D includes a Hall sensor. The electronic device 100 can use the magnetic sensor 180D to detect the opening and closing of the flip leather case. The acceleration sensor 180E can detect the magnitude of the acceleration of the electronic device 100 in various directions (generally three axes). When the electronic device 100 is stationary, the magnitude and direction of gravity can be detected. It can also be used to identify the terminal posture and applied to horizontal and vertical screen switching, pedometers and other applications. The proximity light sensor 180G may include, for example, a light emitting diode (LED) and a light detector, such as a photodiode. The light emitting diode may be an infrared light emitting diode. The electronic device 100 emits infrared light outward through the light emitting diode. The ambient light sensor 180L is used to sense the brightness of the ambient light. The electronic device 100 can adaptively adjust the brightness of the display screen 194 according to the perceived ambient light brightness. The fingerprint sensor 180H is used to collect fingerprints. The temperature sensor 180J is used to detect the temperature. The touch sensor 180K is also called a "touch panel". The touch sensor 180K can be set on the display screen 194. The touch sensor 180K and the display screen 194 form a touch screen, also called a "touch screen". The touch sensor 180K is used to detect touch operations acting on or near it. The bone conduction sensor 180M can obtain vibration signals.

[0120] In addition, the electronic device 100 further includes an air pressure sensor 180C and a distance sensor 180F. The air pressure sensor 180C is used to measure air pressure. In some embodiments, the electronic device 100 calculates the altitude through the air pressure value measured by the air pressure sensor 180C to assist positioning and navigation.

[0121] The distance sensor 180F is used to measure the distance. The electronic device 100 can measure the distance by infrared or laser. In some embodiments, when shooting a scene, the electronic device 100 can use the distance sensor 180F to measure the distance to achieve fast focusing.

[0122] The following is a schematic diagram of the hardware structure of a server 200 provided in an embodiment of the present application. The server 200 may correspond to Figure 1 The server shown.

[0123] Figure 3 FIG. 1 shows a hardware structure diagram of a server provided in an embodiment of the present application. Figure 3 As shown, the server 200 may include a processor 210, a memory 220, a data communication module 230, a power switch 240, a bus 250, etc., wherein the processor 210 may also include a grid index module 2101 (not shown in FIG. Figure 3 shown) etc.

[0124] The processor 210 is the control center of the server 200. For example, the processor 210 can be a chip / device with software processing capabilities such as a central processing unit (CPU), a system on chip (SOC), a digital signal processor (DSP), etc. The processor 210 can run a basic input output system (BIOS) and an operating system (OS), and can be used to read and execute computer-readable instructions, wherein BIOS is the most basic software code loaded on the computer hardware system, BIOS is the bottom software program under the OS, and is an abstract layer between the computer hardware and the OS, used to configure hardware parameters and prepare for OS operation. The main functions of BIOS are power-on, self-test, CPU initialization, memory initialization, detection of input and output devices, and startup devices and finally guiding OS startup, etc. In a specific implementation, the processor 210 can also mainly include a controller, an arithmetic unit, and a register. Among them, the controller is mainly responsible for instruction decoding and sends a control signal for the operation corresponding to the instruction. The arithmetic unit is mainly responsible for saving the register operands and intermediate operation results temporarily archived during the execution of the instruction. In some examples, the processor 210 may be used to parse the signal received by the data communication module 230, such as parsing image data, voice data, or text data, etc. In the embodiment of the present application, the image data may include, for example, a sign image of the point of interest (such as a logo corresponding to the point of interest), and the text data may include, for example, the geographic coordinates (latitude and longitude) of the point of interest, the name of the point of interest, etc.

[0125] The processor 210 may include a grid index processing module 2101, which may be used to perform corresponding processing operations according to the information of the point of interest. For example, it may be responsible for calculating the normalized geographic coordinates of the point of interest, establishing a grid index based on the calculation result, and sending the grid index to the electronic device of the user end through the data transmission module 230.

[0126] The memory 220 is coupled to the processor 210 and is used to store various data and / or multiple sets of instructions. For example, the normalized point of interest information and the grid index established by the server based on the normalized geographic coordinates of the point of interest are stored. The processor 210 can call the data and / or instructions in the memory 220 to execute the steps executed by the processor 210 (such as a CPU) of the server in the embodiment of the present application.

[0127] The data communication module 230 may include a Bluetooth module, a Wi-Fi module, etc., and may also include a transceiver for communication between the server and electronic devices outside the server. Among them, the Bluetooth module and the Wi-Fi module can be used to establish a communication connection with the electronic device on the user side. The transceiver can be used to perform data receiving and / or sending operations. For example, the transceiver can be used to receive grid index request data sent by the electronic device, and can also send the grid index obtained based on the normalized geographic coordinates of the point of interest to the electronic device.

[0128] The power switch 240 may be used to control the power supply to the server.

[0129] The bus 250 is used to connect devices inside the server, such as the memory 220, the processor 210, etc.

[0130] It should be noted that Figure 3 The hardware structure shown is only an example, and does not limit the hardware structure of the server to which the embodiment of the present application is applicable. Figure 3 There may be more or fewer devices shown in the figure, and this application is not limited to this.

[0131] Exemplarily, the software system of the electronic device 100 may adopt a layered architecture, an event-driven architecture, a micro-core architecture, a micro-service architecture, or a cloud architecture. The embodiment of the present invention takes the Android system of the layered architecture as an example to exemplify the software structure of the electronic device 100. Figure 4 It is a software structure block diagram of the electronic device 100 according to an embodiment of the present application.

[0132] The layered architecture divides the software into several layers, each with clear roles and division of labor. The layers communicate with each other through software interfaces. In some embodiments, the Android system is divided into four layers, from top to bottom: the application layer, the application framework layer, the Android runtime and system library, and the kernel layer.

[0133] The application layer can include a series of application packages. Figure 4 As shown, the application package may include camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, short message and other applications.

[0134] The application framework layer provides application programming interface (API) and programming framework for the applications in the application layer. The application framework layer includes some predefined functions. Figure 4As shown, the application framework layer may include a window manager, a content provider, a view system, a phone manager, a resource manager, a notification manager, and the like.

[0135] The window manager is used to manage window programs. The window manager can obtain the display screen size, determine whether there is a status bar, lock the screen, capture the screen, etc.

[0136] Content providers are used to store and retrieve data and make it accessible to applications. The data may include videos, images, audio, calls made and received, browsing history and bookmarks, phone books, etc.

[0137] The view system includes visual controls, such as controls for displaying text, controls for displaying images, etc. The view system can be used to build applications. A display interface can be composed of one or more views. For example, a display interface including a text notification icon can include a view for displaying text and a view for displaying images.

[0138] The phone manager is used to provide communication functions of the electronic device 100, such as management of call status (including connecting, hanging up, etc.).

[0139] The resource manager provides various resources for applications, such as localized strings, icons, images, layout files, video files, and so on.

[0140] The notification manager enables applications to display notification information in the status bar. It can be used to convey notification-type messages and can disappear automatically after a short stay without user interaction. For example, the notification manager is used to notify download completion, message reminders, etc. The notification manager can also be a notification that appears in the system top status bar in the form of a chart or scroll bar text, such as notifications of applications running in the background, or a notification that appears on the screen in the form of a dialog window. For example, a text message is displayed in the status bar, a prompt sound is emitted, the terminal vibrates, the indicator light flashes, etc.

[0141] Android Runtime includes core libraries and virtual machines. Android runtime is responsible for scheduling and management of the Android system.

[0142] The core library consists of two parts: one part is the function that needs to be called by the Java language, and the other part is the Android core library.

[0143] The application layer and the application framework layer run in a virtual machine. The virtual machine executes the Java files of the application layer and the application framework layer as binary files. The virtual machine is used to perform functions such as object life cycle management, stack management, thread management, security and exception management, and garbage collection.

[0144] The system library may include multiple functional modules, such as surface manager, media library, 3D graphics processing library (such as OpenGL ES), 2D graphics engine (such as SGL), etc.

[0145] The surface manager is used to manage the display subsystem and provide the fusion of 2D and 3D layers for multiple applications.

[0146] The media library supports playback and recording of a variety of commonly used audio and video formats, as well as static image files, etc. The media library can support a variety of audio and video encoding formats, such as: MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, etc.

[0147] The 3D graphics processing library is used to implement 3D graphics drawing, image rendering, compositing, and layer processing.

[0148] A 2D graphics engine is a drawing engine for 2D drawings.

[0149] The kernel layer is the layer between hardware and software. The kernel layer contains at least display driver, camera driver, audio driver, and sensor driver.

[0150] like Figure 5 As shown, it is a schematic diagram of the structure of a server provided in an embodiment of the present application. The structure of the server 200 may include, from bottom to top, a hardware layer 300, an operating system layer 400, and a client software layer 500. The hardware layer 300 may include storage resource hardware (such as memory) and processing resource hardware (such as processors, processing chips, etc.). The operating system layer 200 may include programs for managing hardware resources and software resources. The client software 500 may include one or more clients, and when the client needs to complete certain operations, such as accessing storage resources (such as a grid index established after normalizing the geographic coordinates of a point of interest) through a remote electronic device interconnected with the server 200 through a network, it will initiate access to the hardware layer 300.

[0151] The method for recommending points of interest provided in the embodiment of the present application can automatically and adaptively adjust the recommended range of points of interest based on the distribution density of points of interest in different areas, so that users can obtain a stable amount of recommended information of points of interest in different areas. To better understand the method for recommending points of interest provided in the embodiment of the present application, the method for recommending points of interest provided in the embodiment of the present application is introduced below in combination with the accompanying drawings and specific scenarios.

[0152] For example, here we take the example of an electronic device recommending points of interest to a user when the user moves from a densely distributed point of interest in a city core area to a sparsely distributed point of interest in a city suburb. For ease of understanding, we take a mobile phone as an example. FIG. 6A to FIG. 6C , which are schematic diagrams of some graphical user interfaces (GUIs) provided in the embodiments of the present application. For example, FIG. 6A to FIG. 6C The interface shown includes a point of interest search part, a point of interest distribution display part and a point of interest information display part, wherein the point of interest search part can be used to receive the point of interest type input by the user; the point of interest distribution display part can be used to display the location distribution of the target point of interest on the map; the point of interest information display part can be used to display multiple information of the point of interest, such as the point of interest identification (such as POI1), the introduction of the point of interest, the actual distance of the point of interest from the current position of the electronic device, the point of interest address, etc.

[0153] For example, Fig. 6A The interface in the figure shows a distribution diagram of target points of interest in the core area of ​​the city. When the user is in the core area of ​​the city, since the points of interest in the core area are densely distributed, the target points of interest displayed to the user by the electronic device can be within a radius of 200m with the user's location as the center (e.g. Fig. 6A The points of interest (shown in the dotted circle in Fig. 6A POI1 to POI10 shown).

[0154] It should be understood that in areas where points of interest are densely distributed, even if points of interest within a smaller range are recommended to users, a larger number of target points of interest can be guaranteed for users to refer to or select. The target points of interest in the embodiment of the present application are points of interest that meet the user's query requirements, such as points of interest that meet the user's search category.

[0155] Then, as the user moves from the core area of ​​the city to the suburbs, the distribution density of the points of interest also changes with the change of the area. For example, when the user moves to an area between the core area and the suburbs (such as Figure 6B In this case, the electronic device can automatically adjust the range of points of interest recommended to the user according to the density of the points of interest distribution. For example, the target points of interest displayed to the user by the electronic device are centered at the user location and within a radius of 1.5 km (e.g. Figure 6B The points of interest (such as Fig. 6A POI1~POI10) shown in the figure is used to ensure that a stable number of points of interest are provided to the user for reference or selection.

[0156] After that, the user can continue to move to the suburbs. When arriving at the suburbs, the distribution diagram of suburban points of interest is as follows: Figure 6C As shown in the figure, the distribution of points of interest in the suburbs is relatively Figure 6B The distribution of points of interest in the image is more sparse. Therefore, in order to ensure that a certain number of points of interest can be provided to the user, the electronic device can automatically adjust the range of the recommended points of interest. For example, the target points of interest that can be displayed to the user at this time are within a range with the user's location as the center point and a radius of 3 km (such as Figure 6C Points of interest within the dotted circle shown in the figure (such as Figure 6C POI1 to POI10 shown).

[0157] From the above content, it can be seen that the method for recommending points of interest provided in the embodiment of the present application can realize the automatic and adaptive adjustment of the range of points of interest recommended to users without the need for users to manually adjust the length segment of the points of interest, thereby enabling users to obtain a stable and balanced amount of points of interest information in different areas, thereby improving the convenience of users' query of points of interest information.

[0158] It should be understood that FIG. 6A to FIG. 6C The graphical user interface shown is only an example. In actual application, other forms of graphical user interfaces can also be used to recommend points of interest to users. Figure 7 , which are schematic diagrams of other graphical user interfaces provided in embodiments of the present application. Figure 7 Taking the electronic device being a mobile phone as an example, information recommending points of interest to the user is displayed on the negative first screen.

[0159] like Figure 7 As shown, taking the case where the user is located in the core area of ​​the city, the electronic device (taking a mobile phone as an example) can display information about points of interest around the user's location on the negative first screen. Figure 7 The POI recommendation bar (POI recommendation bar) shown in the figure, the negative first screen interface of the mobile phone can display the name of the POI to the user ( Figure 7 No specific name is displayed, only POI1 to POI4 are displayed to represent the name of the point of interest respectively), the introduction of the point of interest, the actual distance between the point of interest and the user's current location, the address of the point of interest and other information.

[0160] Optionally, Figure 7 The user location shown can be compared to Fig. 6A The user location shown in corresponds to, Figure 7 The POI information displayed to the user can also be combined with Fig. 6A The points of interest POI1 to POI4 shown in FIG. 1 correspond to each other one by one. In other words, Fig. 6A and Figure 7 It can be that when users are at the same location, the electronic device displays the information of points of interest to the user, and the user can select the points of interest by using different recommendation methods. FIG. 6A to FIG. 6C The user interface shown in the figure can be used to view the information of points of interest. Figure 7 As shown, the POI information is viewed on the negative first screen of the mobile phone, and this application does not limit this.

[0161] In some embodiments, the types of points of interest recommended by the negative first screen may include gourmet restaurants, shopping malls, bookstores, entertainment venues, etc. The types of points of interest recommended by the negative first screen may be determined according to the following situations: (1) The user may set the types of points of interest recommended by the negative first screen in the setting center of the electronic device (such as the "settings" of the electronic device). For example, if the type of points of interest recommended is selected as gourmet restaurants in the negative first screen setting interface of the setting center, the point of interest recommendation information displayed on the negative first screen may be as follows: Figure 7 (2) The electronic device can determine the recommended type of POI in the negative first screen according to the number of times the user searches for the POI type through the App within a certain historical period. For example, if the number of times the user searches for food through third-party apps such as Meituan and Maps in the past week is the largest, the negative first screen can display the following: Figure 7 The recommended information of food points of interest is shown.

[0162] The method for recommending points of interest described above can be applied to scenarios where users query nearby points of interest. Through the above method, after the user changes position, there is no need to manually adjust the length of the recommended range of points of interest. The recommended range of points of interest can be automatically adjusted adaptively according to the density of points of interest distribution in different areas, so that users can obtain a stable amount of recommended information of points of interest in different areas.

[0163] The above describes the applicable scenarios and some possible display interface embodiments of the method for recommending points of interest provided in the embodiment of the present application. To better understand the method for recommending points of interest provided in the embodiment of the present application, the following describes the specific implementation process and algorithm from the implementation level in conjunction with the accompanying drawings.

[0164] For example, Figure 8 FIG. 1 is a schematic flow chart of a method for recommending points of interest provided by an embodiment of the present application. The process specifically includes the following steps:

[0165] S801, the server creates a grid index based on the normalized POI information.

[0166] Among them, the point of interest information may include at least one of the following information: point of interest name, geographic coordinates (such as longitude and latitude), classification, address (such as the name of the province where the point of interest is located, the name of the city where the point of interest is located, the name of the district where the point of interest is located), and the district code where the point of interest is located.

[0167] In some embodiments, the server may pre-acquire and store information of points of interest in at least one specific area. The specific area in the embodiment of the present application may be flexibly divided according to needs. For example, a specific area may be a division of different administrative levels, such as a city or a district, etc., which is not limited in the present application. For ease of description, the following description is based on an example in which the specific area is the city where the user is currently located (such as Guangzhou).

[0168] Exemplarily, the server may store the POI information of the city pre-entered by an administrator; or, the server may store the POI information of the city pre-acquired from other devices (such as third-party devices), which is not limited in the present application.

[0169] In some embodiments, the server may establish a grid index in the following situations: (1) When the server first obtains the interest point information of a certain area, it may establish a grid index based on the interest point information; (2) When the interest point information of a certain area in the server is updated, the server may establish the interest point grid index of the area based on the updated interest point information; (3) The server may periodically establish a grid index, that is, periodically update the interest point grid index corresponding to the area. In actual applications, the triggering situations for the server to establish a grid index may also include multiple situations. The above-listed situations are only examples. The embodiments of the present application do not specifically limit the situations for the server to establish a grid index.

[0170] In some embodiments, the normalization process described in the embodiments of the present application may include: the server first calculates the center point coordinates of the points of interest in the city based on the geographic coordinates (longitude and latitude) of the points of interest in the user's city, wherein the longitude of the center point is the average longitude of the points of interest, and the latitude of the center point is the average latitude of the points of interest; then, the server calculates the relative longitude difference and latitude relative difference between each point of interest and the center point; thereafter, the server uses a preset nonlinear function (such as an inverse cotangent function, a logarithmic function, etc.) to calculate the normalized processing results of the above-mentioned relative longitude differences and relative latitude differences, and the normalized processing results can be used as new (i.e., normalized) point of interest coordinates (hereinafter collectively referred to as normalized coordinates); the server performs grid division based on the normalized coordinates of the points of interest, and establishes a grid index, which may include a mapping relationship between information such as a geographic grid identifier (such as a grid number), a point of interest name in a grid, and an actual geographic coordinate of the point of interest.

[0171] It should be understood that through the above-mentioned normalization processing, the distribution of points of interest that are actually scattered or uneven can be made more uniform. After dividing the grid, the number of points of interest in each grid will not differ too much, so that when recommending points of interest to users based on the grid in the future, the number of recommended points of interest is relatively stable.

[0172] S802, the electronic device sends a grid index request message to the server.

[0173] The grid index request message is used to request the server for the grid index information corresponding to the normalized point of interest.

[0174] In some embodiments, the electronic device may send a grid index request message to the server under preset conditions. For example, the electronic device may send a grid index request message to the server at a certain period; or the electronic device may send a grid index request message to the server when the network type changes, such as when the network type connected to the electronic device switches from a cellular network to WiFi, a grid index request message will be sent to the server.

[0175] Through the above method, the electronic device on the user side can obtain the latest grid index on the server side in a timely manner, so as to recommend the latest point of interest information to the user.

[0176] S803: The server sends a grid index feedback message to the electronic device.

[0177] The grid index feedback message includes a grid index established by the server based on the normalized coordinates of the point of interest.

[0178] In some embodiments, the server sends a grid index feedback message to the electronic device in response to the grid index request message sent by the electronic device. The grid index feedback message may include a grid index generated by the server based on the normalized points of interest (as shown in Table 4 below).

[0179] In some embodiments, the grid index feedback message is also used to indicate parameters involved in the normalization process on the server side, such as center point coordinates, correction coefficients of the normalization algorithm, etc. Exemplarily, the server may send the parameters involved in the normalization process to the electronic device in the following manners: (1) carrying the parameters in the grid index feedback message and sending it to the electronic device; (2) sending the parameters separately, that is, not carrying them in the grid feedback message.

[0180] Optionally, when there are multiple normalization algorithms available for selection, the grid index feedback message can also be used to indicate the type of normalization algorithm. Optionally, the grid index feedback message can also include the longitude and latitude range corresponding to the geographic grid, which can be used to indicate the longitude and latitude range corresponding to each geographic grid in the grid index.

[0181] S804, the electronic device recommends points of interest to the user.

[0182] In some embodiments, the electronic device can obtain the geographic coordinates of the current location of the electronic device (which can represent the current location of the user) through the positioning module; thereafter, the electronic device can adopt the same normalization processing method as the server side (adopting the same normalization algorithm, normalization function correction coefficient, center point coordinates, etc.) to calculate the normalized electronic device coordinates (or the normalized coordinates of the electronic device), and determine the geographic grid to which the electronic device belongs based on the normalized coordinates of the electronic device; obtain the target interest point information in the same geographic grid as the user in the interest point index according to the geographic grid number, or the target interest point information in the geographic grid that is adjacent to the geographic grid to which the user belongs and is one or more circles around it, and recommend the information of these interest points to the user.

[0183] Among them, the electronic device can pre-negotiate with the server on the normalization algorithm to be used, or the electronic device can determine the normalization algorithm used on the server side based on the normalization processing indication information carried by the grid index feedback message, thereby realizing normalization processing of the electronic device position using the same normalization algorithm as the server side.

[0184] In some embodiments, the electronic device may retrieve points of interest in one or more grids as target points of interest in the grid index according to a preset rule. Fig.11A After the geographic coordinates of the electronic device are normalized, the normalized coordinates of the electronic device belong to Fig.11A In the shaded geographic grids shown in FIG. 1 , for ease of description, the geographic grid where the user is located is numbered “5”, and the geographic grids adjacent to the geographic grid “5” are numbered “1” to “4”, “6” to “9” respectively. According to the preset rule, the electronic device can only retrieve the information of the points of interest in the geographic grid “5” (e.g. Fig. 11B , that is, only the information of the points of interest in the geographic grid "5" is recommended to the user; or, according to a preset rule, the electronic device can also retrieve the information of the points of interest in the geographic grid "5" and the surrounding geographic grids (such as Fig. 11C The information of the points of interest shown in the figure is recommended to the user, that is, all the points of interest information in the geographic grid "1" to grid "9" are recommended to the user. Since the points of interest in different areas are more evenly distributed after the normalization process, the points of interest in a specific number of grids can be retrieved and recommended in different areas according to the same preset rules. Fig. 11B The method shown in the figure recommends the information of points of interest in the grid where the user is located, or both are based on Fig. 11C In the manner shown, information on points of interest within the grid where the user is located and within a circle of grids around the user is recommended.

[0185] It should be understood that Fig. 11B and Fig. 11CThe preset rules shown are only examples. In actual applications, the recommended POI information in which geographic grids can be flexibly set as needed. For example, the POI information in the geographic grid where the user is located and the two circles of geographic grids around it can also be recommended. This application does not limit this.

[0186] In some embodiments, different priorities can be set for different geographic grids. When searching for points of interest in the grid, the search can be performed according to the priority to obtain the target points of interest. For example, the geographic grid where the user is located is set to the highest priority, and the geographic grids immediately surrounding the geographic grid where the user is located are all set to the first priority, etc. By searching for points of interest in the geographic grid in order of priority, the information of the points of interest closest to the user can be recommended first, thereby improving the convenience of the user in finding the target points of interest.

[0187] By flexibly adjusting the number of grids where the recommended points of interest are located, the stability of the number of recommended points of interest can be improved. For example, when there are no points of interest in the grid where the user is located, the number of recommended grids can be adjusted to recommend points of interest in surrounding grids to the user, so that the user can obtain information on a balanced number of points of interest.

[0188] In some embodiments, the electronic device may automatically display the recommended points of interest to the user through a specific application (a local application or a third-party application) or the negative first screen of the electronic device (such as a mobile phone).

[0189] It should be understood that the internal implementation principle of the electronic device recommending points of interest to the user is based on the geographical grid (referring to the geographical grid divided based on the normalized coordinates of the points of interest) where the electronic device (or user) is located, and according to preset rules, the points of interest within the geographical grid or the points of interest in the geographical grid and the surrounding adjacent geographical grids are recommended to the user as target points of interest. Therefore, after the distribution of the points of interest is optimized through the normalization process in the embodiment of the present application, even if the grid position to which it belongs changes as the user moves, the electronic device can still obtain a relatively consistent number of points of interest. In other words, the normalization process provided by the embodiment of the present application enables the number of recommended points of interest to overcome the limitations of the grid position (or regional position). On the basis of ensuring a relatively balanced number of points of interest, the application layer of the electronic device can adjust the recommended range of the points of interest, thereby realizing automatic adjustment of the adaptation length segment in different areas (such as FIG. 6A to FIG. 6C As shown), users can obtain more information about points of interest in different areas, thereby improving the user experience.

[0190] The following is a more detailed introduction to the specific implementation process of the method for recommending points of interest provided by the embodiment of the present application in conjunction with the accompanying drawings. Fig. 9FIG. 1 is a schematic interactive diagram of a point of interest recommendation provided by an embodiment of the present application. The process includes the following stages:

[0191] Phase 1: The server builds a grid index.

[0192] The grid index established by the server in the first stage refers to a grid index established based on the normalized coordinates of the point of interest.

[0193] In some embodiments, the server in stage 1 may establish a grid index, which may include the following specific steps:

[0194] S9101, the server calculates the center point coordinates corresponding to n points of interest.

[0195] Specifically, the coordinates of the center point are obtained by averaging the geographic coordinates (longitude and latitude) of multiple points of interest in a certain area (such as the city where the user is currently located), that is, the longitude corresponding to the center point can be the average longitude of the n points of interest in the area, and the latitude corresponding to the center point can be the average latitude of the n points of interest in the area, where n is an integer value greater than 1.

[0196] In some embodiments, the server may pre-acquire data sets P1-Pn, which respectively correspond to n points of interest information distributed in a certain area. For example, Pi in the data set may include the identifier and geographic coordinates of the i-th point of interest in the area, i and n are both positive integers, and 1≤i≤n. For example, as shown in Table 3, examples of point of interest information included in some data sets are shown, where the point of interest information includes n point of interest identifiers, and the longitude and latitude of the actual geographic location of the point of interest.

[0197] Table 3

[0198] Dataset Point of interest identification longitude latitude P1 POI1 -3.52713 -7.11934 …… …… …… …… Pi POI -2.36774 -1.37956 …… …… …… …… Pn POIn 1.28444 -8.85377

[0199] In some embodiments, the grid index module of the server may calculate the average longitude (Eavg) and average latitude (Navg) of the n points of interest to determine the coordinates corresponding to the center point G. The coordinates (Eavg, Navg) of the center point G may be calculated according to formula (1-1) and formula (1-2).

[0200]

[0201]

[0202] Where Eavg is the longitude of the center point G; Navg is the latitude of the center point G; n is the number of points of interest in the area; E i is the longitude of the i-th point of interest; N i is the latitude of the i-th point of interest.

[0203] For example, the position of the center point G can be referred to Fig.10 Optionally, in the process of calculating the coordinates of the center point in step S9101, each point of interest may be in an existing original grid. For example, before normalizing the points of interest, the server may have established and / or stored an original grid according to the coordinates of the points of interest (such as Fig.10 The original geographic grid shown in FIG. 1 and the original grid index are not limited in this application.

[0204] S9102, the server uses an inverse cotangent function to normalize the relative longitude distances of the n points of interest.

[0205] In some embodiments, after obtaining the longitude and latitude of the center point G, the grid index module of the server can calculate the relative longitude distance and latitude relative distance between each interest point and the center point. Specifically, the relative longitude difference between the interest points in the data sets P1 to Pn and the center point G can be represented by D1 to D2 respectively. n Corresponding representation, where the relative difference D of the longitude of the interest point i i It can be expressed by formula (1-3):

[0206] D i =E i -E avg (1-3)

[0207] Afterwards, the grid index module of the server uses the inverse cotangent function to normalize the longitude difference and obtain the normalized data set X1~X n , the data set X1~X n The normalized longitude values ​​of the n points of interest in the area are respectively corresponding. i X can be the normalized longitude of the point of interest i. i It can be calculated using the following formula (1-4):

[0208] X i = atan(D i C1)*2 / PI (1-4)

[0209] Among them, C1 is the longitude correction coefficient; PI is the natural constant.

[0210] It should be understood that the correction coefficient can be used to adjust the degree of dispersion of the points of interest. For example, when the correction coefficient is 0.1, the distribution of the points of interest is tighter, and when the correction coefficient is 0.9, the distribution of the points of interest is looser. The correction coefficient can be flexibly set according to the degree of dispersion of the points of interest.

[0211] S9103, the server uses an inverse cotangent function to normalize the relative latitude distances of the n points of interest.

[0212] Similarly, the grid index module of the server can use a similar process to the above to normalize the latitude relative distance of the interest points. Specifically, the grid index module of the server can first calculate the latitude relative difference between the latitude of each interest point and the latitude of the center point. The relative latitude difference W of the interest point i is i It can be expressed by formula (1-5):

[0213] W i =N i -N avg (1-5)

[0214] Afterwards, the grid index module of the server uses the inverse cotangent function to normalize the latitude difference and obtains the normalized latitude data set Y1~Y n , the data set Y1~Y n They represent the latitude values ​​of the normalized relative distances of the n points of interest in the area, for example, Y i It can include the normalized latitude of the interest point i. i It can be calculated using the following formula (1-6):

[0215] Y i = atan(W i C2)*2 / PI (1-6)

[0216] Among them, C2 is the latitude correction coefficient, which can be flexibly set according to the dispersion degree of points of interest.

[0217] It should be understood that the process of normalizing the interest point in step S9102 and step S9103 is only an example. In practical applications, the order of executing the calculation process can also be other ways, for example, first calculating the longitude difference and latitude difference of the interest point, and then calculating the normalized result of the longitude difference and the normalized result of the latitude difference respectively, which is not limited in this application.

[0218] Exemplarily, as shown in Table 4, it is an example of the geographic coordinates (original longitude, original latitude) and normalized coordinates (longitude after normalization by the inverse cotangent function, latitude after normalization by the inverse cotangent function) of the point of interest after the point of interest is normalized by the inverse cotangent function.

[0219] Table 4

[0220]

[0221] For example, after the server uses the inverse cotangent function to normalize the relative distance between the interest point and the center point, the distribution diagram of the interest point can be as follows: Fig.11AAs shown in (the correction factor of longitude and latitude used in normalization is 0.2). Fig.10 Compared with the distribution of interest points without normalization shown in FIG. 1 , it can be seen that the normalization process makes the interest points more evenly distributed, and due to the characteristics of the inverse cotangent function, the relative position order of the interest points after normalization can remain basically unchanged. For example, the relative distance between interest point 1 and interest point 2 is marked as d (1,2) , the relative distance between interest point 1 and interest point 3 is marked as d (1,3) , the relative distance between interest point 2 and interest point 3 is marked as d (2,3) Before the above normalization process, the relative distances between the three interest points satisfy the relationship: d (1,2) <d (1,3) <d (2,3) , then after the normalization process in the embodiment of the present application, the relative distances between the three interest points can still be maintained: d (1,2) <d (1,3) <d (2,3) When the number of points of interest is larger, the normalization process can keep the relative distance order between the points of interest basically the same as the actual relative distance order. Therefore, after the normalization process of the embodiment of the present application, the distribution of the points of interest can be made more uniform while keeping the relative distance order between the points of interest basically unchanged, thereby ensuring that the information recommended to the user based on the optimized distribution of points of interest is accurate.

[0222] S9104, the server establishes a grid index based on the normalized coordinates of the n points of interest.

[0223] In some embodiments, after the above normalization processing, the new longitude and latitude corresponding to the point of interest (that is, the normalized coordinates of the point of interest) are obtained, and the grid index module of the server can divide the geographic grid (such as Fig.11A Each geographic grid has a certain longitude interval and latitude interval, that is, each geographic grid may correspond to a certain longitude range (such as 112.2° east longitude to 112.3° east longitude) and latitude range (such as 22.1° north latitude to 22.2° north latitude). For example, each geographic grid may have the same longitude interval and latitude interval, such as each geographic grid may be a grid with a longitude interval and a latitude interval of 0.1° or 0.01°. The longitude interval and latitude interval of the geographic grid can be flexibly set, and the embodiments of the present application are not limited thereto.

[0224] In some embodiments, when the normalized coordinates of the point of interest belong to the longitude range and latitude range corresponding to a certain geographic grid, it is determined that the point of interest is in the geographic grid. For example, the grid index module of the server can determine the number of the geographic grid where the point of interest is located based on the normalized coordinates of the point of interest. For example, assuming that the normalized coordinates of the point of interest are (-0.35, -0.65), and the longitude range and latitude range corresponding to the geographic grid with grid number 5 are (-0.4 to -0.5, -0.7 to -0.6), respectively, since the normalized longitude of the point of interest belongs to the range of -0.4 to -0.5, and the normalized longitude of the point of interest belongs to the range of -0.7 to -0.6, it can be determined that the point of interest is a point of interest in geographic grid 5.

[0225] In some embodiments, the grid index module of the server can establish a grid index based on the geographic grid and the points of interest in the geographic grid, and the grid index is used to indicate the correspondence between n points of interest and the geographic grid. Exemplarily, the grid index may include the identification of the point of interest and the actual geographic coordinates of the point of interest. In addition, the grid index may also include the normalized coordinates of the point of interest and contact information, address, introduction and other information. Exemplarily, as shown in Table 5, it is an example of a grid index, and the grid index includes the identification of the point of interest and the actual geographic coordinates (original longitude, original latitude) of the point of interest.

[0226] Table 5

[0227] Grid Number Point of interest name Original longitude of point of interest Original latitude of point of interest M101 Point of Interest 1 -3.52713 -7.11934 M101 Point of Interest 2 -2.46489 -0.90862 M102 Point of Interest 3 -2.36774 -1.37956 M103 Point of Interest 4 1.28444 -8.85377 … … … …

[0228] It should be understood that the grid index shown in Table 5 is only an example. In practical applications, the grid index may also include other more information items (such as the address, contact information, introduction, etc. of the point of interest), which is not limited in the embodiments of the present application.

[0229] It should also be understood that the geographic grid involved in the grid index established based on the normalized longitude and latitude is different from the original grid (such as Fig.10 If the area has been pre-divided into an original grid, then in the process of establishing the grid index in this step, it is necessary to re-divide the grid based on the normalized coordinates of the interest points.

[0230] Phase 2: Electronic devices synchronize grid indexing.

[0231] Exemplarily, the second stage may specifically include step S9201 to step S9202:

[0232] S9201, the electronic device sends a grid index request message to the server.

[0233] In some embodiments, when a preset condition is met, the timer can trigger the data storage module of the electronic device to generate a grid index request. The preset conditions may include, for example: the network connection type of the electronic device is switched; or the timer of the electronic device triggers the electronic device to send a grid index request message at a certain period; or the timer detects that a preset time has been reached, etc. Exemplarily, when the electronic device switches from connecting to a cellular network to connecting to Wi-Fi, the data storage module is triggered to generate a grid index request message; or, when a preset time (such as 00:00 every day) or every certain period (such as 24 hours) is reached, the data storage module is triggered to generate a grid index request message.

[0234] Optionally, in other embodiments, before the electronic device sends a grid index request message to the server, the server may also actively send a point of interest index information indication message to the electronic device to indicate that there is available point of interest index information in the current area of ​​the electronic device, or that the point of interest information in the current area has been updated. Exemplarily, the electronic device may display an indication message to the user (such as a pop-up prompt message when the user opens a related App), prompting the user whether the point of interest index information needs to be obtained, or whether the point of interest index information needs to be updated. If the user determines to obtain or update, the electronic device may feedback a grid index request message to the server. When the server updates the point of interest information, it may broadcast or unicast an indication message of the point of interest index information update; or, the server may periodically broadcast or unicast an indication message of the point of interest index information.

[0235] In some embodiments, after receiving the trigger of the timer, the data storage module may generate a grid index request message according to the communication protocol, and send the grid index request message to the server through other modules (such as the data transmission module).

[0236] Specifically, the internal implementation process of step S9201 may include the following steps S9201(a) to S9202(c):

[0237] S9201 (a), the data storage module of the electronic device sends a grid index request message to the data transmission module of the electronic device.

[0238] S9201(b), the data transmission module of the electronic device sends a grid index request message to the data transmission module of the server.

[0239] S9201(c), the data transmission module of the server sends a grid index request message to the grid index module of the server.

[0240] S9202, the server sends a grid index feedback message to the electronic device.

[0241] In some embodiments, the grid index module of the server generates a grid index feedback message in response to the grid index request message sent by the electronic device; then, the grid index feedback message is sent to the electronic device through the data transmission module. The grid index feedback message may include a grid index generated by the server based on the normalized points of interest (as shown in Table 4). Optionally, the grid index feedback message may also include parameters involved in the normalization process, such as the center point coordinates of n points of interest and the correction coefficient of the normalization process, wherein the longitude of the center point coordinates is the average longitude of the n points of interest geographic coordinates, and the latitude of the center point is the average latitude of the n points of interest geographic coordinates. Optionally, the grid index feedback message may also include the longitude and longitude range corresponding to the geographic grid, which can be used to indicate the longitude and latitude range corresponding to each geographic grid in the grid index (as shown in Table 6). Optionally, when there are multiple normalization algorithms for selection, the grid index feedback message may also carry information indicating the type of normalization algorithm. Exemplarily, in actual applications, the parameters involved in the normalization process may also be sent to the electronic device by the server alone, without being carried in the grid index feedback message.

[0242] Table 6

[0243] Grid Number Longitude range Latitude range M101 -0.40~-0.39 -0.61~-0.62 M102 -0.29~-0.28 -0.18~-0.17 … … …

[0244] It should be understood that the latitude and longitude ranges of the geographic grid shown in Table 6 are only examples and are not limited to this embodiment of the present application.

[0245] Exemplarily, the internal implementation process of step S9202 may include the following steps S9202(a) to S9202(c):

[0246] S9202(a), the grid index module of the server sends a grid index feedback message to the data transmission module of the server.

[0247] S9202 (b), the data transmission module of the server sends the grid index feedback message to the data transmission module of the electronic device.

[0248] S9202 (c), the data transmission module of the electronic device sends the grid index feedback message to the data storage module of the electronic device.

[0249] In some embodiments, after receiving a grid index feedback message, the data storage module of the electronic device can store the grid index information included in the grid index feedback message to the data storage module, so that when the electronic device needs to perform normalization processing, the data storage module calls the information indicating the normalization processing parameters.

[0250] Stage 3: Electronic devices recommend points of interest.

[0251] Exemplarily, stage three may specifically include steps S9301 to S9306:

[0252] In some embodiments, the electronic device may recommend a point of interest after receiving a point of interest recommendation indication from the user. Exemplarily, the user may input the point of interest recommendation indication through a point of interest recommendation related App installed on the electronic device. The point of interest recommendation indication method may include, for example, clicking the user's current location on the map interface or inputting the user's current location; then, clicking the search icon or clicking the point of interest recommendation icon to obtain POI information, etc. Among them, the point of interest recommendation indication may be in text form or voice form, which is not limited in this application.

[0253] For example, for a map app, the method for recommending points of interest can be: the user first clicks on the user's current location on the map app interface; then, selects a point of interest recommendation type icon, such as clicking on a food recommendation icon; and then, clicks on the point of interest search icon, and the map interface can display the distribution of food points of interest near the user's current location.

[0254] For another example, for a life service app, the user can first enter the user's current address on the life service app interface (or, the user can click the positioning icon on the life service app interface, and the app will automatically obtain the user's current location; or, authorize the app to automatically locate the user's current location when the app is started); then, the user can select a point of interest recommendation type icon, such as clicking on a food recommendation icon; in response to the user's click operation, the life service app interface can display information about food points of interest near the user.

[0255] For different apps, the way users input POI recommendation instructions may be different. The above-listed scenarios are only examples and this application does not limit this.

[0256] In some embodiments, the electronic device may receive an operation input by a user, and in response to the operation input by the user, perform the following process of recommending points of interest. The operation input by the user may be, for example, the above-mentioned operation: the user clicks on a point of interest search icon, the user clicks on the current location, etc. Exemplarily, the process of recommending points of interest by the electronic device may include the following specific steps:

[0257] S9301, a grid index module of the electronic device obtains normalized first information from a data storage module.

[0258] In some embodiments, the grid index module of the electronic device may be a module in the processor 110 of the electronic device, which may perform the same normalization processing operation as the server side by calling the first information in the data storage module.

[0259] In some embodiments, the first information can be used to indicate the parameters involved in the normalization process of the n points of interest performed by the server side, for example, the first information can be used to indicate the center point coordinates of the n points of interest, the correction coefficients of the normalization algorithm used by the server side for normalization (such as the longitude correction coefficient and the latitude correction coefficient), etc. Optionally, the first information can also include the longitude and latitude range corresponding to the geographic grid, which can be used to indicate the longitude and latitude range corresponding to each geographic grid in the grid index (as shown in Table 6). When there are multiple normalization algorithms to choose from on the server side, the first information can also be used to indicate the normalization algorithm type, such as the inverse cotangent function.

[0260] S9302: The grid index module of the electronic device calculates the normalized coordinates of the inverse cotangent function according to the geographic coordinates of the electronic device.

[0261] The geographic coordinates of the electronic device may represent the location of the user. The geographic coordinates of the electronic device in this step may be the geographic coordinates of the user's current location.

[0262] In some embodiments, the electronic device can use the positioning module ( Fig. 9 The positioning module (not shown) performs a positioning operation to obtain the current geographic coordinates of the electronic device. The positioning information obtained by the positioning module can be stored in the data storage module or sent directly to the grid index module. The grid index module can call the positioning information in the data storage module, such as calling the positioning information corresponding to the user's current moment (i.e., the positioning information corresponding to the current position), to obtain the user's current geographic coordinates; or, the grid index module can also obtain the geographic coordinates of the user's current position based on the positioning information sent by the positioning module. For ease of description, the geographic coordinates (longitude and latitude) of the user's current position in the embodiment of the present application can be expressed as (E u , N u ) to indicate.

[0263] In some embodiments, the electronic device calculates the user's current location (E) based on the first information using the same normalization algorithm (inverse cotangent function) as that used by the server side. u , N u ). Exemplarily, the electronic device may first calculate the relative distance between the user's current location and the center point, that is, the difference between the longitude of the user's current location and the longitude of the center point, and the difference between the latitude of the user's current location and the latitude of the center point. The longitude difference between the user's current location and the center point may be as shown in formula (1-7), and the latitude difference may be as shown in formula (1-8):

[0264] D u =E u -Eavg (1-7)

[0265] W u =N u -N avg (1-8)

[0266] Afterwards, the electronic device normalizes the longitude difference and latitude difference of the user. Exemplarily, the electronic device calculates the normalized user position using the inverse cotangent function according to the following formulas (1-9) and (1-10).

[0267] X u = atan(D u C1)*2 / PI (1-9)

[0268] Y u = atan(W u C2)*2 / PI (1-10)

[0269] Among them, X u Y is the longitude of the user's location after normalization; u is the user's latitude after normalization; C1 is the longitude correction coefficient; C2 is the latitude correction coefficient; PI is a natural constant.

[0270] In some embodiments, the electronic device may pre-negotiate with the server to use the inverse cotangent function as the normalization algorithm, or when the user indicates a point of interest recommendation, determine to use the inverse cotangent function as the normalization algorithm based on the normalization algorithm type indicated by the first information.

[0271] It should be understood that the electronic device, based on the first information, uses the same normalization algorithm as the server side to perform the same normalization processing on the user's current position, and can map the user's position to a grid in the same coordinate system as the point of interest, ensuring that the relative position relationship between the user's position and the point of interest is consistent with the actual position relationship, so as to be able to accurately recommend to the user the point of interest information around his or her current location.

[0272] S9303: The grid index module of the electronic device calculates the geographic grid where the electronic device is located according to the normalized coordinates.

[0273] It should be understood that each geographic grid corresponds to a longitude range and a latitude range. After obtaining the normalized coordinates of the electronic device, the electronic device can determine the geographic grid where the electronic device is located according to the longitude range and latitude range to which the normalized coordinates belong. For example, the electronic device can determine the number of the geographic grid where it is located according to the normalized coordinates of the electronic device (such as Fig. 11BFor example, assuming that the normalized coordinates of the electronic device are (-0.38, -0.62), and the longitude range and latitude range corresponding to the geographic grid with the grid number 5 are (-0.4 to -0.5, -0.7 to -0.6), since the normalized longitude of the electronic device belongs to the range of -0.4 to -0.5, and the normalized longitude of the electronic device belongs to the range of -0.7 to -0.6, it can be determined that the geographic grid where the electronic device is located is the geographic grid with the grid number 5.

[0274] For example, the geographic grid to which the user's normalized coordinates belong can be as follows: Fig.11A shown.

[0275] S9304, the grid index module of the electronic device retrieves the target point of interest based on the geographic grid where the electronic device is located.

[0276] In some embodiments, the grid index module may retrieve the target point of interest from the grid index stored in the data storage module according to the geographic grid where the electronic device is located.

[0277] In some embodiments, the grid index module of the electronic device may obtain the grid number of the geographical grid where the user is located, and use the grid number as an index keyword to retrieve the point of interest information.

[0278] In some embodiments, the grid index module can retrieve target points of interest based on preset rules. The preset rules include, for example: determining the points of interest in the geographic grid where the electronic device is located as the target points of interest in the grid index, or determining the points of interest in the geographic grid where the electronic device is located and at least one circle of geographic grids adjacent to the geographic grid where the electronic device is located as the target points of interest, or retrieving a preset number of target points of interest in a specific geographic grid, etc. It should be understood that the geographic grid where the electronic device is located in the embodiment of the present application refers to the geographic grid where the normalized coordinates of the electronic device are located.

[0279] S9305, the grid index module of the electronic device obtains the target point of interest information from the data storage module.

[0280] In some embodiments, after the target interest point retrieval process of step S9304, the grid index module of the electronic device can obtain the information of the recommended interest point from the data storage module. The information of the recommended interest point can include one or more of the identification, actual distance, address, contact information, introduction, etc. of the recommended interest point.

[0281] S9306, the electronic device recommends information on target points of interest.

[0282] In some embodiments, the grid index module can send the acquired POI information to a specific APP, and the APP can adjust the range of the displayed POI according to the actual geographical location of the POI, for example, FIG. 6A to FIG. 6C The length segment in the image is selected so that the recommended points of interest can be presented to the user on the display page.

[0283] In addition, the electronic device can also calculate the actual distance between each recommended point of interest and the user based on the actual geographical location of the point of interest and the user's current actual geographical location, and send it to the APP, which will display it on the display page.

[0284] In other embodiments, after the grid index module obtains the point of interest information, the point of interest information can be sent to the display module, and the display module displays it on a page (such as the negative first screen) of the electronic device, such as Figure 7 The information of the displayed point of interest may include the name of the point of interest, the actual distance between the point of interest and the user, the identification of the point of interest, contact information, a brief introduction, etc.

[0285] In some embodiments, the electronic device may automatically update the recommended POI information according to changes in the user's location information, such as FIG. 6A to FIG. 6C In addition, Figure 7 The recommended information of the points of interest shown can also be automatically updated as the user's location changes. When the user moves to a certain area, the recommended information of the points of interest corresponding to the area is displayed.

[0286] According to the method for recommending points of interest provided in an embodiment of the present application, by utilizing a specific normalization algorithm to optimize the distribution state of points of interest, even if the grid position to which the point of interest belongs changes as the user moves, the electronic device can still obtain a relatively consistent number of points of interest. The number of recommended points of interest overcomes the limitation of the grid position (or regional position), so that users can obtain a larger number of points of interest information in different areas, thereby improving the user experience.

[0287] It should be understood that the purpose of normalization is to make the unevenly distributed points of interest more evenly distributed after normalization. Therefore, the normalization algorithm used in the embodiment of the present application is not limited to the inverse cotangent function. Functions with a large slope near the origin and a gradually decreasing slope away from the origin may be used to optimize the distribution of points of interest. Among them, the exponential function is also a typical function that can optimize the distribution of points of interest. The following is an introduction to the process of recommending points of interest when the normalization function uses an exponential function in conjunction with the accompanying drawings.

[0288] For example, Fig.12 As shown, it is a schematic flowchart of another method of recommending points of interest provided in an embodiment of the present application. Fig.12Example and Fig. 9 The process of the embodiment is similar, and for the sake of brevity, only Fig.12 and Fig. 9 The differences are introduced in detail. Fig.12 The POI recommendation process shown includes at least the following stages:

[0289] In phase 1, the server builds a grid index.

[0290] The specific implementation process of the first stage may include steps S1211 to S1214:

[0291] S1211, the server calculates the center point coordinates of n points of interest.

[0292] S1212: The server uses an exponential function to normalize the relative longitude distances of the n points of interest.

[0293] In some embodiments, after obtaining the position coordinates of the center point G through step S1211, the relative distance between the point of interest and the center point (including the relative distance in longitude and the relative distance in latitude) can be calculated according to the formula shown in the above step S9102.

[0294] Afterwards, the server uses an exponential function to normalize the longitude difference and obtains the normalized data set X1~X n , the data set X1~X n The normalized longitude values ​​of the n points of interest in the area are respectively, for example, X i It may include the normalized longitude of the i-th point of interest. i It can be calculated using the following formula (1-11):

[0295] X i = sing(D i )*log a1 (ABS(Di)*C1+1) (1-11)

[0296] Among them, D i is the longitude difference between the i-th point of interest and the center point; C1 is the longitude correction coefficient, which can be flexibly set according to the dispersion degree of the points of interest; a1 is the longitude logarithmic base.

[0297] It should be understood that the correction coefficient can be used to adjust the dispersion of interest points. For example, when the correction coefficient is 0.1, the distribution of interest points is tighter, and when the correction coefficient is 0.9, the distribution of interest points is looser. The correction coefficient can be flexibly set according to the dispersion of interest points. The logarithmic base can also be used to adjust the dispersion of interest points. The smaller the logarithmic base, the tighter the distribution of interest points can be, and the larger the logarithmic base, the looser the distribution of interest points can be. For example Fig.13AThis is the normalized result when the correction coefficient is 0.4 and the base of the longitude and latitude logarithm is 0.8. Fig. 13B This is the normalized result when the correction coefficient is 0.4 and the base of the longitude and latitude logarithm is 0.2.

[0298] S1213, the server uses an exponential function to normalize the relative latitude distances of the n points of interest.

[0299] Similarly, the server can use a similar process to the above to normalize the latitude of the interest points. Specifically, the server can first calculate the latitude difference between the latitude of each interest point and the latitude of the center point. The latitude difference W of any interest point i is i Please refer to formula (1-5) in the above step S9103.

[0300] Afterwards, the server uses an exponential function to normalize the latitude difference and obtains the normalized latitude data set Y1~Y n , the data set Y1~Y n They represent the latitude values ​​of the normalized relative distances of the n points of interest in the area, for example, Y i It can include the normalized latitude of the i-th interest point. i It can be calculated using the following formula (1-12):

[0301] Y i = sing(W i )*log a2 (ABS(Wi)*C2+1) (1-12)

[0302] Among them, W i is the latitude difference between the ith point of interest and the center point, C2 is the latitude correction coefficient, which can be flexibly set according to the degree of dispersion of the points of interest. The latitude correction coefficient can be 0.4, for example, and a2 is the logarithmic base of the longitude.

[0303] It should be understood that the process of normalizing the points of interest in step S1212 and step S1213 is only an example. In actual application, the order of executing the calculation process can also be other ways. For example, the longitude difference and latitude difference of the points of interest are first calculated, and then the normalized results of the longitude difference and the normalized results of the latitude difference are calculated respectively. This application is not limited to this.

[0304] For example, after the server uses a logarithmic function to normalize the relative distance between the interest points and the center point, the distribution diagram of the interest points can be as follows: Fig.13A or Fig. 13BThrough the above normalization process, the distribution of interest points is more uniform, and based on the similarity between the logarithmic function and the inverse cotangent function, the relative positions of the interest points after normalization can remain basically unchanged.

[0305] S1214: The server establishes a grid index based on the normalized coordinates of the n points of interest.

[0306] Phase 2: Electronic devices synchronize grid indexing.

[0307] The specific implementation process of the first stage may include steps S1221 to S1222:

[0308] S1221, the electronic device sends a grid index request message to the server. This step S1221 may specifically include steps S1221(a) to S1221(c):

[0309] S1221(a), the data storage module of the electronic device sends a grid index request message to the data transmission module of the electronic device.

[0310] S1221(b), the data transmission module of the electronic device sends a grid index request message to the data transmission module of the server.

[0311] S1221(c), the data transmission module of the server sends a grid index request message to the grid index module of the server.

[0312] S1222, the server sends a grid index feedback message to the electronic device. This step S1222 may further specifically include steps S1222(a) to S1222(c):

[0313] S1222(a), the grid index module of the server sends a grid index feedback message to the data transmission module of the server.

[0314] S1222(b), the data transmission module of the server sends the grid index feedback message to the data transmission module of the electronic device.

[0315] S1222(c), the data transmission module of the electronic device sends the grid index feedback message to the data storage module of the electronic device.

[0316] The above steps S1214 to S1220 are similar to steps S9104 to S920. The specific process can refer to the above related introduction and will not be repeated here.

[0317] Stage 3: Electronic devices recommend points of interest.

[0318] In some embodiments, the electronic device may receive an operation input by a user, and in response to the operation input by the user, perform the following POI recommendation process. The operation input by the user may be, for example, the above-mentioned operation: the user clicks on the POI search icon, the user clicks on the current location, and the like.

[0319] The third stage may specifically include steps S1231 to S1236:

[0320] S1231: The grid index module of the electronic device obtains first information from the data storage module.

[0321] In some embodiments, the first information can be used to indicate the data calculated or the parameters used in the process of normalizing the n points of interest on the server side. For example, the first information can be used to indicate the center point coordinates of the n points of interest, the correction coefficients of the normalization algorithm used by the server side for normalization (such as the longitude correction coefficient and the latitude correction coefficient), etc. Optionally, the first information can also include the longitude and latitude ranges corresponding to the geographic grid, which can be used to indicate the longitude and latitude ranges corresponding to each geographic grid in the grid index (as shown in Table 6). When there are multiple normalization algorithms to choose from on the server side, the first information of the normalization process can also be used to indicate the type of normalization algorithm, such as an exponential function.

[0322] S1232: The grid index module of the electronic device calculates normalized coordinates of the exponential function according to the geographic coordinates of the electronic device.

[0323] The geographic coordinates of the electronic device may represent the location of the user. The geographic coordinates of the electronic device in this step may be the geographic coordinates of the user's current location.

[0324] In some embodiments, the electronic device can use the positioning module ( Fig.12 The grid index module may call the positioning information in the data storage module, such as calling the positioning information corresponding to the user's current moment (i.e., the positioning information corresponding to the current position), to obtain the user's current geographic coordinates (longitude and latitude); or, the grid index module may also obtain the geographic coordinates of the user's current position based on the positioning information sent by the positioning module. For ease of description, the geographic coordinates (longitude and latitude) of the user's current position in the embodiment of the present application may be expressed as (E u , N u ) to indicate.

[0325] In some embodiments, the electronic device calculates the user's current location (E) based on the normalized first information using the same normalization algorithm (exponential function) as that used by the server side. u , N u ). Exemplarily, the electronic device may first calculate the relative distance between the user's current location and the center point, that is, the difference between the longitude of the user's current location and the longitude of the center point, and the difference between the latitude of the user's current location and the latitude of the center point. The longitude difference between the user's current location and the center point may be as shown in formula (1-13), and the latitude difference may be as shown in formula (1-14):

[0326] D u =E u -E avg (1-13)

[0327] W u =N u -N avg (1-14)

[0328] Afterwards, the electronic device normalizes the longitude difference and latitude difference of the user. Exemplarily, the electronic device calculates the normalized user position using an inverse exponential function according to the following formulas (1-15) and (1-16).

[0329] X u =sign(D u )*log a1 (ABS(Du)*C1+1) (1-15)

[0330] Y u =sign(W u )*log a2 (ABS(Wu)*C2+1) (1-16)

[0331] Among them, X u Y is the longitude of the user's location after normalization; u is the user's latitude after normalization; C1 is the longitude correction coefficient; C2 is the latitude correction coefficient.

[0332] It should be understood that the electronic device processes the first information based on the normalization. The electronic device adopts the same normalization algorithm as the server side and performs similar normalization processing on the user's current location. The user's location can be mapped to a grid in the same coordinate system as the point of interest, ensuring that the relative position relationship between the user's location and the point of interest location is consistent with the actual position relationship, so as to accurately recommend to the user the point of interest information around his or her location.

[0333] S1233: The grid index module of the electronic device calculates the geographic grid where the electronic device is located according to the normalized coordinates.

[0334] S1234, the grid index module of the electronic device retrieves the target point of interest based on the geographic grid where the electronic device is located.

[0335] S1235, the grid index module of the electronic device obtains the information of the target point of interest from the data storage module.

[0336] S1236, the electronic device recommends a target point of interest.

[0337] The above steps S1233 to S1236 are similar to steps S9303 to S9306. The specific process can refer to the above related introduction and will not be repeated here.

[0338] According to the method for recommending points of interest provided in the embodiments of the present application, by utilizing a specific normalization algorithm to optimize the distribution state of points of interest, even if the grid position to which the point of interest belongs changes as the user moves, the electronic device can still obtain a relatively consistent number of points of interest. The number of recommended points of interest overcomes the limitation of the grid position (or regional position), allowing users to obtain a larger number of points of interest information in different areas, thereby improving the user experience.

[0339] Illustratively, an embodiment of the present application also provides a schematic diagram of a software structure of an electronic device. The electronic device may include a receiving module, a positioning module, a processing module and a display module.

[0340] In some embodiments, the receiving module can be used to obtain a grid index feedback message sent by a server, wherein the grid index feedback message includes a grid index of a point of interest, wherein the grid index includes a correspondence between n points of interest and at least one geographic grid, wherein the geographic grid is obtained based on normalized coordinates of the geographic coordinates of the point of interest.

[0341] In some embodiments, the receiving module may also be used to receive a first operation of the user.

[0342] In some embodiments, a positioning module may be configured to obtain geographic coordinates of the electronic device based on the first operation.

[0343] In some embodiments, the processing module may be configured to obtain a target point of interest based on the geographic coordinates of the electronic device and the grid index.

[0344] In some embodiments, the display module can be used to display the information of the target point of interest.

[0345] In some embodiments, the processing module can also be used to perform the normalization processing on the geographic coordinates of the electronic device to obtain the normalized coordinates of the electronic device; and obtain the target point of interest according to the normalized coordinates of the electronic device and the grid index.

[0346] In some embodiments, the first operation includes: clicking on the user's current location on a map interface; or, inputting the user's current location; or, clicking on a recommendation icon for the point of interest.

[0347] In some embodiments, the receiving module may also be used to receive a second operation of the user, where the second operation is used to select a recommended category for the point of interest.

[0348] In some embodiments, the display module can also be used to display the actual distribution position of the target interest point on the map.

[0349] In some embodiments, the information of the target point of interest includes at least one of the following: name, address, contact information, actual distance from the current location of the electronic device, and introduction information.

[0350] In some embodiments, the processing module can also be used to determine a first geographic grid corresponding to the electronic device based on the normalized coordinates of the electronic device, where the first geographic grid is the geographic grid in the grid index; determine the point of interest in the first geographic grid in the grid index as the target point of interest, or determine the point of interest in the first geographic grid and at least one circle of adjacent geographic grids as the target point of interest.

[0351] In some embodiments, the geographic grid corresponds to a longitude range and a latitude range; the processing module 1404 can also be used to determine the first geographic grid corresponding to the electronic device according to the longitude range and the latitude range to which the normalized coordinates of the electronic device belong.

[0352] In some embodiments, the processing module can also be used to adjust the selection range of the geographic grid according to the number of points of interest in the first geographic grid, so that the number of target points of interest is greater than a first threshold; or, according to the number of points of interest in the first geographic grid and at least one circle of the adjacent geographic grids, adjust the selection range of the geographic grid so that the number of target points of interest is greater than the first threshold; or, according to a preset number of target points of interest, adjust the selection range of the geographic grid so that the number of target points of interest is greater than the first threshold; or, according to the preset number of target points of interest, select the target points of interest so that the number of target points of interest is the preset number.

[0353] In some embodiments, the grid index feedback message is also used to indicate the center point coordinates of the n points of interest and the correction coefficient of the normalization processing, the longitude of the center point coordinates is the average longitude of the geographic coordinates of the n points of interest, and the latitude of the center point is the average latitude of the geographic coordinates of the n points of interest.

[0354] In some embodiments, the processing module may also be used to perform the normalization processing on the geographic coordinates of the electronic device according to the center point coordinates of the n points of interest and the correction coefficient of the normalization processing.

[0355] In some embodiments, the processing module can also be used to calculate the relative longitude difference and relative latitude difference between the electronic device and the center point based on the geographic coordinates of the electronic device and the center point coordinates; calculate the normalized longitude of the electronic device based on the normalization function, the correction coefficient and the relative longitude difference; and calculate the normalized latitude of the electronic device based on the normalization function, the correction coefficient and the relative latitude difference.

[0356] In some embodiments, the normalization function is an inverse cotangent function, and the inverse cotangent function includes: i = atan(D i C1)*2 / PI;Y i = atan(W i C2)*2 / PI; where X i is the normalized longitude of the electronic device, D i is the relative longitude difference between the electronic device and the center point, C1 is the longitude correction coefficient; Y i is the normalized latitude of the electronic device, W i is the relative latitude difference between the electronic device and the center point, C2 is the latitude correction coefficient; i is a positive integer not greater than n, and PI is a natural constant.

[0357] In some embodiments, the normalization function is a logarithmic function, and the logarithmic function includes: i =sign(D i )*log a1 (ABS(Di)*C1+1);Y i =sign(W i )*log a2 (ABS(Wi)*C2+1); where X i is the normalized longitude of the electronic device, D i is the relative longitude difference between the electronic device and the center point, C1 is the longitude correction coefficient, a1 is the longitude logarithmic base; Y i is the normalized latitude of the electronic device, Wi is the relative latitude difference between the electronic device and the center point, C2 is the latitude correction coefficient, a2 is the logarithmic base of longitude; i is a positive integer not greater than n.

[0358] Exemplarily, an embodiment of the present application further provides a server, which may include a processing module and a sending module.

[0359] In some embodiments, a processing module can be used to normalize the geographic coordinates of n points of interest to obtain the normalized coordinates of the points of interest, where n is an integer greater than 1; divide the geographic grid based on the normalized coordinates of the points of interest; establish a grid index based on the normalized coordinates of the points of interest and the geographic grid, wherein the grid index includes the correspondence between the geographic grids where the normalized coordinates of the n points of interest are located and the n points of interest.

[0360] In some embodiments, the sending module may be configured to send the grid index feedback message to the electronic device, where the grid index feedback message includes the grid index.

[0361] In some embodiments, the processing module can also be used to calculate the coordinates of the center point based on the geographic coordinates of the n points of interest, wherein the longitude of the center point coordinates is the average longitude of the geographic coordinates of the n points of interest, and the latitude of the center point coordinates is the average latitude of the geographic coordinates of the n points of interest; calculate the relative longitude difference and relative latitude difference between each of the points of interest and the center point; calculate the normalized longitude value of the point of interest based on the normalization function, the correction coefficient and the relative longitude difference; and calculate the normalized latitude of the point of interest based on the normalization function, the correction coefficient and the relative latitude difference.

[0362] In some embodiments, the message under the grid index feedback can also be used to indicate the center point coordinates of the n points of interest and the correction coefficient of the normalization processing, the longitude of the center point coordinates is the average longitude of the geographic coordinates of the n points of interest, and the latitude of the center point is the average latitude of the geographic coordinates of the n points of interest.

[0363] In some embodiments, the normalization function is an inverse cotangent function, and the inverse cotangent function includes: i = atan(D i C1)*2 / PI;Y i = atan(W i C2)*2 / PI; where X i is the normalized longitude of the i-th point of interest, D i is the relative longitude difference between the i-th point of interest and the center point, C1 is the longitude correction coefficient; Y iis the normalized latitude of the i-th interest point, W i is the relative latitude difference between the i-th point of interest and the center point, C2 is the latitude correction coefficient; i is a positive integer not greater than n, and PI is a natural constant.

[0364] In some embodiments, the normalization function is a logarithmic function, and the logarithmic function includes: i =sign(D i )*log a1 (ABS(Di)*C1+1);Y i =sign(W i )*log a2 (ABS(Wi)*C2+1); where X i is the normalized longitude of the i-th point of interest, D i is the relative longitude difference between the i-th point of interest and the center point, C1 is the longitude correction coefficient, a1 is the longitude logarithm base; Y i is the normalized latitude of the i-th interest point, W i is the relative latitude difference between the i-th point of interest and the center point, C2 is the latitude correction coefficient, a2 is the logarithmic base of longitude; i is a positive integer not greater than n.

[0365] Exemplarily, an embodiment of the present application also provides a system for recommending points of interest, characterized in that it includes at least one electronic device and a server, wherein the electronic device is used to execute the above-mentioned method for recommending points of interest, so that the function of the method on the electronic device can be realized, and the server is used to execute the above-mentioned method for recommending points of interest, so that the function of the method on the electronic device can be realized.

[0366] Exemplarily, an embodiment of the present application further provides a computer-readable storage medium, which stores computer instructions. When the computer instructions are executed, the above-mentioned method for recommending points of interest is implemented.

[0367] Illustratively, an embodiment of the present application further provides a computer product, which stores computer instructions. When the computer instructions are executed, the above-mentioned method for recommending points of interest is implemented.

[0368] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part 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, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted through the computer-readable storage medium. The computer instructions may be transmitted from a website site, computer, server or data center to another website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrated. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid state drive (SSD)), etc.

[0369] Those skilled in the art can understand that to implement all or part of the processes in the above-mentioned embodiments, the processes can be completed by computer programs to instruct related hardware, and the programs can be stored in computer-readable storage media. When the programs are executed, they can include the processes of the above-mentioned method embodiments. The aforementioned storage media include: ROM or random access memory RAM, magnetic disk or optical disk and other media that can store program codes.

[0370] The above is only a specific implementation of the embodiment of the present application, but the protection scope of the embodiment of the present application is not limited thereto, and any changes or replacements within the technical scope disclosed in the embodiment of the present application should be included in the protection scope of the embodiment of the present application. Therefore, the protection scope of the embodiment of the present application should be based on the protection scope of the claims.

Claims

1. A method for recommending points of interest, characterized in that: Used in electronic equipment, including: Acquire a grid index feedback message sent by a server, wherein the grid index feedback message includes a grid index of a point of interest, wherein the grid index includes a correspondence between n points of interest and at least one geographic grid, wherein the geographic grid is obtained according to normalized coordinates of the geographic coordinates of the point of interest after normalization processing is performed, and a function adopted by the normalization processing is a nonlinear function; Receiving a first operation from a user; Based on the first operation, obtaining the geographic coordinates of the electronic device; Acquire a target point of interest according to the geographic coordinates of the electronic device and the grid index; The information of the target point of interest is displayed.

2. The method according to claim 1, characterized in that The acquiring the target point of interest according to the geographic coordinates of the electronic device and the grid index specifically includes: Performing the normalization process on the geographic coordinates of the electronic device to obtain the normalized coordinates of the electronic device; A target point of interest is acquired according to the normalized coordinates of the electronic device and the grid index.

3. The method according to claim 1, characterized in that The first operation includes: Click the user's current location on the map interface; or enter the user's current location; Then, tap on the recommendation icon for the said point of interest.

4. The method according to claim 1, characterized in that Before acquiring the target point of interest according to the geographic coordinates of the electronic device and the grid index, the method further includes: A second operation of the user is received, where the second operation is used to select a recommendation category of the point of interest.

5. The method according to claim 1, characterized in that The displaying of the information of the target point of interest includes: Display the actual distribution location of the target interest point on the map.

6. The method according to claim 1, characterized in that The information of the target point of interest includes at least one of the following: Name, address, contact information, actual distance from the current location of the electronic device, and introduction information.

7. The method according to any one of claims 2 to 6, characterized in that: The acquiring the target point of interest according to the normalized coordinates of the electronic device and the grid index specifically includes: Determining a first geographical grid corresponding to the electronic device according to the normalized coordinates of the electronic device, where the first geographical grid is a geographical grid in the grid index; The point of interest in the first geographic grid is determined in the grid index as the target point of interest, or the point of interest in the first geographic grid and at least one circle of the geographic grids adjacent thereto is determined as the target point of interest.

8. The method according to claim 7, characterized in that The geographic grid corresponds to a longitude range and a latitude range; The determining, according to the normalized coordinates of the electronic device, a first geographical grid corresponding to the electronic device specifically includes: A first geographical grid corresponding to the electronic device is determined according to the longitude range and the latitude range to which the normalized coordinates of the electronic device belong.

9. The method according to claim 8, characterized in that The method further comprises: According to the number of points of interest in the first geographic grid, adjusting the selection range of the geographic grid so that the number of the target points of interest is greater than a first threshold; or According to the number of points of interest in the first geographical grid and at least one circle of the geographical grid adjacent to the first geographical grid, the selection range of the geographical grid is adjusted so that the number of the target points of interest is greater than a first threshold; or, According to the preset number of the target points of interest, adjusting the selection range of the geographic grid so that the number of the target points of interest is greater than a first threshold; or, According to a preset number of the target points of interest, the target points of interest are selected so that the number of the target points of interest is the preset number.

10. The method according to any one of claims 2 to 6, characterized in that: The grid index feedback message is further used to indicate the center point coordinates of the n points of interest and the correction coefficient of the normalization process, the longitude of the center point coordinates is the average longitude of the n geographical coordinates of the points of interest, and the latitude of the center point coordinates is the average latitude of the n geographical coordinates of the points of interest; The performing the normalization processing on the geographic coordinates of the electronic device to obtain the normalized coordinates of the electronic device specifically includes: The normalization process is performed on the geographic coordinates of the electronic device according to the center point coordinates and the correction coefficient of the normalization process.

11. The method according to claim 10, characterized in that The normalizing the geographic coordinates of the electronic device according to the center point coordinates and the correction coefficient of the normalization process specifically includes: Calculating the relative longitude difference and the relative latitude difference between the geographic coordinates of the electronic device and the coordinates of the center point; calculating the normalized longitude of the electronic device according to the correction coefficient and the relative longitude difference; and, The normalized latitude of the electronic device is calculated according to the correction coefficient and the relative latitude difference.

12. The method according to claim 10, characterized in that The normalized function is an inverse cotangent function, and the inverse cotangent function includes: X u =here(D u C1)*2 / PI Y u =atan(W u C2)*2 / PI Among them, X u is the normalized longitude of the electronic device, D u is the relative longitude difference between the electronic device and the center point, C1 is the longitude correction coefficient; Y u is the normalized latitude of the electronic device, W u is the relative latitude difference between the electronic device and the center point, C2 is the latitude correction coefficient; PI is a natural constant.

13. The method according to claim 10, characterized in that The normalized function is a logarithmic function, and the logarithmic function includes: X u =sign(D u )*log a1 (ABS(D u )*C1+1) Y u =sign(W u )*log a2 (ABS(W u )*C2+1) Among them, X u is the normalized longitude of the electronic device, D u is the relative longitude difference between the electronic device and the center point, C1 is the longitude correction coefficient, a1 is the longitude logarithmic base; Y u is the normalized latitude of the electronic device, W u is the relative latitude difference between the electronic device and the center point, C2 is the latitude correction coefficient, and a2 is the logarithmic base of the latitude.

14. A method for recommending points of interest, characterized in that: Applicable to servers, including: Normalizing the geographic coordinates of n points of interest to obtain normalized coordinates of the points of interest, where n is an integer greater than 1, and a function used in the normalization process is a nonlinear function; Dividing the geographic grid based on the normalized coordinates of the points of interest; Establishing a grid index according to the normalized coordinates of the point of interest and the geographic grid, wherein the grid index includes a correspondence between the geographic grids where the normalized coordinates of the n points of interest are located and the n points of interest; A grid index feedback message is sent to the electronic device, where the grid index feedback message includes the grid index.

15. The method according to claim 14, characterized in that The normalizing of the geographic coordinates of the n points of interest specifically includes: Calculate the coordinates of the center point according to the geographic coordinates of the n points of interest, wherein the longitude of the center point coordinates is the average longitude of the geographic coordinates of the n points of interest, and the latitude of the center point coordinates is the average latitude of the geographic coordinates of the n points of interest; Calculating the relative longitude difference and relative latitude difference between each of the interest points and the center point; Calculating the normalized longitude value of the point of interest according to the normalization function, the correction coefficient and the relative longitude difference; and, The normalized latitude of the point of interest is calculated according to the normalization function, the correction coefficient and the relative latitude difference.

16. The method according to claim 14 or 15, characterized in that The grid index feedback message is also used to indicate the center point coordinates of the n points of interest and the correction coefficient of the normalization processing, the longitude of the center point coordinates is the average longitude of the n points of interest geographic coordinates, and the latitude of the center point coordinates is the average latitude of the n points of interest geographic coordinates.

17. The method according to claim 16, characterized in that The normalized function is an inverse cotangent function, and the inverse cotangent function includes: X i =here(D i C1)*2 / PI Y i =atan(W i C2)*2 / PI Among them, X i is the normalized longitude of the i-th point of interest, D i is the relative longitude difference between the i-th point of interest and the center point, C1 is the longitude correction coefficient; Y i is the normalized latitude of the i-th interest point, W i is the relative latitude difference between the i-th point of interest and the center point, C2 is the latitude correction coefficient; i is a positive integer not greater than n, and PI is a natural constant.

18. The method according to claim 16, characterized in that The normalized function is a logarithmic function, and the logarithmic function includes: X i =sign(D i )*loga1(ABS(Di)*C1+1) Y i =sign(W i )*log a2 (ABS(Wi)*C2+1) Among them, X i is the normalized longitude of the i-th point of interest, D i is the relative longitude difference between the i-th point of interest and the center point, C1 is the longitude correction coefficient, a1 is the longitude logarithm base; Y i is the normalized latitude of the i-th interest point, W i is the relative latitude difference between the i-th point of interest and the center point, C2 is the latitude correction coefficient, a2 is the latitude logarithm base; i is a positive integer not greater than n.

19. An electronic device, characterized in that: The electronic device comprises at least one processor, a memory and a communication interface, wherein the communication interface is used to communicate with other devices, and the memory stores computer instructions. When the computer instructions are executed in the processor, the electronic device implements the method for recommending points of interest as described in any one of claims 1 to 13.

20. A server, characterized in that: The electronic device comprises at least one processor, a memory and a communication interface, wherein the communication interface is used to communicate with other devices, and the memory stores computer instructions. When the computer instructions are executed in the processor, the electronic device implements the method for recommending points of interest as described in any one of claims 14 to 18.

21. A system for recommending points of interest, characterized in that: The method comprises at least one electronic device and a server, wherein the electronic device is used to execute the method according to any one of claims 1 to 13, and the server is used to execute the method according to any one of claims 14 to 18.

22. A computer-readable storage medium, characterized in that: Computer instructions are stored, and when the computer instructions are executed, the method according to any one of claims 1 to 18 is implemented.

Citation Information

Patent Citations

  • Method and device for recommending point of interest

    CN106844376A

  • Interest point position mining method and device, computer equipment and storage medium

    CN111475746A