2013-06-11 9 views
6

मैं Google मानचित्र के साथ जुड़ने और एप्लिकेशन बनाने का प्रयास कर रहा हूं। लेकिन जब स्क्रीन लोड होती है जहां नक्शा सिर्फ ग्रे होना चाहिए। मैं यह कैसे तय करुं?Google मैप्स एपीआई v2 ग्रे स्क्रीन

मेरे लॉगकैट से महत्वपूर्ण संदेश।

06-11 03:32:55.196: E/Google Maps Android API(11671): 
Ensure that the following correspond to what is in the API Console: Package Name: my pacakage, 
API Key: my key, 
Certificate Fingerprint: my fingerprint 

गतिविधि

import android.os.Bundle; 
import android.view.Menu; 

import android.support.v4.app.FragmentActivity; 

public class mapPage extends FragmentActivity { 


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

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 

} 

प्रकट

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

    <uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="17" /> 
    <permission 
    android:name="my package.permission.MAPS_RECEIVE" 
    android:protectionLevel="signature"/> 
    <uses-permission android:name="my package.permission.MAPS_RECEIVE"/> 
    <!-- Copied from Google Maps Library/AndroidManifest.xml. --> 
    <uses-sdk 
    android:minSdkVersion="8" 
    android:targetSdkVersion="16"/> 
    <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"/> 
    <!-- External storage for caching. --> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
    <!-- My Location --> 
    <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"/> 
    <!-- End of copy. --> 
    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 

     <meta-data 
     android:name="com.google.android.maps.v2.API_KEY" 
     android:value="my key"/> 

     <activity 
      android:name="my package.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> 

     <activity android:name=".main"> 
       </activity> 

     <activity android:name=".mapPage"> 
       </activity> 

     <activity android:name=".ThirdPartyWeb" 
      android:theme="@android:style/Theme.Dialog"> 

       </activity> 

    </application> 

</manifest> 

लेआउट

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

    <fragment xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/map" 
     android:layout_alignParentTop="true" 
     android:layout_centerInParent="true" 
     android:layout_height="250dp" 
     android:layout_width="fill_parent" 
    class="com.google.android.gms.maps.SupportMapFragment"/> 

    <ImageView 
     android:layout_alignParentTop="true" 
     android:layout_centerInParent="true" 
     android:layout_height="50dp" 
     android:layout_width="fill_parent" 
     android:background="@color/darkGrey"/> 

     <Button 
     android:layout_alignParentTop="true" 
     android:layout_marginTop="10dp" 
     android:layout_alignParentLeft="true" 
     android:id="@+id/menuButton" 
     android:background="@drawable/icon_menu" 
     android:layout_height="30dp" 
     android:layout_width="30dp"/> 

     <Button 
     android:layout_alignParentTop="true" 
     android:layout_marginTop="10dp" 
     android:layout_toRightOf="@+id/menuButton" 
     android:layout_marginLeft="20dp" 
     android:id="@+id/" 
     android:background="@drawable/icon_off" 
     android:layout_height="35dp" 
     android:layout_width="55dp"/> 

     <EditText   
     android:layout_alignParentTop="true" 
     android:layout_width="wrap_content" 
     android:layout_marginTop="10dp" 
     android:layout_toRightOf="@+id/" 
     android:layout_marginLeft="20dp" 
     android:layout_toEndOf="@+id/" 
     android:id="@+id/seachBox" 
     android:hint="@string/search" 
     android:layout_height="35dp" 
     android:layout_alignParentEnd="true" 
     android:background="@color/white"/> 

     <Button 
     android:layout_alignParentTop="true" 
     android:layout_alignParentRight="true" 
     android:layout_marginTop="10dp" 
     android:id="@+id/searchButton" 
     android:background="@drawable/graphic_search" 
     android:layout_height="35dp" 
     android:layout_width="20dp"/> 

     <ImageView 
     android:layout_above="@+id/newsFeed" 
     android:layout_centerInParent="true" 
     android:layout_height="35dp" 
     android:layout_width="fill_parent" 
     android:background="@color/darkGrey"/> 

     <TextView 
      android:layout_alignParentLeft="true" 
      android:layout_height="wrap_content" 
      android:layout_width="wrap_content" 
      android:layout_above="@+id/newsFeed" 
      android:layout_marginBottom="11dp" 
      android:textColor="@color/white" 
      android:text="@string/news_feed" 
      android:textAppearance="?android:attr/textAppearanceSmall"/> 

     <ListView 
      android:layout_alignParentBottom="true" 
      android:id="@+id/newsFeed" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content">" 

     </ListView> 



</RelativeLayout> 

उत्तर

11

ठीक समस्या हल में रिलीज प्रमाणपत्र फ़िंगरप्रिंट और डिबग प्रमाणीकरण fingure प्रिंट प्रदर्शित देखें। गूगल एपीआई कंसोल पर, दो Google मानचित्र एपीआई v2 है। मेरे पास सिर्फ Google नक्शे एपीआई v2 के लिए एक था यदि आप इसे ऊपर देखते हैं, तो यह Google मानचित्र v2 एंड्रॉइड कहता है। मैंने उस पर भी चालू किया और नक्शा चल रहा है।

+0

आपको Google Map API V2 की आवश्यकता नहीं है क्योंकि यह वेब आधारित एप्लिकेशन/वेबसाइटों के लिए जावास्क्रिप्ट एपीआई है। –

0

कोशिश फ़ाइल प्रकट करने के लिए (मेटा डेटा टैग के बाद) के बाद जोड़ने के लिए

<uses-library 
    android:name="com.google.android.maps" 
    android:required="true" /> 
+1

यह एक Google एपीआई v1 अनुमति है और Google एपीआई v2 –

+0

@techroid में इसकी आवश्यकता नहीं है आपका सुझाव केवल मानचित्र V1 के लिए मान्य है। –

1

@rajwant राय: शायद आपका कोड एपीआई v1 के लिए है, क्योंकि मैं एपीआई v2 का उपयोग करता हूं और ऐसा कोड आवश्यक नहीं है।

@Author: क्या आप इसे फोन या एमुलेटर पर परीक्षण करते हैं। मानचित्र के लिए काम करने के लिए फोन में कुछ Google सेवाएं स्थापित होनी चाहिए। कैसे तैयार करने के लिए कार्य परियोजना अधिक यहाँ वर्णित है: https://developers.google.com/maps/documentation/android/start

+0

उसके पास यह मैनिफेस्ट फ़ाइल में है .. –

+0

आईएम डिबगिंग मेरे डिवाइस –

4

यह त्रुटि से लग रहा है के रूप में, ऐसा लगता है गूगल के API कंसोल में अपने विन्यास गलत है। इस ब्लॉग पोस्ट मैंने लिखा पर एक नजर डालें और सुनिश्चित करें कि आप सभी चरणों कर रहे हैं सही ढंग से करते हैं:

Google Maps API V2 Key

+0

पर थंबप्रिंट एपीआई कुंजी और पैकेज नाम मेरे एपीआई कंसोल में सभी मैच –

1

दो मोड हैं। रिलीज मोड और डीबग मोड, यदि आप रिलीज मोड में उपयोग करना चाहते हैं, तो आप कस्टमर को प्रिंट प्रिंट करना चाहते हैं। डीबग मोड सामान्य मोड है।

https://developers.google.com/maps/documentation/android/start#obtaining_an_api_key

doucmentation

+0

मैं हर बार एक एप्लिकेशन पर हस्ताक्षर कर रहा हूं और एपीके को डीबग करने के लिए अपने डिवाइस पर ले जा रहा हूं और मेरा कुंजी और हमेशा मेरे एपीआई कंसोल से मेल खाता है –

0

मुझे एक ही समस्या थी, लेकिन मेरे लिए ऐप ने काम करना बंद कर दिया। मुझे पता चला कि यह debug.keystore के साथ समस्या थी जो ग्रहण उत्पन्न करता है। यह हो सकता है तब होता है जब:

  • स्रोत कोड रेपो से अद्यतन किया जाता है लेकिन debug.keystore स्थानीय निर्देशिका से मिलता है USER_DIR.android\debug.keystore
  • आप डिस्क विफलता है और आप बहाल नहीं किया वर्ष debug.keystore
  • आप नष्ट कर दिया USER_DIR.android\debug.keystore किसी भी तरह

इस समस्या की पुष्टि करने के लिए SHA1 को अपने USER_DIR.android\debug.keystore से प्राप्त करें और Android Console से किसी के साथ तुलना करें। वे वही होना चाहिए। यदि this guide का पालन करके एंड्रॉइड ऐप्स के लिए नई कुंजी उत्पन्न करने का प्रयास न करें।

एक बार जब आप यह तो अपने AndroidManifest.xml फ़ाइल

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

और साफ पूरे ./bin निर्देशिका अद्यतन मिलता है। इसे मैन्युअल रूप से बनाएं, पर भरोसा न करें परियोजना -> स्वच्छ ... ग्रहण में विकल्प। नया इंस्टॉल करने से पहले डिवाइस से ऐप अनइंस्टॉल करें।

भविष्य में इस समस्या से बचने के लिए अपने डीबग कीस्टोर को रेपो में जोड़ें। गुप्त में जारी रखें।

-2

आप गलत SHA1 का उपयोग कर रहे हैं। आपको डीबग के लिए SHA1 का उपयोग करना होगा (आप अपने ऐप सर्वर SHA1, क्लाइंट SHA1 में भी हो सकते हैं)। जब आप एंड्रॉइड स्टूडियो में अपने SHA1 की खोज कर रहे हैं, तो आपको यह सुनिश्चित करना होगा कि आप अपने सर्वर पर SHA1 नहीं कॉपी कर रहे हैं, लेकिन SHA1 डीबग करें। फिर लॉगकैट पर ध्यान दें, और सुनिश्चित करें कि आपका पैकेज नाम मेल खाता है। फिर डैशबोर्ड (Google कंसोल में) की जांच करें और Google मानचित्र API सक्षम करें। और ध्यान से लॉगकैट पढ़ें। समस्या वहां लिखा जाएगा। मुझे एक ही समस्या थी, फिर लॉगकैट पर ध्यान दिया और इस समस्या को हल किया। शुभकामनाएँ;)

+0

हाय, एसओ में आपका स्वागत है। बस इतना ही आप जानते हैं, यह प्रश्न 3 साल पुराना है और पहले से ही एक स्वीकार्य उत्तर है :) कृपया अपने भविष्य के उत्तरों में यथासंभव विशिष्ट हो - जैसे, यह SHA1 कुंजी ऐप में कहां सेट है, आदि शायद आपको मिलेगा यह गाइड सहायक: http://stackoverflow.com/help/how-to-answer। हैप्पी हैकिंग! – theFunkyEngineer

+0

कृपया अपना उत्तर भी सही करें ताकि यह उचित शब्दों का उपयोग करे और "यू" के लिए "यू" न हो और मुझे यकीन नहीं है कि "एन" क्या है लेकिन कृपया हल करें। यदि ऐसा नहीं है क्योंकि मैं आपके उत्तर को पूरी तरह समझ नहीं पा रहा हूं तो मैं डाउनवोट करूंगा। – Popeye

+0

यदि आपके पास कोई सुझाव है तो मदद करना ठीक है लेकिन कृपया टिप्पणी और उत्तर के बीच का अंतर जानें और कृपया टेक्स्ट बोलने का उपयोग न करें। कृपया उचित अंग्रेजी का प्रयोग करें। और यदि आपके उत्तर में जोड़ने के लिए अतिरिक्त जानकारी है तो कृपया इसे जोड़ने के लिए संपादन कार्यक्षमता का उपयोग करें और टिप्पणी के रूप में न छोड़ें। आपकी आखिरी टिप्पणी एक टिप्पणी और अतिरिक्त जानकारी का मिश्रण है जो आपके उत्तर में सुधार करेगी। – Popeye

संबंधित मुद्दे