2014-03-28 2 views
1

Google지도를 사용하는 https://code.google.com/p/android-my-map-location/downloads/list을 기반으로 Android 앱을 만들었습니다. 그래서 프로젝트를 다운로드하고 모든 작업을 수행하고 API 키를 추가했지만지도를 볼 수없는 앱을 실행하면 줌 버튼과 사각형 타일 만 볼 수 있습니다.안드로이드 앱에 Google지도를 표시하지 않습니다.

내가 그에게 내 API 키에 문제가 있음을 알고 있지만 내가 바로 그것을 얻을 수 없습니다, 여기에 내가 얼마나입니다 :

일식에서

1) >> 창 >> 환경 설정 >> 안드로이드를 >> 다음 구축 내 SHA1 지문을 찾았 어. 2) Google API COnsole로 이동하여 Android v2가 선택되어 있는지 Google지도를 선택했는지 확인하십시오. 3) 새로운 안드로이드 키를 생성하고 내 SHA1 지문과 패키지 이름을 전달합니다. (빈 경기장을 떠나지) 키를 사용하는 모든 응용 프로그램을 authoruze하려면 Google 개발자 콘솔에서 https://android-my-map-location.googlecode.com/files/android-my-map-location.zip

+0

이 코드를 게시. 내 키로 확인할 수 있습니다 – Libin

+0

내 프로젝트의 직접 다운로드 링크입니다 : https://android-my-map-location.googlecode.com/files/android-my-map-location.zip – user3474318

답변

0

시도 :

사람이 내 프로젝트에 대한 직접 다운로드 링크입니다이 좀 도와 주시겠습니까.

+0

나는 api를 얻는다, 나는 다만 나의 포장없이 나의 SHA1 지문을 풀칠 하는가? – user3474318

+0

아니요, api 키가있는 곳이 어디인지, 앱의 sha 지문을 채울 필요가있는 경우, 공백으로두면 모든 애플리케이션에 키를 사용할 수 있습니다. 또한 당신은 안드로이드 googlemp apikey –

+0

고맙다, 나는 이것을 시도했지만 안타깝게도 작동하지 않았다. 나는 그것을 확인하고 싶다면 내 프로젝트에 대한 직접 링크를 게시했다. – user3474318

0

간단한 앱을 만들고 API 키가 올바른지 확인하십시오.

그냥으로 MapFragment를 사용하여 레이아웃을 생성하고 활동

activity_map.xml로 설정합니다.

<?xml version="1.0" encoding="utf-8"?> 
    <fragment xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/map" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:name="com.google.android.gms.maps.MapFragment"/> 

는 활동에로드 맵을 볼 수, 앱을 실행하면
setContentView(R.layout.activity_map); 

또한 응용 프로그램

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

에서 매니페스트에 메타 태그를 추가 활동

에 레이아웃을 설정합니다. API 키와 관련하여 문제가 해결되지 않는 경우 작품이 사용자 정의 MapFragment를 사용하도록 코드를 변경하는 경우

1

당신은

<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"/> 

지도 API에서 OpenGL ES 2.0을 필요로 캐싱 매니페스트

<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-feature 
android:glEsVersion="0x00020000" 
android:required="true"/> 

붙여 넣기이 내부 응용 프로그램 :

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

이 레이아웃의 아무 곳이나 갈 수 있습니다.

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

이것은 MyMapLocationActivity 여야합니다.자바

public class MyMapLocationActivity extends FragmentActivity { 
    private MapView mMapView; 
    private GoogleMap mMap; 

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

     mMapView = (MapView) findViewById(R.id.map); 
     mMapView.onCreate(savedInstanceState); 

     setUpMapIfNeeded(); 
    } 

    @Override 
    protected void onResume() { 
     super.onResume(); 
     mMapView.onResume(); 

     setUpMapIfNeeded(); 
    } 

    private void setUpMapIfNeeded() { 
     if (mMap == null) { 
      mMap = ((MapView) findViewById(R.id.map)).getMap(); 
      if (mMap != null) { 
       setUpMap(); 
      } 
     } 
    } 

    private void setUpMap() { 
     mMap.addMarker(new MarkerOptions().position(new LatLng(0, 0)).title("Marker")); 
    } 

    @Override 
    protected void onPause() { 
     mMapView.onPause(); 
     super.onPause(); 
    } 

    @Override 
    protected void onDestroy() { 
     mMapView.onDestroy(); 
     super.onDestroy(); 
    } 

    @Override 
    public void onLowMemory() { 
     super.onLowMemory(); 
     mMapView.onLowMemory(); 
    } 

    @Override 
    public void onSaveInstanceState(Bundle outState) { 
     super.onSaveInstanceState(outState); 
     mMapView.onSaveInstanceState(outState); 
    } 
} 

이것은 내가 그것을 구글의 개발자 웹 사이트의 정확한 단계를 수행하여 작동하도록 관리하는 구글 플레이-서비스 샘플

+0

Google API 2.2를 사용하여 FragmentActivity를 사용할 수 있는지 의심합니다 –

관련 문제