2013-05-30 4 views
1

enter image description hereComment afficher des cartes dans Android MapView

Je crée la carte Google dans l'affichage android mapview.but dans mapview.iam en utilisant à fond gris propre clé API pour Google MapView.

Comment obtenir une carte à mapview sans niveaux de gris?

public class MainActivity extends MapActivity { 

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

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.activity_main, menu); 
    return true; 
} 

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


} 


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" > 

<com.google.android.maps.MapView 
    android:id="@+id/map" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:clickable="true" 
    android:apiKey="AIzaSyBNpjyktHItZYm4no0wTvzSv8tWU5gaoy0" /> 

</RelativeLayout> 

Ceci est mon code, son affichage en niveaux de gris. Comment résoudre ceci?

http://wptrafficanalyzer.in/blog/showing-current-location-using-onmylocationchangelistener-in-google-map-android-api-v2/ Je me réfère ce lien, mais afficher la sortie vide enter image description here

+5

Notez que vous essayez d'utiliser Maps V1, qui est obsolète. Veuillez envisager d'utiliser Maps V2. Au-delà de cela, vous pourriez envisager de poster une capture d'écran montrant l'effet que vous voyez. – CommonsWare

+0

Divya vous pourriez obtenir des tuiles sur l'affichage parce que lorsque j'utilise ce code, je reçois le même résultat, j'ai essayé 2 jours. – Lucifer

+0

avez-vous eu des idées? – android

Répondre

2

D'abord, comme l'a dit CommonsWare, vous devez utiliser l'API de cartes v2. Quand avez-vous demandé la clé? Vous ne pouvez pas demander de clés Maps v1 après mars 2013. Je suppose que vous essayez d'utiliser une clé v2 avec l'API v1. Vérifiez votre logcat pour voir s'il y a un message.

Voir Google Maps API (v2)

Une autre possibilité est que vous avez enregistré la clé de manière incorrecte. Êtes-vous sûr d'avoir l'empreinte digitale SHA1 de la bonne touche? Si vous avez enregistré une clé v1 quand elle était disponible, êtes-vous sûr de signer avec la même clé que vous avez enregistrée?

De plus, il semble que la connexion ne soit pas bonne en fonction de votre barre d'état. Google Maps nécessite une connexion réseau. Essayez d'activer le wifi pour vérifier si cela fonctionne. Si c'est le cas, il est probable que vous n'ayez pas téléchargé les cartes. Si le wifi fonctionne, essayez de laisser l'application s'asseoir un peu avec le wifi éteint et voir si les cartes finissent par charger en 3G.

+0

j'ai utilisé google mapv2 mais son affichage carte vierge. – android

2
check below example it working... 

[example link1][1] 

[example link2][2] 

[example link3][3] 

    - manifest : Provide all need Permision in This Example i applied Find And Navigation 



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

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

    <uses-permission android:name="com.example.demomap1.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-feature 
     android:glEsVersion="0x00020000" 
     android:required="true" /> 


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

    <uses-permission android:name="com.example.mapv2demo1.permission.MAPS_RECEIVE" /> 
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> 
    <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.WRITE_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.CAMERA" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.READ_CALENDAR" /> 
    <uses-permission android:name="android.permission.WRITE_CALENDAR" /> 

    <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.example.mapv2demo1.MainActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <meta-data 
      android:name="com.google.android.maps.v2.API_KEY" 
      android:value=" Put Key Here" /> 
    </application> 

</manifest> 

    - Layout xml---I use the com.google.android.gms.maps.SupportMapFragment to show map 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    tools:context=".MainActivity" > 

    <RelativeLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" > 

     <Button 
      android:id="@+id/btn_find" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignBottom="@+id/et_location" 
      android:layout_alignParentRight="true" 
      android:text="find" /> 

     <EditText 
      android:id="@+id/et_location" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:inputType="text" 
      android:hint="Enter Location" 
      android:layout_toLeftOf="@id/btn_find" /> 

    </RelativeLayout> 

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

</LinearLayout> 


    - Code to integration Map v2 in code the Intent is call the map app which install in phone.. 

    import android.content.Intent; 
    import android.net.Uri; 
    import android.os.Bundle; 
    import android.support.v4.app.FragmentActivity; 
    import android.view.View; 
    import android.view.View.OnClickListener; 
    import android.widget.Button; 
    import android.widget.EditText; 

    import com.google.android.gms.maps.GoogleMap; 
    import com.google.android.gms.maps.SupportMapFragment; 
    import com.google.android.gms.maps.model.LatLng; 
    import com.google.android.gms.maps.model.MarkerOptions; 

    public class MainActivity extends FragmentActivity implements OnClickListener { 
     GoogleMap mapView; 
     LatLng latLong; 
     MarkerOptions markerOption; 
     Button btnFind; 
     EditText etLocation; 
     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 
      mapView = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(
        R.id.mapview)).getMap(); 

      btnFind=(Button)findViewById(R.id.btn_find); 
      etLocation=(EditText)findViewById(R.id.et_location); 
      btnFind.setOnClickListener(this); 

     } 
     @Override 
     public void onClick(View v) { 
      String destination=etLocation.getText().toString(); 
      Intent intent = new Intent(android.content.Intent.ACTION_VIEW, 
        Uri.parse("http://maps.google.com/maps?daddr=" 
          + destination)); 
      startActivity(intent); 

     } 
    } 
    [1]: http://karnshah8890.blogspot.in/2013/02/google-maps-android-api-v2.html 
    [2]: http://android-er.blogspot.in/2012/12/a-simple-example-using-google-maps.html 
    [3]: http://wptrafficanalyzer.in/blog/showing-current-location-in-google-maps-using-api-v2-with-supportmapfragment/ 
+0

J'ai aussi essayé le 3ème lien mais il affiche la vue vide. Comment résoudre ceci? – android

+0

@Divya d'abord vérifier vous devez sur la carte v2 Api De Google Console Api et Deuxième Votre clé Vérifiez et essayez le 1er lien et je mets le code que j'ai testé le travail ... Note: - Mettre API_KEY dans Menifest Narendra

+0

oui cela a fonctionné mais j'ai besoin d'afficher la carte dans le fragment mapview – android