IP Library Granted Patent US 10,904,707
Granted Patent B2
US 10,904,707 · App. 16/579,335 · Granted Jan 26, 2021

Location-based service implementing method and apparatus

Inventors: Guanhai Zhong (Shanghai, CN); Hui Li (Shanghai, CN)
Assignee: Advanced New Technologies Co., Ltd.
H04W4/029G06F16/9014H04L29/08H04L67/18H04W4/021H04W4/025
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,904,707
App. No.
16/579,335
Granted
Jan 26, 2021
Kind
B2
Abstract

A request is received for a service from an application of a mobile computing device. A latitude and a longitude of a geographic location associated with the mobile computing device is determined. The geographic location is mapped to a corresponding location on an embedded map associated with the application, where the embedded map is divided into a plurality of level 1 grids. A level 1 grid is determined in which the corresponding location is located. A granularity corresponding to a geographic distance is determined. The granularity is converted into a corresponding step size on the embedded map. The level 1 grid is divided into a plurality of level 2 grids based on the corresponding step size.

Claims (75)

1. A location-based service implementing method, wherein the method comprises:

determining, based on a requesting location in a service request, a level-1 region that the service request belongs to, wherein the level-1 region is one of a first plurality of level-1 regions into which an area is divided based on a predetermined size in longitude and latitude;

dividing the level-1 region into a second plurality of level-2 regions based on predetermined granularity, wherein the predetermined granularity is set to a predetermined geographical distance, and wherein the second plurality of level-2 regions are of a same size;

determining, based on the requesting location, a level-2 region that the service request belongs to;

determining a third plurality of adjacent level-2 regions that are adjacent to the level-2 region that the service request belongs to; and

responding to the service request based on location information of all service objects in the level-2 region that the service request belongs to and on location information of all service objects in the third plurality of adjacent level-2 regions.

2. The method according to claim 1 , wherein the dividing the level-1 region into a second plurality of level-2 regions based on predetermined granularity comprises:

determining a reference location in the level-1 region in units of longitude and latitude, wherein the reference location is a corner of the level-1 region;

determining an offset location that results from shifting the reference location of the level-1 region in directions of longitude and latitude into an interior of the level-1 region by a same granularity, and obtaining offset coordinate information in units of longitude and latitude of the offset location;

calculating a change value between reference coordinate information of the reference location and the offset coordinate information, wherein the change value is a difference between latitude and longitude coordinate values of the reference location and latitude and longitude coordinate values of the offset coordinate information;

determining a size of the level-2 region based on the change value; and

dividing, based on the size of the level-2 region, the level-1 region that the service request belongs to into the second plurality of level-2 regions.

3. The method according to claim 1 , wherein a sum of each size of the level-2 region obtained through division is equal to a size of the level-1 region.

4. The method according to claim 2 , wherein calculating the change value between the reference coordinate information of the reference location and the offset coordinate information comprises:

calculating a longitude difference x between the reference location and the offset location, and

calculating a latitude difference y between the reference location and the offset location;

and wherein determining a size of the level-2 region comprises determining a length of the level-2 region to be equal to x and a width of the level-2 region to be equal to y.

5. The method according to claim 2 , wherein the determining a reference location in the level-1 region comprises:

when the level-1 region is in a northern hemisphere, determining a northeast corner or a northwest corner of the level-1 region as the reference location; or

when the level-1 region is in a southern hemisphere, determining a southeast corner or a southwest corner of the level-1 region as the reference location.

6. The method according to claim 1 , wherein the responding to the service request based on location information of all service objects in the level-2 region that the service request belongs to and an adjacent level-2 region comprises:

obtaining the location information of all the service objects in the level-2 region that the service request belongs to and the location information of all service objects in the third plurality of adjacent level-2 regions;

calculating a distance between each service object and the requesting location based on the location information of the service object; and

pushing a service object with a distance satisfying a predetermined condition as a response to the service request.

7. A non-transitory, computer-readable medium storing one or more instructions executable by a computer system to perform operations comprising:

determining, based on a requesting location in a service request, a level-1 region that the service request belongs to, wherein the level-1 region is one of a first plurality of level-1 regions into which an area is divided based on a predetermined size in longitude and latitude;

dividing the level-1 region into a second plurality of level-2 regions based on predetermined granularity, wherein the predetermined granularity is set to a predetermined geographical distance, and wherein the second plurality of level-2 regions are of a same size;

determining, based on the requesting location, a level-2 region that the service request belongs to;

determining a third plurality of adjacent level-2 regions that are adjacent to the level-2 region that the service request belongs to; and

responding to the service request based on location information of all service objects in the level-2 region that the service request belongs to and on location information of all service objects in the third plurality of adjacent level-2 regions.

8. The non-transitory, computer-readable medium according to claim 7 , wherein the dividing the level-1 region into a second plurality of level-2 regions based on predetermined granularity comprises:

determining a reference location in the level-1 region in units of longitude and latitude, wherein the reference location is a corner of the level-1 region;

determining an offset location that results from shifting the reference location of the level-1 region in directions of longitude and latitude into an interior of the level-1 region by a same granularity, and obtaining offset coordinate information in units of longitude and latitude of the offset location;

calculating a change value between reference coordinate information of the reference location and the offset coordinate information, wherein the change value is a difference between latitude and longitude coordinate values of the reference location and latitude and longitude coordinate values of the offset coordinate information;

determining a size of the level-2 region based on the change value; and

dividing, based on the size of the level-2 region, the level-1 region that the service request belongs to into the second plurality of level-2 regions.

9. The non-transitory, computer-readable medium according to claim 7 , wherein a sum of each size of the level-2 region obtained through division is equal to a size of the level-1 region.

10. The non-transitory, computer-readable medium according to claim 8 , wherein calculating the change value between the reference coordinate information of the reference location and the offset coordinate information comprises:

calculating a longitude difference x between the reference location and the offset location, and

calculating a latitude difference y between the reference location and the offset location;

and wherein determining a size of the level-2 region comprises determining a length of the level-2 region to be equal to x and a width of the level-2 region to be equal to y.

11. The non-transitory, computer-readable medium according to claim 8 , wherein the determining a reference location in the level-1 region comprises:

when the level-1 region is in a northern hemisphere, determining a northeast corner or a northwest corner of the level-1 region as the reference location; or

when the level-1 region is in a southern hemisphere, determining a southeast corner or a southwest corner of the level-1 region as the reference location.

12. The non-transitory, computer-readable medium according to claim 7 , wherein the responding to the service request based on location information of all service objects in the level-2 region that the service request belongs to and an adjacent level-2 region comprises:

obtaining the location information of all the service objects in the level-2 region that the service request belongs to and the location information of all service objects in the third plurality of adjacent level-2 regions;

calculating a distance between each service object and the requesting location based on the location information of the service object; and

pushing a service object with a distance satisfying a predetermined condition as a response to the service request.

13. A computer-implemented system, comprising:

one or more computers; and

one or more computer memory devices interoperably coupled with the one or more computers and having tangible, non-transitory, machine-readable media storing one or more instructions that, when executed by the one or more computers, perform one or more operations comprising:

determining, based on a requesting location in a service request, a level-1 region that the service request belongs to, wherein the level-1 region is one of a first plurality of level-1 regions into which an area is divided based on a predetermined size in longitude and latitude;

dividing the level-1 region into a second plurality of level-2 regions based on a predetermined granularity, wherein the predetermined granularity is set to a predetermined geographical distance, and wherein the second plurality of level-2 regions are of a same size;

determining, based on the requesting location, a level-2 region that the service request belongs to;

determining a third plurality of adjacent level-2 regions that are adjacent to the level-2 region that the service request belongs to; and

responding to the service request based on location information of all service objects in the level-2 region that the service request belongs to and on location information of all service objects in the third plurality of adjacent level-2 regions.

14. The computer-implemented system according to claim 13 , wherein the dividing the level-1 region into a second plurality of level-2 regions based on predetermined granularity comprises:

determining a reference location in the level-1 region in units of longitude and latitude, wherein the reference location is a corner of the level-1 region;

determining an offset location that results from shifting the reference location of the level-1 region in directions of longitude and latitude into an interior of the level-1 region by a same granularity, and obtaining offset coordinate information in units of longitude and latitude of the offset location;

calculating a change value between reference coordinate information of the reference location and the offset coordinate information, wherein the change value is a difference between latitude and longitude coordinate values of the reference location and latitude and longitude coordinate values of the offset coordinate information;

determining a size of the level-2 region based on the change value; and

dividing, based on the size of the level-2 region, the level-1 region that the service request belongs to into the second plurality of level-2 regions.

15. The computer-implemented system according to claim 13 , wherein a sum of each size of the level-2 region obtained through division is equal to a size of the level-1 region.

16. The computer-implemented system according to claim 14 , wherein calculating the change value between the reference coordinate information of the reference location and the offset coordinate information comprises:

calculating a longitude difference x between the reference location and the offset location, and

calculating a latitude difference y between the reference location and the offset location;

and wherein determining a size of the level-2 region comprises determining a length of the level-2 region to be equal to x and a width of the level-2 region to be equal to y.

17. The computer-implemented system according to claim 14 , wherein the determining a reference location in the level-1 region comprises:

when the level-1 region is in a northern hemisphere, determining a northeast corner or a northwest corner of the level-1 region as the reference location; or

when the level-1 region is in a southern hemisphere, determining a southeast corner or a southwest corner of the level-1 region as the reference location.

18. The computer-implemented system according to claim 13 , wherein the responding to the service request based on location information of all service objects in the level-2 region that the service request belongs to and an adjacent level-2 region comprises:

obtaining the location information of all the service objects in the level-2 region that the service request belongs to and the location information of all service objects in the third plurality of adjacent level-2 regions;

calculating a distance between each service object and the requesting location based on the location information of the service object; and

pushing a service object with a distance satisfying a predetermined condition as a response to the service request.

19. The method according to claim 1 , wherein a number of level-2 regions in the third plurality of adjacent level-2 regions is eight.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2020
From: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
To: ADVANCED NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053754/0625 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2020
From: ALIBABA GROUP HOLDING LIMITED
To: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053743/0464 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2019
From: ZHONG, GUANHAI; LI, HUI
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 051090/0354 →