Как можно установить отступы на линии Poly в Google Map в Android - PullRequest
0 голосов
/ 29 августа 2018

я пытаюсь нарисовать поли линию между два или более местоположения на карте Google но я

нужна поли линия, как показано на рисунке

правильно, но карта может отображаться неправильно первое изображение неверно

второе изображение правильное Как я могу установить поли линии, как правильное изображение

как я могу установить поле или отступ между широтой и линией на карте Google

wrong image correct image

мой код:

    public void mSetUpMap() {

    googleMap.clear();

    if (AppUtil.itinerary != null)
        str = AppUtil.itinerary.getItinerary();
    if (AppUtil.itinerary != null)
        shareUrl = AppUtil.itinerary.getShareUrl();
    Log.e("Ittt", "" + AppUtil.itinerary.getItinerary());
    ((HomeActivity) getActivity()).setTexrViewText(str);
    poiList.clear();
    poiList = AppUtil.itinerary.getPoiList();
    List<Marker> markersList = new ArrayList<>();

    for (POI item : poiList) {
        Marker m1 = googleMap.addMarker(new MarkerOptions().position(new 
   LatLng(item.getLatitude(), item.getLongitude()))
                .title(item.getName()).anchor(0.39f, 0.39f)

 .icon(BitmapDescriptorFactory.fromBitmap(getCustomMarker
 ((R.drawable.m2red), item.getName()))));
  }

    googleMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() 
    {
        @Override
        public boolean onMarkerClick(final Marker marker) {
            ValueAnimator ani = ValueAnimator.ofFloat(0, 1); 
            ani.setDuration(2000);
            ani.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() 
   {
                @Override
                public void onAnimationUpdate(ValueAnimator animation) {
                    marker.setAlpha((float) animation.getAnimatedValue());
                }

            });
            ani.start();

            return true;
        }
    });
    /**create for loop for get the latLngbuilder from the marker list*/
    builder = new LatLngBounds.Builder();
    for (Marker m : markersList) {
        builder.include(m.getPosition());
    }

    int padding = 200;

    LatLngBounds bounds = builder.build();

    cu = CameraUpdateFactory.newLatLngBounds(bounds, padding);

    googleMap.setOnMapLoadedCallback(new GoogleMap.OnMapLoadedCallback() {
        @Override
        public void onMapLoaded() {
            /**set animated zoom camera into map*/
            googleMap.animateCamera(cu);
            PolylineOptions polylineOptions = new PolylineOptions();
            for (POI item : poiList) {
                polylineOptions.add(new LatLng(item.getLatitude(), 
        item.getLongitude()));
            }
            polylineOptions.width(3);
            polylineOptions.getPoints();
            polylineOptions.getPoints();
            polylineOptions.color(getResources().getColor(R.color.red));
            Polyline line = googleMap.addPolyline(polylineOptions);

        }
      });
    }
...