在Google Map Android应用上设置标记和显示按钮

时间:2015-06-12 14:36:16

标签: android google-maps

我在其中一项活动中开发了一个Android应用程序,我借助以下代码显示了Google地图

 public class MyActivity extends ActionBarActivity {

   @Override
   protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.fragment_map);       
   }
 }

我的片段文件是

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/map"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:name="com.google.android.gms.maps.MapFragment"/>

我的游戏服务版本为7.3.0 这是我的build.gradle文件的一部分:

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.google.android.gms:play-services:7.3.0'

}

问题:我需要在地图上点标记才能在应用程序中渲染地图,我还需要在地图上显示2个简单的按钮。 我应该如何修改我的代码以使其正常工作?

我已经有一些类似的问题,但是我没有找到答案,他们要么选择以不同的方式呈现地图,要么使用其他版本的Google Play服务。所以请提供详细的答案

1 个答案:

答案 0 :(得分:3)

在onCreate(),

中添加标记
 MapFragment mapFragment = (MapFragment) getFragmentManager()
            .findFragmentById(R.id.map);
    mapFragment.getMapAsync(new OnMapReadyCallback() {
        @Override
        public void onMapReady(GoogleMap googleMap) {
             googleMap.addMarker(new MarkerOptions().position(new LatLng(lat, lng)).icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_BLUE)));
        }
    });

要在布局文件中添加按钮,

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/map"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:name="com.google.android.gms.maps.MapFragment"/>

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="left"/>

<Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="right"/>

</FrameLayout>