文章标签 ‘GPS’
20125 月16

SQL语句:查询1公里范围内经纬度数据

查询1公里范围内的经纬度数据:

select 6371.012 *
       acos(cos(acos(-1) / 180 * d.LATITUDE) *
            cos(acos(-1) / 180 * 31.885972440801) *
            cos(acos(-1) / 180 * d.LONGITUDE - acos(-1) / 180 * 117.30923429642) +
            sin(acos(-1) / 180 * d.LATITUDE) *
            sin(acos(-1) / 180 * 31.885972440801))*1 as a,
       id,name 
  from loc_data d
 where 6371.012 *
       acos(cos(acos(-1) / 180 * d.LATITUDE) *
            cos(acos(-1) / 180 * 31.885972440801) *
            cos(acos(-1) / 180 * d.LONGITUDE - acos(-1) / 180 * 117.30923429642) +
            sin(acos(-1) / 180 * d.LATITUDE) *
            sin(acos(-1) / 180 * 31.885972440801))*1 < 1 order by a asc
20118 月31

百度地图API:GPS经纬度转换整合版


    
    
    
    


document.getElementById("container").style.height = document.body.clientHeight+18; var map = new BMap.Map("container"); map.centerAndZoom("兰州", 5); map.addControl(new BMap.NavigationControl()); map.enableScrollWheelZoom();//启动鼠标滚轮缩放地图 map.addEventListener('load',function(){ //增加一个标注点 //doaddpoint('/img/private/images/icon_home1.png', '', '', '', '', '', '', '','','#ff0000',''); }); //新增一个点时处理方法 function doaddpoint(img, name, dz, id, jd, wd, dh, lxr,sm,color,type) { var sContent ="
人员姓名:" + lxr + "
手机号码:" + dh + "
定位时间:" + sm + "
上传地址:" + dz + "
定位方式:" + type + "
"; var gpsPoint = new BMap.Point(jd,wd); translateOptions = function (point){ var marker = new BMap.Marker(point); var infoWindow = new BMap.InfoWindow(sContent); // 创建信息窗口对象 map.addOverlay(marker); marker.addEventListener("click", function(){ this.openInfoWindow(infoWindow); }); marker.setLabel(new BMap.Label("" + lxr +"",{offset:new BMap.Size(20,0)})); } BMap.Convertor.translate(gpsPoint,0,translateOptions); }
201011 月16

Android 2.1 GPS定位和拍照功能代码

1、GPS功能代码

private void getLocation()
    {
        LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
        locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
                 200, 0, locationListener);

    }
    private final LocationListener locationListener = new LocationListener() {
        public void onLocationChanged(Location location) { //当坐标改变时触发此函数,如果Provider传进相同的坐标,它就不会被触发
            // log it when the location changes
            if (location != null) {
                Lat.setText(String.valueOf(location.getLatitude()));
                Lon.setText(String.valueOf(location.getLongitude()));

            }
        }

        public void onProviderDisabled(String provider) {
        // Provider被disable时触发此函数,比如GPS被关闭
        }

        public void onProviderEnabled(String provider) {
        //  Provider被enable时触发此函数,比如GPS被打开
        }

        public void onStatusChanged(String provider, int status, Bundle extras) {
        // Provider的转态在可用、暂时不可用和无服务三个状态直接切换时触发此函数
        }
    };

2、拍照功能代码

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
     // Hide the window title.
        requestWindowFeature(Window.FEATURE_NO_TITLE);

        setContentView(R.layout.main);
        imageView = (ImageView) this.findViewById(R.id.iv1);
        Button button = (Button) this.findViewById(R.id.bt1);
        button.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
                intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri
                        .fromFile(new File(Environment
                                .getExternalStorageDirectory(), "temp.jpg")));
                intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0);
                startActivityForResult(intent, 0);
            }
        });

    }
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == 0 && resultCode == Activity.RESULT_OK) {
            this.imageView.setImageDrawable(Drawable.createFromPath(new File(
                    Environment.getExternalStorageDirectory(), "temp.jpg")
                    .getAbsolutePath()));

        }
    }

3、退出程序确认

public boolean onKeyDown(int keyCode, KeyEvent event) {

        //按下键盘上返回按钮
        if(keyCode == KeyEvent.KEYCODE_BACK){
            new AlertDialog.Builder(Main.this)
            // Main.this视情况而定,这个一般是指当前显示的Activity对应的XML视窗。
            .setTitle("")// 设置对话框的标题
            .setMessage(" 确定退出? ")// 设置对话框的内容
            .setPositiveButton("确定",// 设置对话框的确认按钮
                new DialogInterface.OnClickListener() {// 设置确认按钮的事件
                    public void onClick(DialogInterface dialog, int which) {
                        //退出程序
                        android.os.Process.killProcess(android.os.Process.myPid());
                }})
            .setNegativeButton("取消",// 设置对话框的取消按钮
                new DialogInterface.OnClickListener() {// 设置取消按钮的事件
                    public void onClick(DialogInterface dialog, int which) {
                        // 如果你什么操作都不做,可以选择不写入任何代码
                        dialog.cancel();
                }}
            ).show();

            return true;
        }else{      
            return super.onKeyDown(keyCode, event);
        }
    }
201011 月15

WM6.1 手机采购订单及GPS定位系统开发完成

某集团移动数据采集系统(采购、质检)开发告一段落,主要功能有客户拜访、收发货、质检单等数据上报,和ERP系统的接口,工作汇报等功能,有后台自动运行的每小时上传一次的GPS定位功能。

采购员可能到达全国各地,许多地方没有电脑上网条件,用移动终端智能手机系统能很好的解决此问题。

目前软件已在使用,不过在使用过程中也发现一些问题,如由于移动网络信号的问题,会出现网络传输中断不能上传的情况,此时就需要有本地保存批量上传功能;GPS定位的问题很怪,几个采购员出去,到目前为止仅有一个人能定位到,同样的程序其他人却不能定位,很奇怪……