2013-11-21 18 views
1

我可以放大和放大,也可以放置图标标记,但问题在于地图没有出现,我只能看到是一个网格..这里应该是什么问题?这是否涉及Google Maps API?没有出现Eclipse模拟器中的Google地图

+0

它显示了网格意味着你需要签署你的应用程序然后运行。 – Vigbyor

+0

如何签署我的应用程序?对不起,我还是一个初学者.. – myooomyoo

+0

它很容易访问这个http://developer.android。com/tools/publishing/app-signing.html – Vigbyor

回答

0

在这里看到: Running Google Maps v2 on the Android emulator

模拟器不喜欢谷歌地图的V2。如果地图保持灰色,则在真实设备上进行测试。 如果是这样,您的签名密钥很可能会被错误配置。确保您还拥有开发在Google API控制台上注册的密钥。

+0

好吧..会尝试.. ..谢谢你.. – myooomyoo

0

尝试添加的GOOLGE播放服务meta标签..

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

这将无法帮助模拟器 – meredrica

+0

我已经有了,但它仍然是一个网格出现..谢谢你.. – myooomyoo

+0

尝试添加API密钥,你将从谷歌API API .. –

1

我终于在我的模拟器中映射。我遵循这些步骤来实现它。

  1. 创建AVD并启动模拟器

  2. 转到平台工具目前在Android SDK中的路径,并把这些APK在它。

    • com.android.vending-20130716
    • com.google.android.gms-20130716
  3. 安装这些apk文件的通过使用命令提示符(移将平台工具路径逐一+右键 - >打开此命令窗口)。遵循这些命令
    • ADB设备
    • ADB安装com.android.vending-20130716
    • ADB安装com.google.android.gms-20130716
  4. 导入谷歌播放,services_lib项目,该项目是目前在项目的位置,并把它添加到您的项目。
  5. 重新启动模拟器并清理您的项目并通过模拟器运行它。

就是这样。 :) 你可以从下面的链接下载上面的apk

Running Google Maps v2 on the Android emulator

enter image description here

+0

将更新为一会儿..谢谢你.. – myooomyoo

+0

当你让我知道了吗? –

+0

我无法发布照片..我有cmd的屏幕标题,你有Facebook吗?我只会在Facebook上链接照片。 – myooomyoo

0

这是我的Android清单

<?xml version="1.0" encoding="utf-8"?> 

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

<uses-sdk 
    android:minSdkVersion="8" 
    android:targetSdkVersion="15" /> 

<permission 
    android:name="com.android.cmumap.permission.MAPS_RECEIVE" 
    android:protectionLevel="signature" /> 

<uses-permission android:name="com.android.cmumap.permission.MAPS_RECEIVE" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 

<application android:icon="@drawable/ic_launcher" android:label="@string/app_name"> 

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

    <meta-data 
    android:name="com.google.android.maps.v2.API_KEY" 
     android:value="my API key"/> 

    </activity> 

    <uses-library android:name="com.google.android.maps" /> 

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

</application> 

</manifest> 

为主要活动,我有这些

package com.android.cmumap; 

import java.util.List; 

import android.graphics.drawable.Drawable; 
import android.os.Bundle; 

import com.google.android.maps.GeoPoint; 
import com.google.android.maps.MapActivity; 
import com.google.android.maps.MapController; 
import com.google.android.maps.MapView; 
import com.google.android.maps.Overlay; 
import com.google.android.maps.OverlayItem; 

public class MainActivity extends MapActivity { 

private MapView mapView; 

private static final int latitudeE6 = 37985339; 
private static final int longitudeE6 = 23716735; 

@Override 
public void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

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

    List mapOverlays = mapView.getOverlays(); 
    Drawable drawable = this.getResources().getDrawable(R.drawable.ic_launcher); 
    CustomItemizedOverlay itemizedOverlay = 
     new CustomItemizedOverlay(drawable, this); 

    GeoPoint point = new GeoPoint(latitudeE6, longitudeE6); 
    OverlayItem overlayitem = 
     new OverlayItem(point, "Hello", "I'm in Athens, Greece!"); 

    itemizedOverlay.addOverlay(overlayitem); 
    mapOverlays.add(itemizedOverlay); 

    MapController mapController = mapView.getController(); 

    mapController.animateTo(point); 
    mapController.setZoom(6); 

} 

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

} 

和这个activity_main

<?xml version="1.0" encoding="utf-8"?> 

<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent"> 

<com.google.android.maps.MapView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/map_view" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:clickable="true" 
    android:enabled="true" 
    android:apiKey="my API Key" /> 

</RelativeLayout> 
相关问题