Google地图未显示标记。 这是我用于添加标记
的代码段googleMap = ((MapFragment) getActivity().getFragmentManager().findFragmentById(R.id.map)).getMap();
// check if map is created successfully or not
if (googleMap == null) {
return ;
}
try {
googleMap.addMarker(new MarkerOptions()
.position(new LatLng(0, 0))
.icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_launcher)));
} catch (Exception e) {
Toast.makeText(getActivity(), e.toString(), Toast.LENGTH_LONG).show();
}
这是我的xml布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white"
android:orientation="vertical" >
<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="300dp"
android:layout_height="300dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" />
</RelativeLayout>
看起来一切都很好,地图及其在实际屏幕中显示。请注意,我在片段(支持lib)中使用此片段,而不是从MapFragment扩展。 有什么想法吗?
答案 0 :(得分:0)
更改您的LatLng并将地图上的缩放设置为该地点,看看是否在那里显示... 例如:
map.moveCamera(CameraUpdateFactory.newLatLngZoom(
new LatLng(44.797283, 20.460663), 12))
map.addMarker(new MarkerOptions()
.position(new LatLng(44.797283, 20.460663))
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE)));
答案 1 :(得分:0)
替换此行
googleMap = ((MapFragment)getActivity().getFragmentManager().findFragmentById(R.id.map))
.getMap();
通过这个
googleMap = ((SupportMapFragment)getFragmentManager().findFragmentById(R.id.map)).getMap();