Google Maps API Android在MapFragment中显示地址地图

时间:2013-05-23 05:39:08

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

我有一个SupportMapFragment

private GoogleMap mMap;
// ...
mMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();

我想加载特定地址的地图。上面的代码,我得到https://developers.google.com/maps/documentation/android/map。 我还看到了这篇文章Google maps API in Android,其中谈到了开始一项活动。我不想这样做但是将它加载到片段中。我该怎么做呢? Google地图的API(http://developer.android.com/reference/com/google/android/gms/maps/GoogleMap.html)也没有任何适当的方法来加载具有特定地址的地图。

2 个答案:

答案 0 :(得分:2)

看一下这段代码,

    public class MainActivity extends Activity {
  static final LatLng HAMBURG = new LatLng(53.558, 9.927);
  static final LatLng KIEL = new LatLng(53.551, 9.993);
  private GoogleMap map;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map))
        .getMap();

    if (map!=null){
      Marker hamburg = map.addMarker(new MarkerOptions().position(HAMBURG)
          .title("Hamburg"));
      Marker kiel = map.addMarker(new MarkerOptions()
          .position(KIEL)
          .title("Kiel")
          .snippet("Kiel is cool")
          .icon(BitmapDescriptorFactory
              .fromResource(R.drawable.ic_launcher)));
    }

  } 

答案 1 :(得分:1)

使用Geocoder获取所需地址的纬度和经度,然后使用该纬度和经度向地图添加标记,并使用followinf语句将相机设置为该点

mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(
            new LatLng(your latitude, your longitude), 11));

http://developer.android.com/reference/android/location/Geocoder.html