我用RecyclerView
在LiteMode
中显示了一张地图,直到昨晚,一切都按我的预期进行。我相信我的手机终于得到了新的google play服务7.3
更新,当我今天早上启动我的应用程序时,litemode地图的每个实例都有右下角google maps应用程序的小图标。
在我的recyclerview的onBindViewHolder
中,我试图像这样禁用工具栏
@Override
public void onBindViewHolder(ViewHolder viewHolder, Cursor cursor,int position) {
if(viewHolder.mGoogleMap != null){
viewHolder.mGoogleMap.addMarker(new MarkerOptions().position(incident.getPosition()));
viewHolder.mGoogleMap.getUiSettings().setMapToolbarEnabled(false);
viewHolder.mGoogleMap.getUiSettings().setAllGesturesEnabled(false);
viewHolder.mGoogleMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
@Override
public void onMapClick(LatLng latLng) {
}
});
CameraPosition p = new CameraPosition.Builder()
.target(incident.getPosition()).zoom(15).build();
viewHolder.mGoogleMap.animateCamera(CameraUpdateFactory.newCameraPosition(p));
}
}
在我的视窗里,当地图像这样加载后我试着禁用它
public ViewHolder(View itemView,Context context) {
map = (MapView)v.findViewById(R.id.mapImageView);
if(map != null){
map.onCreate(null);
map.onResume();
map.getMapAsync(this);
}
}
@Override
public void onMapReady(GoogleMap googleMap) {
if(this.context != null) {
MapsInitializer.initialize(this.context);
mGoogleMap = googleMap;
mGoogleMap.getUiSettings().setMapToolbarEnabled(false);
mGoogleMap.getUiSettings().setAllGesturesEnabled(false);
Cursor c = getCursorAtPosition(getAdapterPosition());
if(c != null){
Incident i = new Incident(c);
mGoogleMap.addMarker(new MarkerOptions().position(i.getPosition()));
CameraPosition position = new CameraPosition.Builder()
.target(i.getPosition()).zoom(15).build();
mGoogleMap.animateCamera(CameraUpdateFactory.newCameraPosition(position));
}
}
}
我认为在回收方面我的逻辑没有什么问题,还有什么不好,我该如何禁用工具栏?
编辑
事实上,点击图标甚至不能正常工作,它会打开谷歌地图应用程序,但中心位置是0,0
最佳答案
有人把这个问题提交给谷歌,他们已经接受了,并正在调查它。我建议在google的问题跟踪器上遇到这个问题的每个人都能得到及时的更新,因为对于这个bug似乎没有已知的解决方法。
google play服务的7.3.29版本似乎在地图上引入了一些错误:/
关于android - map 工具栏始终以liteMode显示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29800805/