谷歌地图看起来像一张图片



我的应用程序中有两个谷歌地图,我以相同的方式实现它们。一个在工作,一个在工作。后者看起来像一个图像,我无法与之互动。我可以添加标记并移动相机,但是当我单击标记时,信息窗口不显示,我无法移动它,放大和缩小。它看起来像一个图像,一个预览。

这是代码:

public class MapFragment extends Fragment implements OnMapReadyCallback{
private GoogleMap mMap;
private static Double latitude;
private static Double longitude;
private static String title;
public static MapFragment newInstance(Double mLatitude, Double mLongitude, String mTitle) {
latitude=mLatitude;
longitude=mLongitude;
title=mTitle;
MapFragment fragment = new MapFragment();
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_map, container, false);
SupportMapFragment mapFragment = (SupportMapFragment) getChildFragmentManager()
.findFragmentById(R.id.map_details);
mapFragment.getMapAsync(this);
return view;
}
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
mMap.getUiSettings().setAllGesturesEnabled(true);
mMap.getUiSettings().setMapToolbarEnabled(false);
mMap.addMarker(new MarkerOptions()
.icon(BitmapDescriptorFactory.fromResource(R.drawable.location_icon))
.position(new LatLng(latitude, longitude))
.title(title));
CameraPosition cameraPosition = new CameraPosition.Builder().target(new LatLng(latitude,longitude)).zoom(12f).build();
CameraUpdate cameraUpdate = CameraUpdateFactory.newCameraPosition(cameraPosition);
mMap.moveCamera(cameraUpdate);
}
public interface OnMapFragmentInteractionListener {
void onMapFragmentInteraction(Uri uri);
}
@Override
public void onResume() {
super.onResume();
}
@Override
public void onPause() {
super.onPause();
}
@Override
public void onDestroy() {
super.onDestroy();
}
@Override
public void onLowMemory() {
super.onLowMemory();
}
}

你应该看看XML。有liteMode,当它设置为 true 时,它完全按照您的描述进行操作。

<com.google.android.gms.maps.MapView
android:id="@+id/row_map"
android:layout_width="match_parent"
android:layout_height="match_parent"
map:liteMode="true"
map:mapType="none" />

这里看文档

我只是猜测,但在您发布的代码中,我看到一个错误。为了确保在尝试使用MapFragment时,您必须检查导入的位置。正如我所说,我猜在一个地方它是从谷歌 pacage 导入的,另一个是从你的班级导入的。问题是你在这里发布的MapFragment不是谷歌MapFragment,因为你从简单的Fragment中存在它。为了确保将您自己的MapFragment重命名为CustomMapFragment,并尝试从MapFragment扩展,或者只是使用它而不进行自定义。

相关内容

  • 没有找到相关文章

最新更新