2010-12-07 2 views
6

내지도가 표시되지 않는 것이 문제입니다. 그것은 당신 (예를 들어 : :) 인터넷 권한을 가지고 있지 않은 때 보여주는 단지 눈금입니다.누군가이지도 응용 프로그램을 작동시키는 데 도움을 줄 수 있습니까?

public class MapClass extends MapActivity { 

public void onCreate(Bundle icicle) { 
    super.onCreate(icicle); 
    setContentView(R.layout.maplayout); 

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

@Override 
protected boolean isRouteDisplayed() { 
    // TODO Auto-generated method stub 
    return false; 
} 
} 

여기 (마이너스지도 키) 내 XML 레이아웃 파일이다 :

여기 내 자바 클래스의

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/mainlayout" android:orientation="vertical" 
android:layout_width="fill_parent" android:layout_height="fill_parent"> 

<com.google.android.maps.MapView 
    android:id="@+id/mapView" android:layout_width="fill_parent" 
    android:enabled="true" android:layout_height="fill_parent" 
    android:clickable="true" android:apiKey="MY-API-KEY" /> 

</RelativeLayout> 

그리고 여기 내 매니페스트 파일입니다 :

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.android.mapexample" android:versionCode="1" 
android:versionName="1.0" android:installLocation="internalOnly"> 

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

    <uses-library android:name="com.google.android.maps" /> 
    <activity android:name=".MapClass" android:label="@string/app_name" 
    android:theme="@android:style/Theme.NoTitleBar"> 

    <intent-filter> 

    <action android:name="android.intent.action.MAIN" /> 
    <category android:name="android.intent.category.LAUNCHER" /> 

    </intent-filter>> 

    </activity> 
</application> 

<uses-sdk android:minSdkVersion="1" /> 

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

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

</manifest> 
+1

내 생각 엔 API 키가 잘못되었을 것입니다. 제대로 생성 했습니까? – blindstuff

+0

나는 그것도 생각했다. 여러 컴퓨터에서 약 10 번 생성했습니다. 또한 Google에서 바로 MapView XML 코드를 복사하여 거기에서 뭔가를 망칠 경우를 대비하여 키를 생성했습니다. 아직 아무것도. – NotACleverMan

+1

에뮬레이터에서 테스트 중이십니까? 그렇다면 이미 새 ADT로 업데이트 했습니까? –

답변

3

것이 확인 앱이 Map API 키와 연결된 서명 키로 서명됩니다. 나는 당신이 디버깅을하고있는 것 같아서, 그 응용 프로그램은 디버그 키 스토어로 서명되어있다 ... 다른 Map API 키를 생성해야한다.

2 개의 레이아웃을 각 Map API 키에 대해 하나씩 유지합니다. 디버깅 또는 릴리즈 빌드에서 실행 중인지 여부에 따라 동적으로 레이아웃을 선택합니다.

+0

나는 APK를 만들지 않기 때문에 내 애플 리케이션에 서명하지 않을 것이다. 나는 에뮬레이터에서 그것을 실행하고 내 전화기에서 디버깅을하고있다. 앱에 서명하는 방법 키를 사용하여 APK를 만드는 방법을 아는 유일한 방법은 내 휴대 전화로 복사 한 다음 설치하는 것입니다. – NotACleverMan

+0

흠 .APK를 만들고 내 전화로 복사하는 것은 이상합니다. 그걸 가졌어 작년 에뮬레이터에서 작업했고 디버그 키에 대해 들어 본 적이 없습니다. 감사합니다 – NotACleverMan

+0

Eclipse에서 장치/에뮬레이터로 앱을 실행/디버깅 할 때 APK가 생성되고 디버그 서명 키로 서명됩니다. Android 마켓에 앱을 배포하려면 자체 서명 키를 만들고 APK에 서명해야합니다. – shammer64