【问题标题】:Google Map does not display in Android -not display map except boxes and zooming button谷歌地图不显示在 Android 中 - 不显示地图,除了框和缩放按钮
【发布时间】:2013-08-16 11:26:48
【问题描述】:

我使用 google maps api 开发了一个 android 应用程序。我创建并使用了一个 api 密钥,但地图没有按预期显示/可见。灰色标题和缩放按钮显示/可见。

我关注了这个Link

我的申请是未签名的申请。

此地图文件位置(包)在 com.xont.hema6.controller.sale 中可用,但主包是 com.xont.hema6.controller 。需要为 key 指定哪一个?

我的代码是:

   public class RetailerMapActivity extends FragmentActivity{
GoogleMap map;
ArrayList<LatLng> markerPoints;

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    markerPoints = new ArrayList<LatLng>();
    SupportMapFragment fm = (SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map);
    map = fm.getMap();

}

这是我的 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"
tools:context=".sale.RetailerMapActivity" >   

<fragment 
    android:id="@+id/map"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"        
    class="com.google.android.gms.maps.SupportMapFragment" />   

AndroidMainfest 文件权限

<uses-feature android:glEsVersion="0x00020000" android:required="true"/>
<permission  android:name="com.xont.hema6.controller.sale.permission.MAPS_RECEIVE"  android:protectionLevel="signature" />
<uses-permission android:name="com.xont.hema6.controller.sale.permission.MAPS_RECEIVE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.INTERNET" />
 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_GPS"></uses-permission>
  <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

内部应用

<meta-data android:name="com.google.android.maps.v2.API_KEY"    android:value="AIza**CD3c**JoP27sH_EsGTR7ul***w_G3pS7o"/>

http://wptrafficanalyzer.in/blog/drawing-driving-route-directions-between-two-locations-using-google-directions-in-google-map-android-api-v2/

请任何人指出我的代码有什么问题。

【问题讨论】:

  • 你用签名或未签名的apk在真机测试?
  • Google map v2 无法在模拟器中显示,请使用物理设备尝试...
  • 我在 Galaxy tab 2 7.0 设备上试过。不显示地图。标题和缩放按钮可用
  • 未签名的应用程序。
  • 你的应用在谷歌控制台中的包是正确的吗?

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


【解决方案1】:

可能是你的问题是你正在使用

1)Wrong Package name
or
2)Wrong SHA1
or
3)Wrong API V2 key

转到你的清单文件,看看你的包名就是你的包名。

1) Goto command prompt and type this command

    keytool -list -v -keystore "C:\Documents and
    Settings\<your_user_name>\.android\debug.keystore" -alias androiddebugkey -
    storepass android -keypass android

Get your SHA1 key

2) Goto Google API console switch on Google Maps API V2 and create new Android key.

Give your_SHA1key;your_packagename

3)Take API V2 key paste into your manifest file and run 

【讨论】:

    【解决方案2】:

    转到您的清单文件,通过使用此包名查看您的包名,您必须创建 Google Maps API V2 密钥并使用

    例如:

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.venky.loadgooglemapsdemo"
        android:versionCode="1"
        android:versionName="1.0" >
    

    我的包名是“com.venky.loadgooglemapsdemo”

    如果你想要教程和演示,请看这个link

    【讨论】:

    • 我按照你的链接做了。仍然只显示灰色瓷砖框和缩放图标。请提供任何建议
    • 导入我的演示项目并使用“com.venky.maps”这个包名,您创建 Google Maps API V2 密钥并将粘贴复制到 manifest.xml 文件中并运行。它成功了。你有一个想法。
    • 感谢它的工作。卸载我的应用并重新安装,现在可以了。
    猜你喜欢
    • 2012-06-25
    • 2013-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多