从网络服务器获取latlong值并指向谷歌地图

时间:2017-06-02 06:03:24

标签: java android

     else if(type.equals("abc")){
                try {
                    String dest = strings[1];
                    String imei = strings[2];
                    URL url3 = new URL(url2);

                    HttpURLConnection hp = (HttpURLConnection) url3.openConnection();
                    hp.setRequestMethod("POST");
                    hp.setDoOutput(true);
                    hp.setDoInput(true);
                    OutputStream os= hp.getOutputStream();
                    BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(os,"UTF-8"));
                    String get_data=  URLEncoder.encode("f3","UTF-8")+"="+URLEncoder.encode(imei,"UTF-8")+"&&"+URLEncoder.encode("point_b","UTF-8")+"="+URLEncoder.encode(dest,"UTF-8");
                    bw.write(get_data);
                    bw.flush();
                    bw.close();
                    os.close();
                    InputStream is=hp.getInputStream();
                    BufferedReader br=new BufferedReader(new InputStreamReader(is,"iso-8859-1" ));
                     String result="";
                    String line;
                    while ((line = br.readLine())!=null)
                    {
                        result+=line;

                    }

                    br.close();
                    is.close();
                    hp.disconnect();




                } catch (MalformedURLException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }}

        enter code here
      TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
            String imei = tm.getDeviceId().toString();
            String dest1 = "";
            String type="abc";
            BackgroundWorker backgroundWorker =new BackgroundWorker(this);
            backgroundWorker.execute(type,dest,imei);
    //        Toast.makeText(this,dest1.toString(), Toast.LENGTH_SHORT).show();
            // Add a marker in Sydney and move the camera
    //        LatLng dest = LatLng.parseLatLng(dest1);
    //        dest  = new LatLng(6.9350797,79.8895100)

            mMap.addMarker(new MarkerOptions().position(dest).title("Marker in Sydney"));
            mMap.moveCamera(CameraUpdateFactory.newLatLng(dest));
            mMap.animateCamera(CameraUpdateFactory.zoomTo(11));

从网络服务器获取latlong值并指向Google地图。  这段代码不是来自latlang值而且我不能将该String变量赋值为Latlong值我可以帮我做。

1 个答案:

答案 0 :(得分:0)

尝试使用此方法。

 public ArrayList<Marker> createMarker(ArrayList<MapEvent> mapArrayLis) {
           for (int i = 0; i < mapArrayLis.size(); i++) {
               Double lat = Double.parseDouble(mapArrayLis.get(i).getLatEvent());
               Double lng = Double.parseDouble(mapArrayLis.get(i).getLngEvent());
               if (googleMap != null) {
                   marker = googleMap.addMarker(new MarkerOptions().position(new LatLng(lat, lng)));
                   marker.setTag(i);
                   markerList.add(marker);
               } else {
                   Log.e("Marker", "No map found");
               }
           }
           return markerList;

       }