【发布时间】:2015-10-26 05:57:38
【问题描述】:
我正在努力让用户在触摸地图时在地图上绘制折线,我不知道哪里出错了,我认为问题出在 onMapTouch 方法上,因为地图显示正常,但当我触摸地图时,它显示“不幸应用程序已停止工作”,您的想法,这里是 logcat:
17319-17319/? E/AndroidRuntime: FATAL EXCEPTION: main 进程:com.example.sarahn.myapplication,PID:17319 java.lang.IllegalArgumentException:标记选项中没有位置 在 com.google.l.a.ce.a(未知来源) 在 com.google.maps.api.android.lib6.d.ft.a(未知来源) 在 com.google.android.gms.maps.internal.l.onTransact(SourceFile:167) 在 android.os.Binder.transact(Binder.java:380) 在 com.google.android.gms.maps.internal.IGoogleMapDelegate$zza$zza.addMarker(未知来源) 在 com.google.android.gms.maps.GoogleMap.addMarker(未知来源) 在 com.example.sarahn.myapplication.MapsActivity.onMapClick(MapsActivity.java:91) 在 com.google.android.gms.maps.GoogleMap$8.onMapClick(未知来源) 在 com.google.android.gms.maps.internal.zzj$zza.onTransact(未知来源) 在 android.os.Binder.transact(Binder.java:380) 在 com.google.android.gms.maps.internal.ar.a(SourceFile:93) 在 com.google.maps.api.android.lib6.gmm6.c.ac.b(未知来源) 在 com.google.maps.api.android.lib6.gmm6.n.bt.d(未知来源) 在 com.google.maps.api.android.lib6.gmm6.n.ak.onSingleTapConfirmed(未知来源) 在 com.google.maps.api.android.lib6.gmm6.h.g.onSingleTapConfirmed(未知来源) 在 com.google.maps.api.android.lib6.gmm6.h.i.handleMessage(未知来源) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:211) 在 android.app.ActivityThread.main(ActivityThread.java:5317) 在 java.lang.reflect.Method.invoke(本机方法) 在 java.lang.reflect.Method.invoke(Method.java:372) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1016) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:811)
public class MapsActivity extends FragmentActivit implementsGoogleMap.OnMapClickListener{
private GoogleMap mMap;
ArrayList<LatLng> arrayList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
setUpMapIfNeeded();
arrayList = new ArrayList<LatLng>();
SupportMapFragment f = (SupportMapFragmen) getSupportFragmentManager().findFragmentById(R.id.map);
mMap= f.getMap();
mMap.setMyLocationEnabled(true);
mMap.setOnMapClickListener(this);
}
@Override
protected void onResume() {
super.onResume();
setUpMapIfNeeded();
}
public void onMapClick(LatLng latLng) {
MarkerOptions markerOptions = new MarkerOptions();
markerOptions.position(latLng);
mMap.addMarker(markerOptions);
PolylineOptions p = new PolylineOptions();
p.color(Color.RED);
p.width(5);
arrayList.add(latLng);
p.addAll(arrayList);
mMap.addPolyline(new PolylineOptions());
mMap.addMarker(new MarkerOptions());
}
【问题讨论】:
-
请在此处发布您的 logcat
标签: android google-maps maps polyline