带缩放按钮的空白地图(Google Maps API V2)

时间:2014-01-25 19:34:54

标签: android eclipse google-maps

注意 - 我用一把细齿梳子经过这个网站,无法找到帮助我的答案。但是,无论出于什么原因,这似乎是一个普遍的问题。

我是Java的老师,我现在正在自学。我正在努力实现GeoFencing,但显然需要首先了解如何在我的应用中包含地图。我已经尝试了很多东西,但我无法显示一个可用的地图,而是我得到一张地图应该去的空白轮廓,然后是一些缩放按钮和一个谷歌徽标。谁能指出我做错了什么?

记录:

  • 我正在测试股票Galaxy S3 i9300 - 4.3
  • 包含Google Play服务库
  • 包含android.support.v4.jar
  • 尝试了两种不同的API密钥
  • 尝试了多个“项目构建目标”(Android和Google的目标_

然而,我正在使用从degug.keystore生成的API密钥。这会导致问题。

提前致谢:)

清单:

`     

<uses-sdk
    android:minSdkVersion="17"
    android:targetSdkVersion="18" />


<permission 
    android:name="com.example.geofence1.permission.MAPS_RECEIVE"
    android:protectionLevel="signature"/>
<uses-permission android:name="com.example.geofence1.permission.MAPS_RECEIVE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
 <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>

<!-- The following two permissions are not required to use
 Google Maps Android API v2, but are recommended. -->

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

<uses-feature
    android:glEsVersion="0x00020000"
    android:required="true"/>

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >

    <meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version"
        />

    <meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="AIzaSyB81f5fwV0MPK9ZA6Y-ESt2Rq_0T76xF7I"/>

    <activity
        android:name="com.example.geofence1.MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

</manifest>`

Main_Activity.java:

package com.example.geofence1;

    import android.os.Bundle;
    import android.support.v4.app.FragmentActivity;
    import android.view.Menu;
    import android.widget.Toast;
    import com.google.android.gms.maps.GoogleMap;
    import com.google.android.gms.maps.MapFragment;

    public class MainActivity extends FragmentActivity {

    // Google Map
    private GoogleMap googleMap;

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

        try {
            // Loading map
            initilizeMap();

        } catch (Exception e) {
            e.printStackTrace();
        }

    }

    /**
     * function to load map. If map is not created it will create it for you
     * */
    private void initilizeMap() {
        if (googleMap == null) {
            googleMap = ((MapFragment) getFragmentManager().findFragmentById(
                    R.id.map)).getMap();

            // check if map is created successfully or not
            if (googleMap == null) {
                Toast.makeText(getApplicationContext(),
                        "Sorry! unable to create maps", Toast.LENGTH_SHORT)
                        .show();
            }
        }
    }

    @Override
    protected void onResume() {
        super.onResume();
        initilizeMap();
    }





    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
       }

activity_main.xml中:

     <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >


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


        </RelativeLayout>

0 个答案:

没有答案