• 大小: 2.04M
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-01-22
  • 语言: Java
  • 标签: GeoHash  

资源简介

传统数据库索引

存储用户登入字段主要包括 userId,lat,lng。分别代表用户 ID、最近一次 check-in 的经度、纬度。
lat/lng 建立复合索引。

然后通过手机的定位,得到自己的位置,比如记为 myLat,myLng。
代码如下,先做一个计算,算出 1km 所对应的经纬度范围:
double range = 180 / Math.PI * 1 / 6372.797; //里面的 1 就代表搜索 1km 之内,单位km
double lngR = range / Math.cos(myLat * Math.PI / 180.0);
double maxLat = myLat range;
double minLat = myLat - range;
double maxLng = myLng lngR;
double minLng = myLng - lngR;

然后执行 SQL :
SELECT xxxx FROM checkinTable WHERE ((lat BETWEEN ? AND ?) AND (lng BETWEEN ? AND ?)) LIMIT 100
这四个问号,分别代入变量
minLat、maxLat、minLng、maxLng

然后就可以查询得到结果
但是,这样得到的结果不是有序的。
如果要排序,在程序代码(比如 app 客户端)执行。
不建议在 SQL 层上执行,因为上述的那个 SQL 是可以用到索引进行查询的,一旦引入排序后,索引就无法发挥作用,从而会影响效率。

资源截图

代码片段和文件信息

package com.andieguoe.locationdemo;

import java.util.Iterator;

import android.app.Activity;
import android.location.GpsSatellite;
import android.location.GpsStatus;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;

public class GpsActivity extends Activity {
private LocationManager locationManager;
private GpsStatus gpsstatus;
private static final String TAG = “GpsActivity“;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.gps);

// 获取到LocationManager对象
locationManager = (LocationManager) getSystemService(LOCATION_SERVIC

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2014-10-22 15:13  nearbydemo-master\
     文件         474  2014-10-22 15:13  nearbydemo-master\.gitignore
     文件         648  2014-10-22 15:13  nearbydemo-master\GETDISTANCE.sql
     文件       11515  2014-10-22 15:13  nearbydemo-master\LICENSE
     目录           0  2014-10-22 15:13  nearbydemo-master\LocationDemo\
     文件         356  2014-10-22 15:13  nearbydemo-master\LocationDemo\.classpath
     文件         815  2014-10-22 15:13  nearbydemo-master\LocationDemo\.project
     目录           0  2014-10-22 15:13  nearbydemo-master\LocationDemo\.settings\
     文件         173  2014-10-22 15:13  nearbydemo-master\LocationDemo\.settings\org.eclipse.jdt.core.prefs
     文件        1359  2014-10-22 15:13  nearbydemo-master\LocationDemo\AndroidManifest.xml
     文件       51394  2014-10-22 15:13  nearbydemo-master\LocationDemo\ic_launcher-web.png
     文件         781  2014-10-22 15:13  nearbydemo-master\LocationDemo\proguard-project.txt
     文件         563  2014-10-22 15:13  nearbydemo-master\LocationDemo\project.properties
     目录           0  2014-10-22 15:13  nearbydemo-master\LocationDemo\res\
     目录           0  2014-10-22 15:13  nearbydemo-master\LocationDemo\res\drawable-hdpi\
     文件        7658  2014-10-22 15:13  nearbydemo-master\LocationDemo\res\drawable-hdpi\ic_launcher.png
     目录           0  2014-10-22 15:13  nearbydemo-master\LocationDemo\res\drawable-mdpi\
     文件        3777  2014-10-22 15:13  nearbydemo-master\LocationDemo\res\drawable-mdpi\ic_launcher.png
     目录           0  2014-10-22 15:13  nearbydemo-master\LocationDemo\res\drawable-xhdpi\
     文件       12516  2014-10-22 15:13  nearbydemo-master\LocationDemo\res\drawable-xhdpi\ic_launcher.png
     目录           0  2014-10-22 15:13  nearbydemo-master\LocationDemo\res\drawable-xxhdpi\
     文件       24777  2014-10-22 15:13  nearbydemo-master\LocationDemo\res\drawable-xxhdpi\ic_launcher.png
     目录           0  2014-10-22 15:13  nearbydemo-master\LocationDemo\res\layout\
     文件         618  2014-10-22 15:13  nearbydemo-master\LocationDemo\res\layout\gps.xml
     文件        1218  2014-10-22 15:13  nearbydemo-master\LocationDemo\res\layout\main.xml
     文件         621  2014-10-22 15:13  nearbydemo-master\LocationDemo\res\layout\network.xml
     文件         621  2014-10-22 15:13  nearbydemo-master\LocationDemo\res\layout\telepony.xml
     目录           0  2014-10-22 15:13  nearbydemo-master\LocationDemo\res\menu\
     文件         253  2014-10-22 15:13  nearbydemo-master\LocationDemo\res\menu\main.xml
     目录           0  2014-10-22 15:13  nearbydemo-master\LocationDemo\res\values-sw600dp\
     文件         195  2014-10-22 15:13  nearbydemo-master\LocationDemo\res\values-sw600dp\dimens.xml
............此处省略186个文件信息

评论

共有 条评论