Google Maps in app einbinden

  • 6 Antworten
  • Letztes Antwortdatum
A

Astarte

Neues Mitglied
0
Ich will in mein app eine karte anzeigen lassen.
soweit funktioniert alles, nur bekomm ich keine karte zu sehen, sondern nur ein graues bild mit raster und meinen zoom-tasten.
hab die api-key schon paar mal geändert, bleibt aber grau.

hier noch meine daten:
manifest:
Code:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.roland.pruefbericht"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />
    
     
        
        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.CALL_PHONE" />
        
        
    
    
    <application
        
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        
         <uses-library  android:name="com.google.android.maps"/>
        
        
        <activity
            android:name="com.roland.pruefbericht.MainActivity"
            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>
        <activity android:name="com.roland.pruefbericht.NeuerKundeActivity"></activity>
       <activity android:name="com.roland.pruefbericht.Kessel"></activity>
       <activity android:name="com.roland.pruefbericht.Duese"></activity>
       <activity android:name="com.roland.pruefbericht.Messergebnisse"></activity>
       <activity android:name="com.roland.pruefbericht.Messgeraet"></activity>
       <activity android:name="com.roland.pruefbericht.KesselActivity"></activity>
       <activity android:name="com.roland.pruefbericht.NeuerKesselActivity"></activity>
       <activity android:name="com.roland.pruefbericht.BerichtActivity"></activity>
       <activity android:name="com.roland.pruefbericht.NeuerBerichtActivity"></activity>
       <activity android:name="com.roland.pruefbericht.NeuerBericht2Activity"></activity>
       <activity android:name="com.roland.pruefbericht.NeuerBericht3Activity"></activity>
        <activity android:name="com.roland.pruefbericht.Karte"></activity>
       
      
           
           </application>
      
    

</manifest>
mein map.xml:

Code:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    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:layout_height="fill_parent"
        android:enabled="true"
        android:clickable="true"
        android:apiKey="AIzaSyCfmOBTfrw9N_BbluOu5ZNAklo5JPzfWQI" />
        
    
    </RelativeLayout>
und meine Karte.java, die ich über ein intent starte:

Code:
package com.roland.pruefbericht;

import android.os.Bundle;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapView;
import com.google.android.maps.MyLocationOverlay;

public class Karte extends MapActivity{

    

    MapView mapView;
    MyLocationOverlay compass;
    
     @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.map);
              
            mapView = (MapView) findViewById(R.id.mapView);
            mapView.setBuiltInZoomControls(true);
          
            
           
                    
}
    
    @Override
    protected boolean isRouteDisplayed() {
        // TODO Auto-generated method stub
        return false;
    }
}
 
eben versucht. bleibt aber grau :mad2:

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

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />
    
     
        
        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.CALL_PHONE" />
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
        <uses-permission android:name="android.permission.ACCESS_GPS" />
        <uses-permission android:name="android.permission.ACCESS_LOCATION" />
        <uses-permission android:name="android.permission.ACCESS_ASSISTED_GPS" />
        
    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true"/>
    
    <application
        
        
        
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        
         <uses-library  android:name="com.google.android.maps"/>
        
         
        
        <activity
            android:name="com.roland.pruefbericht.MainActivity"
            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>
        <activity android:name="com.roland.pruefbericht.NeuerKundeActivity"></activity>
       <activity android:name="com.roland.pruefbericht.Kessel"></activity>
       <activity android:name="com.roland.pruefbericht.Duese"></activity>
       <activity android:name="com.roland.pruefbericht.Messergebnisse"></activity>
       <activity android:name="com.roland.pruefbericht.Messgeraet"></activity>
       <activity android:name="com.roland.pruefbericht.KesselActivity"></activity>
       <activity android:name="com.roland.pruefbericht.NeuerKesselActivity"></activity>
       <activity android:name="com.roland.pruefbericht.BerichtActivity"></activity>
       <activity android:name="com.roland.pruefbericht.NeuerBerichtActivity"></activity>
       <activity android:name="com.roland.pruefbericht.NeuerBericht2Activity"></activity>
       <activity android:name="com.roland.pruefbericht.NeuerBericht3Activity"></activity>
        <activity android:name="com.roland.pruefbericht.Karte"></activity>
       
      <meta-data
    android:name="com.google.android.maps.v2.API_KEY"
    android:value="AIzaSyCfmOBTfrw9N_BbluOu5ZNAklo5JPzfWQI"/>
           
           </application>
      
    
    

</manifest>
 
Soweit ich weiß, ist die MapView veraltet. Du solltest besser GoogleMap verwenden.

Der ursprüngliche Beitrag von 13:19 Uhr wurde um 13:22 Uhr ergänzt:

map.xml:
Code:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical">

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

In die manifest einfügen:
Code:
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
und als Untereintrag von application:
Code:
        <meta-data
			android:name="com.google.android.maps.v2.API_KEY"
			android:value="AIzaSyA-d-fP5HIgxVa8CRoU53GTCiShGSg58vU"></meta-data>

Dann in der Map.java:
Code:
	GoogleMap mMapView;
        if (mMapView == null) {
            mMapView = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map))
                    .getMap();
        }

Ich hoffe, das war alles. So sollte es funktionieren.
 
  • Danke
Reaktionen: Astarte
ich kann GoogleMap nicht Importieren. weist du warum? steh momentan ziemlich auf der leitung

GoogleMap mMapView; if (mMapView == null) { mMapView = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)) .getMap(); }
 
Hast du im SDK-Manager "Google Play Services" installiert?
 
  • Danke
Reaktionen: Astarte
ah, seh gerade, dass es da ein update gibt.... ich teste

Der ursprüngliche Beitrag von 14:46 Uhr wurde um 14:49 Uhr ergänzt:

GoogelMaps bleibt rot unterwellt. knein import-anweisung da

Der ursprüngliche Beitrag von 14:49 Uhr wurde um 14:52 Uhr ergänzt:

hier noch einmal meine manifest.xml:

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

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />
    
     <permission
        android:name="com.rolandpruefbericht.locationapi.maps.permission.MAPS_RECEIVE"
        android:protectionLevel="signature" />
     
     <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true" />
        
        <uses-permission android:name="com.roland.pruefbericht.locationapi.maps.permission.MAPS_RECEIVE" />
        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.CALL_PHONE" />
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
        <uses-permission android:name="android.permission.ACCESS_GPS" />
        <uses-permission android:name="android.permission.ACCESS_LOCATION" />
        <uses-permission android:name="android.permission.ACCESS_ASSISTED_GPS" />
           <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
        <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
        
        
    
    
    <application
        
        
        
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        
         
        
         
        
        <activity
            android:name="com.roland.pruefbericht.MainActivity"
            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>
        <activity android:name="com.roland.pruefbericht.NeuerKundeActivity"></activity>
       <activity android:name="com.roland.pruefbericht.Kessel"></activity>
       <activity android:name="com.roland.pruefbericht.Duese"></activity>
       <activity android:name="com.roland.pruefbericht.Messergebnisse"></activity>
       <activity android:name="com.roland.pruefbericht.Messgeraet"></activity>
       <activity android:name="com.roland.pruefbericht.KesselActivity"></activity>
       <activity android:name="com.roland.pruefbericht.NeuerKesselActivity"></activity>
       <activity android:name="com.roland.pruefbericht.BerichtActivity"></activity>
       <activity android:name="com.roland.pruefbericht.NeuerBerichtActivity"></activity>
       <activity android:name="com.roland.pruefbericht.NeuerBericht2Activity"></activity>
       <activity android:name="com.roland.pruefbericht.NeuerBericht3Activity"></activity>
        <activity android:name="com.roland.pruefbericht.Karte"></activity>
       
      
        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="AIzaSyCfmOBTfrw9N_BbluOu5ZNAklo5JPzfWQI" />
               
           </application>
      
    
    

</manifest>


Der ursprüngliche Beitrag von 14:52 Uhr wurde um 15:29 Uhr ergänzt:

so habs gelöst ;))) funktioniert.

ich musste die google-play-services erst in mein app importieren
http://developer.android.com/tools/projects/projects-eclipse.html#ReferencingLibraryProject <---war meine lösung

so sieht der fertige code aus um eine map anzuzeigen ;))


Karte.java:
Code:
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.SupportMapFragment;

import android.os.Bundle;
import android.support.v4.app.FragmentActivity;


public class Karte extends FragmentActivity{

    GoogleMap mMapView;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.map);
        
    if (mMapView == null) {
        mMapView = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map))
                .getMap();
    }
}
}
map.xml:
Code:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical">

  <fragment
    android:id="@+id/map"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    class="com.google.android.gms.maps.SupportMapFragment"/>
</LinearLayout>
und das manifest.xml:

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

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />
    
     <permission
        android:name="com.roland.pruefbericht.locationapi.maps.permission.MAPS_RECEIVE"
        android:protectionLevel="signature" />
     
     <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true" />
        
        <uses-permission android:name="com.roland.pruefbericht.locationapi.maps.permission.MAPS_RECEIVE" />
        <uses-permission android:name="android.permission.INTERNET" />
       <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
        <uses-permission android:name="android.permission.ACCESS_GPS" />
        <uses-permission android:name="android.permission.ACCESS_LOCATION" />
        <uses-permission android:name="android.permission.ACCESS_ASSISTED_GPS" />
           <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
        <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
        
        
    
    
    <application
        
        
        
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        
         
        
         
        
        <activity
            android:name="com.roland.pruefbericht.MainActivity"
            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>
        <activity android:name="com.roland.pruefbericht.Karte"></activity>
       
       
      
        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="INSERT_YOUR_API_KEY_HERE" />
               
           </application>
      
    
    

</manifest>
 

Ähnliche Themen

Soljim
Antworten
8
Aufrufe
762
Soljim
Soljim
Soljim
Antworten
5
Aufrufe
741
swa00
swa00
ocram2911
Antworten
7
Aufrufe
1.136
swa00
swa00
L
Antworten
1
Aufrufe
145
swa00
swa00
migi01
Antworten
26
Aufrufe
842
migi01
migi01
Zurück
Oben Unten