2017-01-24 1 views
0

私のモバイルアプリケーションでルートパスを描きたいと思います。ここで私のようにパスを示すのです。..利用可能な緯度が長いルートパスをアンドロイドで描く方法

private void locationTrackPolyline(String output) { 
    try { 
     JSONObject obj = new JSONObject(output); 
     if (obj.has("snappedPoints")) { 
      mResultOfGoogleRoadMapAPI++; 
      Gson gson = new Gson(); 
      String result = obj.getString("snappedPoints"); 

      Type type = new TypeToken<List<GoogleRoadMap>>(){}.getType(); 
      List<GoogleRoadMap> batchArrayModel = gson.fromJson(result, type); 
      Integer batchListSize = batchArrayModel.size(); 

      ArrayList<LatLng> polylines = new ArrayList<LatLng>(); 

      for (GoogleRoadMap batchObj: batchArrayModel) { 
       LatLng polyline = new LatLng(Double.valueOf(batchObj.getLocation().getLatitude()), 
         Double.valueOf(batchObj.getLocation().getLongitude())); 
       polylines.add(polyline); 

       // TODO : animation data passing is google map 
       addMarkerToMap(polyline); 
      } 

      // Polylines are useful for marking paths and routes on the mMap. 
      LatLng lat = polylines.get(0); 

      Integer getLength = polylines.size(); 
      LatLng endPoints = polylines.get(getLength - 1); 

      mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(lat, 17)); 
      if(mResultOfGoogleRoadMapAPI == 1) { 
       mMap.addMarker(new MarkerOptions() 
         .icon(BitmapDescriptorFactory.fromResource(R.drawable.map_green100)) 
         .title("Start Point") 
         .snippet("The most populous city in Australia.") 
         .position(lat)); 
      } 
      mAnimatedPolyline.addAll(polylines); 
      if(mIterationOfGoogleRoadMapAPI == mResultOfGoogleRoadMapAPI) { 
       mMap.addMarker(new MarkerOptions() 
         .icon(BitmapDescriptorFactory.fromResource(R.drawable.map_red100)) 
         .title("End Point") 
         .position(endPoints)); 

       animator.startAnimation(true); 
      } 
     } 
    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 
} 

をすべてが唯一のルートがここに道路ごとに適切に来ていませんが、私のコードで正常に動作します。..

private void formRoadMapUrl(String tempLatLng) { 
    StringBuilder urlString = new StringBuilder(ServerConnector.GOOGLE_ROAD_MAP_API + tempLatLng); 
    urlString.append("&interpolate=true&key=" + AppConfigurationSetting.GOOGLE_ROAD_MAP_API); 
    requestToServer(urlString); 
} 

ここで私はGoogleに私の緯度、長いを送信しています私はGoogleから取得しています。

+0

コードはどこですか? [MCVE]が必要です。 [Ask]を参照してください。 –

+0

あなたがライン(ルート)を描きたい場合は、Googleマップを使用する必要があります。ポリラインこのリンクを参照してください。https://developers.google.com/android/reference/com/google/android/gms/maps/model/Polyline – IndependentDev

+0

@ T.Heron今私は私のコードを置く私のマップは正常に動作している問題は、適切なパスを示していないだけです。 –

答えて

1
//Please add below code 

LatLng mLatLng = new LatLng(23.2156, 72.6569); 
CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(mLatLng, 10); 
googlemap.animateCamera(cameraUpdate); 


googlemap.addPolyline(new PolylineOptions().add(new LatLng(lat,lng), new LatLng(23.2156, 72.6369)).width(10).color(Color.BLUE).geodesic(true)); 
MarkerOptions markerOptions = new MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.pin)); 
markerOptions.title(“start"); 
googlemap.addMarker(markerOptions.position(new LatLng(23.2156, 72.6569))); 

MarkerOptions markerOptionsDest = new MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.pin)); 
markerOptionsDest.title(“end"); 
googlemap.addMarker(markerOptionsDest.position(new LatLng(23.2156, 72.6369))); 
関連する問題