如何使用Android在谷歌地图中的两个位置之间绘制多段线?

如何使用Android在谷歌地图中的两个位置之间绘制多段线?,android,google-maps,android-maps,Android,Google Maps,Android Maps,我尝试在android中的google地图上的两个位置之间绘制多段线,如图所示。我尝试在android中的google地图上的两个位置之间绘制多段线,如图所示。如何绘制 但是我不能画得完美我怎么能画呢 我尝试下面的代码,但它不工作 这是我的代码: public void mSetUpMap() { googleMap.clear(); if (AppUtil.itinerary != null) str = AppUtil.itinerary.getItinerary(); if (

我尝试在android中的google地图上的两个位置之间绘制多段线,如图所示。我尝试在android中的google地图上的两个位置之间绘制多段线,如图所示。如何绘制

但是我不能画得完美我怎么能画呢

我尝试下面的代码,但它不工作

这是我的代码:

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);
     }
   });
 }
public void mSetUpMap(){
googleMap.clear();
if(AppUtil.TINERAY!=null)
str=AppUtil.itinerary.getItinerary();
if(AppUtil.TINERAY!=null)
shareUrl=AppUtil.inventary.getShareUrl();
Log.e(“Ittt”和“+AppUtil.itinerary.getItinerary());
((HomeActivity)getActivity()).setTexrViewText(str);
poiList.clear();
poiList=AppUtil.itinerary.getPoiList();
列表标记列表=新的ArrayList();
用于(POI项目:poiList){
Marker m1=googleMap.addMarker(新的MarkerOptions().position(新的
LatLng(item.getLatitude(),item.getLatitude())
.title(item.getName()).anchor(0.39f,0.39f)
.icon(BitmapDescriptorFactory.fromBitmap(getCustomMarker
((R.drawable.m2red),item.getName());
}
setOnMarkerClickListener(新的googleMap.OnMarkerClickListener()
{
@凌驾
公共布尔onMarkerClick(最终标记){
ValueAnimator ani=ValueAnimator.offload(0,1);
ani.持续时间(2000年);
ani.addUpdateListener(新值animator.AnimatorUpdateListener()
{
@凌驾
动画更新上的公共无效(ValueAnimator动画){
marker.setAlpha((float)animation.getAnimatedValue());
}
});
ani.start();
返回true;
}
});
/**创建for循环,以便从标记列表中获取latLngbuilder*/
builder=new LatLngBounds.builder();
用于(标记m:标记列表){
builder.include(m.getPosition());
}
int padding=200;
LatLngBounds bounds=builder.build();
cu=CameraUpdateFactory.newLatLngBounds(边界、填充);
setOnMapLoadedCallback(新的googleMap.OnMapLoadedCallback(){
@凌驾
加载时的公共无效(){
/**将动画缩放摄影机设置为地图*/
谷歌地图。动画美人鱼(cu);
PolylineOptions PolylineOptions=新的PolylineOptions();
用于(POI项目:poiList){
polylineOptions.add(新板条)(item.getLatitude(),
item.getLongitude());
}
多段线选项。宽度(3);
polylineOptions.getPoints();
polylineOptions.getPoints();
polylineOptions.color(getResources().getColor(R.color.red));
Polyline line=googleMap.addPolyline(Polyline选项);
}
});
}
只需更改此代码:

Marker m1 = googleMap.addMarker(new MarkerOptions().position(new 
LatLng(item.getLatitude(), item.getLongitude()))
        .title(item.getName()).anchor(0.6f, 0.7f)

.anchor()方法是work

您可以发布日志错误吗?我在logcat中没有收到任何错误