Google Maps for Android存在问题

时间:2013-03-08 07:07:59

标签: android google-maps android-layout google-api keytool

我正在尝试为Android 2.3.3设置基本的Google Maps应用程序。我尝试在Eclipse,NetBeans和IntelliJ IDEA中进行开发只是为了命名它。失败太多次之后,我又恢复了基础。请帮我解决我的API v1。

目前我的地图显示空白(模拟器和我的真实设备)。这是我的代码(我顺便尝试了每个可能的权限标记):

我使用默认的调试密钥对应用程序进行签名,即使我在发布时签名,我仍然会得到空白的地图。

我想要的只是看到一张真实的地图。 (顺便说一句,我不确定这里的文字格式是否正确,所以简单地说我只是从这里复制了代码1-1 mapview v1 sample

清单

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.example.hellogooglemaps"
          android:versionCode="1"
          android:versionName="1.0">
    <uses-sdk android:minSdkVersion="8"/>

    <application android:label="@string/app_name">
        <uses-library android:name="com.google.android.maps"/>
        <activity android:name="MyActivity"
                  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>

    <uses-permission android:name="android.permission.INTERNET"/>
</manifest> 

活动布局

<com.google.android.maps.MapView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/mapview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:clickable="true"
    android:apiKey="BLA_BLA_BLA_GOT_A_KEY"
/>

活动

    package com.example.hellogooglemaps;

    import android.os.Bundle;
    import com.google.android.maps.MapActivity;
    import com.google.android.maps.MapView;

    public class MyActivity extends MapActivity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

        MapView mapView = (MapView) findViewById(R.id.mapview);
        mapView.setBuiltInZoomControls(true);
    }

    @Override
    protected boolean isRouteDisplayed() {
        return false;
    }
    }

2 个答案:

答案 0 :(得分:0)

如果您使用MD5作为default.keystore。

然后转到Windows&gt; show view&gt;其他&gt;模拟器控件 并从Emulator控件发送单击发送按钮(C纵坐标为十进制)

然后再次运行您的应用程序地图应该显示一些默认的美国位置。

要获取Map in Device,您需要从Application keystore创建MD5,而不是默认密钥库。

感谢。

答案 1 :(得分:0)

Google Map API V1的代码看起来不错。所以你的密钥一定有问题。据我所知,如果它是一个新生成的密钥,那么Google不会为Google Map API V1提供密钥,因此它必须是Google Map API V2的关键,这就是它没有的原因&# 39;工作。

请尝试映射V2, 生成后使用正确的映射键以及以下注意事项:

  
      
  1. 互联网许可。 2。在开发者控制台中打开Android V2的Google地图。 3。例如,在清单中使用适当的标签   下面:
  2.   
$("#GO").children().each(function(){
    $(this).height();
});