如何使用Android在谷歌地图中的两个位置之间绘制多段线?
我尝试在android中的google地图上的两个位置之间绘制多段线,如图所示。我尝试在android中的google地图上的两个位置之间绘制多段线,如图所示。如何绘制 但是我不能画得完美我怎么能画呢 我尝试下面的代码,但它不工作 这是我的代码:如何使用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 (
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中没有收到任何错误