谷歌地图api 2没有显示标记

时间:2013-10-12 09:14:57

标签: android google-maps google-maps-api-2

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扩展。 有什么想法吗?

2 个答案:

答案 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)));

有关详细信息:How to add a marker on GoogeMapAPIv2

答案 1 :(得分:0)

替换此行

googleMap = ((MapFragment)getActivity().getFragmentManager().findFragmentById(R.id.map))
.getMap();

通过这个

googleMap = ((SupportMapFragment)getFragmentManager().findFragmentById(R.id.map)).getMap();