MapView 和 ViewPager:不能使用 BitmapDescriptorFactory
MapView and ViewPager : cannot use BitmapDescriptorFactory
事情是这样的:我在 ViewPager 中使用我的 MapView。一切正常,我已经转发了生命周期,等等......
但是我无法注册和创建 BitmapDescriptor 因为 BitmapDescriptorFactory 抛出了这个:
java.lang.IllegalAccessError: Method 'void com.google.android.gms.maps.model.BitmapDescriptorFactory.<init>()' is inaccessible to class 'fr.defvs.gtfs.MainActivity$MapFrag'
这是我的 GoogleMap 的 OnLongClick 侦听器:
gMap.setOnMapLongClickListener(new GoogleMap.OnMapLongClickListener(){
@Override
public void onMapLongClick(LatLng p1)
{
lat.setText("Lat : " + String.valueOf(p1.latitude));
lon.setText("Lon : " + String.valueOf(p1.longitude));
selectedLatLng = p1;
MapsInitializer.initialize(getContext());
addLocation(p1);
gpsButton.setChecked(false);
gpsMode = false;
}
});
还有我的 addLocation 方法:
public void addLocation(LatLng latlng)
{
gMap.addMarker(new MarkerOptions().position(latlng)
.flat(true).icon(new BitmapDescriptorFactory().fromResource(R.drawable.loc)));
}
执行该方法时,我得到的只是那个令人讨厌的错误...
谢谢 ;)
BitmapDescriptorFactory 有一个私有构造函数,因此您不能创建它的实例。
相反,它的所有方法都是静态的,因此您不需要实例。
BitmapDescriptorFactory.fromResource(R.drawable.loc)
查看 javadoc and source code 页。
我很惊讶你没有收到编译时错误。您不使用带有代码分析的 IDE 吗?
事情是这样的:我在 ViewPager 中使用我的 MapView。一切正常,我已经转发了生命周期,等等...... 但是我无法注册和创建 BitmapDescriptor 因为 BitmapDescriptorFactory 抛出了这个:
java.lang.IllegalAccessError: Method 'void com.google.android.gms.maps.model.BitmapDescriptorFactory.<init>()' is inaccessible to class 'fr.defvs.gtfs.MainActivity$MapFrag'
这是我的 GoogleMap 的 OnLongClick 侦听器:
gMap.setOnMapLongClickListener(new GoogleMap.OnMapLongClickListener(){
@Override
public void onMapLongClick(LatLng p1)
{
lat.setText("Lat : " + String.valueOf(p1.latitude));
lon.setText("Lon : " + String.valueOf(p1.longitude));
selectedLatLng = p1;
MapsInitializer.initialize(getContext());
addLocation(p1);
gpsButton.setChecked(false);
gpsMode = false;
}
});
还有我的 addLocation 方法:
public void addLocation(LatLng latlng)
{
gMap.addMarker(new MarkerOptions().position(latlng)
.flat(true).icon(new BitmapDescriptorFactory().fromResource(R.drawable.loc)));
}
执行该方法时,我得到的只是那个令人讨厌的错误... 谢谢 ;)
BitmapDescriptorFactory 有一个私有构造函数,因此您不能创建它的实例。
相反,它的所有方法都是静态的,因此您不需要实例。
BitmapDescriptorFactory.fromResource(R.drawable.loc)
查看 javadoc and source code 页。
我很惊讶你没有收到编译时错误。您不使用带有代码分析的 IDE 吗?