2012-09-13 7 views
1

앱에 Google지도 API를 설치하고 있습니다. 모든 것이 실행 중이며 Google지도 활동을 시작할 수 있지만지도가 표시되지 않습니다. 그리드를 보여줌으로써 확대/축소 할 수 있습니다.Google지도 API로 표시되지 않는지도 android

package com.fotolife.app; 

import android.os.Bundle; 

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

public class Map extends MapActivity { 

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

    @Override 
    protected void onCreate(Bundle arg0) { 
     // TODO Auto-generated method stub 
     super.onCreate(arg0); 
     setContentView(R.layout.map); 


    } 


} 

이^그건 내 Map.java

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <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="I Took this out for security reasons, but it works." 
/> 

</LinearLayout> 

입니다^여기 내 map.xml 도움을

감사합니다!

+1

AndroidMenifest.xml 파일 – rajpara

+0

에 인터넷 권한을 설정 했습니까? 나는 이것을 가지고있다 : user1513687

+0

of menifest – rajpara

답변

2

Google Maps Android API v2를 사용 중이라면 아마도 프로젝트가 작동하지 않는 이유 일 수 있습니다. 다음 단계를 거쳐야합니다 작업 내용 :

다운로드 구글은 구글 Play 서비스 SDK 관리자

에서 Play 서비스 구성 안드로이드 SDK의 엑스트라의 일부입니다. 엑스트라 섹션에서 찾을 수 있습니다.

추가 구글 플레이 서비스에있는 lib JAR이 경로

$ANDROIDSDK_HOME/extras/google/google_play_services/libproject/google-play-services_lib/libs 

에 설치되어있는 프로젝트 빌드 경로

에 lib에 JAR

구글 API 콘솔을 사용하여 API 키를 가져옵니다 다음 명령을 실행하여 OS 콘솔을 사용하여 디버그 목적으로 SHA1 지문을 생성 할 수 있습니다.

$ keytool -list -v -keystore ~/.android/debug.keystore -storepass android 

Google API 콘솔에서 API 액세스로 이동하고 오른쪽 창에서 "새 Android 키 만들기 ..."를 선택하십시오. 그런 다음 텍스트 상자에 SHA1 지문을 입력하고 세미콜론과 프로젝트의 패키지 이름을 입력하십시오. 프로젝트의 매니페스트 파일

을에

지정 권한 설정 (프로젝트의 패키지 이름과 com.example 교체) 응용 프로그램 매니페스트 파일에 매니페스트 태그 안에 다음을 넣어 :

<permission android:name="com.example.permission.MAPS_RECEIVE" android:protectionLevel="signature"/> 
    <uses-permission android:name="com.example.permission.MAPS_RECEIVE"/> 
    <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17"/> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
    <uses-permission android:name="android.permission.INTERNET"/> 
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 

    <!-- Maps API needs OpenGL ES 2.0. --> 
    <uses-feature android:glEsVersion="0x00020000" android:required="true"/> 

지정 프로젝트 매니페스트 파일의 API 콘솔에서 생성 된 API 키

마지막 요소 인 b 응용 프로그램 태그를

<meta-data 
     android:name="com.google.android.maps.v2.API_KEY" 
     android:value="your api key goes here"/> 

을 닫는 EFORE하면 프로젝트

main.xml에

<fragment xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/map" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    class="com.google.android.gms.maps.SupportMapFragment"/> 

홈페이지에지도를 추가합니다.

import android.app.Activity; 
import android.os.Bundle; 

public class Main extends Activity { 

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

자바

당신은 모든 작업을 진행해야 응용 프로그램 실행합니다.

1

안녕이 나를 위해 일한 : 당신이 당신의 API 키를 어디서 얻었

은 기억 하는가? https://code.google.com/apis/console으로 이동하여 Android 앱용 키 (인증서 포함)에서 edit android apps 허용을 누릅니다.

내 경우 지문이 다른 프로젝트의 이전 패키지를 참조하기 때문에 방금 cmd 콘솔에 가서 새 지문을 가져 와서 BINGO 뒤에 현재 패키지 이름을 입력했습니다.

관련 문제