package com.amapv2.cn.apis; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentTransaction; import android.view.Menu; import android.view.MenuItem; import com.amap.api.maps.AMap; import com.amap.api.maps.SupportMapFragment; import com.amap.api.maps.model.BitmapDescriptorFactory; import com.amap.api.maps.model.LatLng; import com.amap.api.maps.model.MarkerOptions; /** * 通过Java代码添加一个AMap对象 */ public class ProgrammaticDemoActivity extends FragmentActivity { private static final String MAP_FRAGMENT_TAG = "map"; private AMap aMap; private SupportMapFragment mMapFragment; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); init(); } /** * 初始化AMap对象 */ private void init() { mMapFragment = (SupportMapFragment) getSupportFragmentManager() .findFragmentByTag(MAP_FRAGMENT_TAG); if (mMapFragment == null) { mMapFragment = SupportMapFragment.newInstance(); FragmentTransaction fragmentTransaction = getSupportFragmentManager() .beginTransaction(); fragmentTransaction.add(android.R.id.content, mMapFragment, MAP_FRAGMENT_TAG); fragmentTransaction.commit(); } } private void initMap() { if (aMap == null) { aMap = mMapFragment.getMap(); aMap.addMarker(new MarkerOptions() .position(new LatLng(39.990770, 116.472220)) .title("Marker").snippet("方恒国际中心大楼") .icon(BitmapDescriptorFactory.defaultMarker())); } } @Override public boolean onCreateOptionsMenu(Menu menu) { menu.add(0, 1, 1, "添加地图"); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == 1) { initMap(); } return super.onOptionsItemSelected(item); } }