PDA

View Full Version : مشکل با GoogleMaps



ho3ein.3ven
چهارشنبه 01 بهمن 1393, 01:01 صبح
سلام . من قصد دارم یک برنامه بنویسم که موقعیت جاری رو روی نقشه نشون بده . برنامه رو به صورت زیر نوشتم :

package
com.hossein.googlemap;


import
com.google.android.gms.maps.GoogleMap;

import
com.google.android.gms.maps.MapFragment;


import
android.app.Activity;

import
android.os.Bundle;

import
android.support.v4.app.Fragment;

import
android.support.v4.app.FragmentActivity;

import
android.widget.Toast;


public
class main extends FragmentActivity {



// Google Map


private GoogleMap googleMap;




@Override


protectedvoid onCreate(Bundle savedInstanceState) {


super.onCreate(savedInstanceState);

setContentView(R.layout.
main);




try {


// Loading map

initilizeMap();



}
catch (Exception e) {

e.printStackTrace();

}



}




/**

* function to load map. If map is not created it will create it for you

* */


privatevoid initilizeMap() {


if (googleMap == null) {


googleMap = ((MapFragment) getFragmentManager().findFragmentById(

R.id.
map)).getMap();




// check if map is created successfully or not


if (googleMap == null) {

Toast.makeText(getApplicationContext(),


"Sorry! unable to create maps", Toast.LENGTH_SHORT)

.show();

}

}

}




@Override


protectedvoid onResume() {


super.onResume();

initilizeMap();

}


 

}






ایکس ام ال main :

<?
xmlversion="1.0"encoding="utf-8"?>

<
RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"


android:layout_width="fill_parent"


android:layout_height="fill_parent">



<
fragment


android:id="@+id/map"


android:name="com.google.android.gms.maps.SupportMapFragment"


android:layout_width="match_parent"


android:layout_height="match_parent"/>



</
RelativeLayout>





manifest :

<
manifestxmlns:android="http://schemas.android.com/apk/res/android"


package="com.hossein.googlemap"


android:versionCode="1"


android:versionName="1.0">



<permission


android:name="info.androidhive.googlemapsv2.permission.MAPS_RECE IVE"


android:protectionLevel="signature"/>




<uses-permissionandroid:name="info.androidhive.googlemapsv2.permission.MAPS_RECE IVE"/>




<uses-sdk


android:minSdkVersion="12"


android:targetSdkVersion="17"/>




<uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/>


<uses-permissionandroid:name="android.permission.INTERNET"/>


<uses-permissionandroid:name="com.google.android.providers.gsf.permission.READ_G SERVICES"/>


<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>




<!-- Required to show current location -->


<uses-permissionandroid:name="android.permission.ACCESS_COARSE_LOCATION"/>


<uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION"/>




<!-- Required OpenGL ES 2.0. for Maps V2 -->


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


<activityandroid:name="main">




<intent-filter>


<actionandroid:name="android.intent.action.MAIN"/>



<categoryandroid:name="android.intent.category.LAUNCHER"/>


</intent-filter>






</activity>




<meta-data


android:name="com.google.android.maps.v2.API_KEY"


android:value="AIzaSyBqAhrjIaSmvLcfpwlxt2u_31F_0NZ14jw"/>






</application>


</
manifest>




api key هم از سایت گوگل گرفتم . برنامه بالا رو که تست می کنم ارور میده .

اگر دوستان کسی تو این زمینه کار کرده ممنون میشم کمکم کنه .

ho3ein.3ven
چهارشنبه 01 بهمن 1393, 01:02 صبح
اینم لاگش :

01-20 20:50:10.518: E/AndroidRuntime(1269): FATAL EXCEPTION: main
01-20 20:50:10.518: E/AndroidRuntime(1269): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.hossein.googlemap/com.hossein.googlemap.main}: android.view.InflateException: Binary XML file line #6: Error inflating class fragment
01-20 20:50:10.518: E/AndroidRuntime(1269): at android.app.ActivityThread.performLaunchActivity(A ctivityThread.java:2211)
01-20 20:50:10.518: E/AndroidRuntime(1269): at android.app.ActivityThread.handleLaunchActivity(Ac tivityThread.java:2261)
01-20 20:50:10.518: E/AndroidRuntime(1269): at android.app.ActivityThread.access$600(ActivityThre ad.java:141)
01-20 20:50:10.518: E/AndroidRuntime(1269): at android.app.ActivityThread$H.handleMessage(Activit yThread.java:1256)
01-20 20:50:10.518: E/AndroidRuntime(1269): at android.os.Handler.dispatchMessage(Handler.java:99 )
01-20 20:50:10.518: E/AndroidRuntime(1269): at android.os.Looper.loop(Looper.java:137)
01-20 20:50:10.518: E/AndroidRuntime(1269): at android.app.ActivityThread.main(ActivityThread.jav a:5103)
01-20 20:50:10.518: E/AndroidRuntime(1269): at java.lang.reflect.Method.invokeNative(Native Method)
01-20 20:50:10.518: E/AndroidRuntime(1269): at java.lang.reflect.Method.invoke(Method.java:525)
01-20 20:50:10.518: E/AndroidRuntime(1269): at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:737)
01-20 20:50:10.518: E/AndroidRuntime(1269): at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:553)
01-20 20:50:10.518: E/AndroidRuntime(1269): at dalvik.system.NativeStart.main(Native Method)
01-20 20:50:10.518: E/AndroidRuntime(1269): Caused by: android.view.InflateException: Binary XML file line #6: Error inflating class fragment
01-20 20:50:10.518: E/AndroidRuntime(1269): at android.view.LayoutInflater.createViewFromTag(Layo utInflater.java:713)
01-20 20:50:10.518: E/AndroidRuntime(1269): at android.view.LayoutInflater.rInflate(LayoutInflate r.java:755)
01-20 20:50:10.518: E/AndroidRuntime(1269): at android.view.LayoutInflater.inflate(LayoutInflater .java:492)
01-20 20:50:10.518: E/AndroidRuntime(1269): at android.view.LayoutInflater.inflate(LayoutInflater .java:397)
01-20 20:50:10.518: E/AndroidRuntime(1269): at android.view.LayoutInflater.inflate(LayoutInflater .java:353)
01-20 20:50:10.518: E/AndroidRuntime(1269): at com.android.internal.policy.impl.PhoneWindow.setCo ntentView(PhoneWindow.java:267)
01-20 20:50:10.518: E/AndroidRuntime(1269): at android.app.Activity.setContentView(Activity.java: 1895)
01-20 20:50:10.518: E/AndroidRuntime(1269): at com.hossein.googlemap.main.onCreate(main.java:18)
01-20 20:50:10.518: E/AndroidRuntime(1269): at android.app.Activity.performCreate(Activity.java:5 133)
01-20 20:50:10.518: E/AndroidRuntime(1269): at android.app.Instrumentation.callActivityOnCreate(I nstrumentation.java:1087)
01-20 20:50:10.518: E/AndroidRuntime(1269): at android.app.ActivityThread.performLaunchActivity(A ctivityThread.java:2175)
01-20 20:50:10.518: E/AndroidRuntime(1269): ... 11 more
01-20 20:50:10.518: E/AndroidRuntime(1269): Caused by: java.lang.IllegalStateException: The meta-data tag in your app's AndroidManifest.xml does not have the right value. Expected 4030500 but found 0. You must have the following declaration within the <application> element: <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
01-20 20:50:10.518: E/AndroidRuntime(1269): at com.google.android.gms.common.GooglePlayServicesUt il.n(Unknown Source)
01-20 20:50:10.518: E/AndroidRuntime(1269): at com.google.android.gms.common.GooglePlayServicesUt il.isGooglePlayServicesAvailable(Unknown Source)
01-20 20:50:10.518: E/AndroidRuntime(1269): at com.google.android.gms.maps.internal.q.v(Unknown Source)
01-20 20:50:10.518: E/AndroidRuntime(1269): at com.google.android.gms.maps.internal.q.u(Unknown Source)
01-20 20:50:10.518: E/AndroidRuntime(1269): at com.google.android.gms.maps.MapsInitializer.initia lize(Unknown Source)
01-20 20:50:10.518: E/AndroidRuntime(1269): at com.google.android.gms.maps.MapFragment$b.cE(Unkno wn Source)
01-20 20:50:10.518: E/AndroidRuntime(1269): at com.google.android.gms.maps.MapFragment$b.a(Unknow n Source)
01-20 20:50:10.518: E/AndroidRuntime(1269): at com.google.android.gms.dynamic.a.a(Unknown Source)
01-20 20:50:10.518: E/AndroidRuntime(1269): at com.google.android.gms.dynamic.a.onInflate(Unknown Source)
01-20 20:50:10.518: E/AndroidRuntime(1269): at com.google.android.gms.maps.MapFragment.onInflate( Unknown Source)
01-20 20:50:10.518: E/AndroidRuntime(1269): at android.app.Activity.onCreateView(Activity.java:47 45)
01-20 20:50:10.518: E/AndroidRuntime(1269): at android.view.LayoutInflater.createViewFromTag(Layo utInflater.java:689)

gilas1368
چهارشنبه 01 بهمن 1393, 08:30 صبح
کدتون رو درست بذارید

ho3ein.3ven
چهارشنبه 01 بهمن 1393, 12:39 عصر
عذر خواهی می کنم :

package com.hossein.googlemap;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapFragment;
import android.app.Activity;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.widget.Toast;
public class main extends FragmentActivity {
// Google Map
private GoogleMap googleMap;

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

try {
// Loading map
initilizeMap();

} catch (Exception e) {
e.printStackTrace();
}

}

/**
* function to load map. If map is not created it will create it for you
* */
private void initilizeMap() {
if (googleMap == null) {
googleMap = ((MapFragment) getFragmentManager().findFragmentById(
R.id.map)).getMap();

// check if map is created successfully or not
if (googleMap == null) {
Toast.makeText(getApplicationContext(),
"Sorry! unable to create maps", Toast.LENGTH_SHORT)
.show();
}
}
}

@Override
protected void onResume() {
super.onResume();
initilizeMap();
}

}




main xml :

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

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

</RelativeLayout>







manifest :

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.hossein.googlemap"
android:versionCode="1"
android:versionName="1.0" >
<permission
android:name="info.androidhive.googlemapsv2.permission.MAPS_RECE IVE"
android:protectionLevel="signature" />

<uses-permission android:name="info.androidhive.googlemapsv2.permission.MAPS_RECE IVE" />

<uses-sdk
android:minSdkVersion="12"
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_G SERVICES" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<!-- Required to show current location -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

<!-- Required OpenGL ES 2.0. for Maps V2 -->
<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" >
<activity android:name="main">

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


</application>
</manifest>

gilas1368
چهارشنبه 01 بهمن 1393, 13:12 عصر
میتونی برنامه ات رو بذاری ی نیگا بهش بندازم

ho3ein.3ven
چهارشنبه 01 بهمن 1393, 13:31 عصر
تشکر بابت توجهتون

بفرمایید :

http://s5.picofile.com/file/8165228500/GoogleMap.zip.html

ho3ein.3ven
چهارشنبه 01 بهمن 1393, 22:55 عصر
دوستان کسی به نتیجه ای نرسید که مشکل کجاست ؟

TeacherMath
پنج شنبه 02 بهمن 1393, 01:46 صبح
شاید اندروید کی شما توی ایران کار نکنه

ho3ein.3ven
پنج شنبه 02 بهمن 1393, 11:10 صبح
خب این یعنی چی ؟

یعنی برنامه ای که با گوگل مپ نوشته میشه تو ایران کار نمیکنه ؟

ho3ein.3ven
پنج شنبه 02 بهمن 1393, 20:48 عصر
دوستان لطفا کمک کنید خیلی مهمه

ho3ein.3ven
جمعه 03 بهمن 1393, 13:37 عصر
یعنی کسی googlemaps کار نکرده ؟

ho3ein.3ven
جمعه 03 بهمن 1393, 23:35 عصر
......................

ho3ein.3ven
شنبه 04 بهمن 1393, 20:17 عصر
.........................................

MSHService
سه شنبه 01 اردیبهشت 1394, 16:50 عصر
درود دوستم
اگر مشکلت حل نشده مطرح کن تا بتونیم راهنماییت کنم.
من الان بالاخره تونستم با گوگل مپ کار کنم مشکل شما کجاست؟
اون پیام خط اول رو من وقتی میگرفتم که صفحم میچرخید که مشل از کدم توی onDestroy بود.
تو سورست هم بهتره اول بار چک کنی ببینی که گوگل پلی سرویس مشکل نداره! اگر نداره ادامه بدی

public boolean servicesOK() { int isAvalable = GooglePlayServicesUtil
.isGooglePlayServicesAvailable(getActivity());


if (isAvalable == ConnectionResult.SUCCESS) {
return true;
} else if (GooglePlayServicesUtil.isUserRecoverableError(isA valable)) {
Dialog dialog = GooglePlayServicesUtil.getErrorDialog(isAvalable,
getActivity(), GPS_ERRORDIALOG_REQUEST);
dialog.show();
} else {
Toast.makeText(getActivity(),
"Cant connect to google play service", Toast.LENGTH_SHORT)
.show();
}
return false;
}