android:geo使用intent的位置

时间:2017-02-26 12:36:28

标签: java android android-intent onclick parse-server

我有一个ListView,当我点击一个项目时,它会进入单项视图。在每个单项视图页面中都有一个位置按钮。我需要在点击位置按钮时去谷歌地图

longtitute和latitude像这样保存在数据库中。 我想动态调用它 在列的每个单元格中,数据都是这样存储的,

数据作为对象存储在解析数据库中,而不是字符串

  

{ “LAT”:25.1250241, “LNG”:55.3752069}

任何人都知道请告诉我如何从中获取数据?

           btn = (Button) findViewById(R.id.button5) ;
            btn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {


                    btn = (Button) findViewById(R.id.button56) ;
                    Intent intent = new Intent();
                    intent.setAction(Intent.ACTION_VIEW);
                    String data = String.format("geo:%s,%s", latitude, longitude);

                    intent.setData(Uri.parse(data));
                    startActivity(intent);
                }
            });

2 个答案:

答案 0 :(得分:1)

使用Below方法从String解析数据当我传递字符串时,你需要在下面的方法中传递一个参数。

private void parseJsonData(){
        try {
            String jsonString = "{\"lat\":25.1250241,\"lng\":55.3752069}";
            Object object = new JSONTokener(jsonString).nextValue();
            if (object instanceof JSONObject) {
                JSONObject jsonObject = (JSONObject) object;
                double lat = Double.parseDouble(jsonObject.optString("lat"));
                double lng = Double.parseDouble(jsonObject.optString("lat"));

                Log.i(getClass().getSimpleName(),"lat="+lat);
                Log.i(getClass().getSimpleName(),"lng="+lng);
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }

    }

答案 1 :(得分:0)

终于找到了方法..

  

这是我用来获取坐标

的代码
   showCorporate = (Button) findViewById(R.id.individualEmail);
        showCorporate.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String[] location = corporateLocation.split(",");
                double lat, lng;
                try{
                    lat = fetchDouble(location[0], true);
                    lng = fetchDouble(location[1], false);
                    Log.d("Co-Ordinates",""+lat+", "+lng);
                    Intent intent = new Intent();
                    intent.setAction(Intent.ACTION_VIEW);
                    String data = String.format("geo:%s,%s", lat, lng);
                    intent.setData(Uri.parse(data));
                    startActivity(intent);
                }catch (NullPointerException npe){
                    Toast.makeText(SingleCorporate.this, "Sorry No Location Available!", Toast.LENGTH_SHORT).show();
                }
            }
        });