2014-03-28 39 views
0

我正在创建一个应用程序,我必须获取用户的经度和纬度并标记他的位置。我的应用出现错误“不幸地图已停止”。我GOOGLE了很多,但无法找到解决方案。这里是我的代码和我的日志猫。如何获取Android应用程序的经度纬度

public class MapView extends Activity { 

    private LocationManager locationManager; 
    private String best; 
    double myLocationLatitude; 
    double myLocationLongitude; 

    Location loc = locationManager.getLastKnownLocation(best); 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.map_layout); 

     locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER); 

     // additionally (you have to implement LocationListener) 
     locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0.0f, new android.location.LocationListener() 
     { 

      @Override 
      public void onStatusChanged(String provider, int status, Bundle extras) { 
       // TODO Auto-generated method stub 

      } 

      @Override 
      public void onProviderEnabled(String provider) { 
       // TODO Auto-generated method stub 

      } 

      @Override 
      public void onProviderDisabled(String provider) { 
       // TODO Auto-generated method stub 

      } 

      @Override 
      public void onLocationChanged(Location location) { 
       // TODO Auto-generated method stub 
       Log.d("a","onLocationChanged: lat=" +location.getLatitude()); 
       Log.d("a","onLocationChanged: lat=" +location.getLongitude()); 
      } 
     }); 

     locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE); 


    GoogleMap mMap = null; 
    mMap.addMarker(new MarkerOptions().draggable(true) 
             .position(new LatLng(loc.getLatitude(),loc.getLongitude())) 
             .title("YOUR LOCATION")); 

LOG CAT:

1月3日至29日:37:37.167:d/ActivityThread(2521):installProvider: context=[email protected]=android.app.IActivityManager $ ContentProviderHolder @ 41fb9070noisy = truenoReleaseNeeded = falsestable = false 03-29 01:37:37.364:D/dalvikvm(2521):GC_FOR_ALLOC已释放870K,13% 免费6526K/7424K,暂停110ms,共110ms 03-29 01:37 :37.365: D/ActivityThread(2521):installProvider: [email protected]=andr [email protected]=truenoReleaseNeeded=falsestable=false 03-29 01:37:37.637:E/linker(2521):load_library(linker.cpp:757): library “/ data/data/“com.google.android.gms/files/libAppDataSearchExt_armeabi_v7a.so” not found 03-29 01:37:37.642:D/ActivityThread(2521):installProvider: [email protected]=android.app。 IActivityManager $ ContentProviderHolder @ 41f7ffd8noisy = truenoReleaseNeeded = falsestable = false 03-29 01:37:37.833:D/ActivityThread(2521):installProvider: context = android.app.ContextImpl @ 41e4f100holder = android.app.IActivityManager $ ContentProviderHolder @ 41ea8d40noisy = truenoReleaseNeeded = falsestable = false 03-29 01:37:38.324:D/ActivityThread(2521):installProvider: context = android.app.ContextImpl @ 41e4f100holder = android.app.IActivityManager $ ContentProviderHolder @ 41f19948noisy = truenoReleaseNeeded = falsestable = false 03-29 01:37:38.645:D/ActivityThread(2521):installProvider: context = android。 app.ContextImpl @ 41e4f100holder = android.app.IActivityManager $ ContentProviderHolder @ 41fa1000noisy = truenoReleaseNeeded = falsestable = false 03-29 01:37:38.658:D/ActivityThread(2521):installProvider: [email protected] [email protected]y=truenoReleaseNeeded=falsestable=false 03-29 01:37:38.668:I/Icing(2521):内部初始化完成:存储状态0 03-29 01:37:38.725: D/ActivityThread(2521):installProvider: [email protected]我的/结冰(2521):初始化完成03-29 01:37:38.879: W/asset(2521):AssetManager - > addDefaultAssets CIP路径不存在! 一月3日至29日:37:40.148:I/dalvikvm(2521):找不到方法 android.app.admin.DevicePolicyManager.isDeviceOwnerApp,从方法 com.google.android.gms.init.InitializeIntentService.onHandleIntent引用 03-29 01:37:40.148:W/dalvikvm(2521):VFY:无法解析虚拟 方法1697:Landroid/app/admin/DevicePolicyManager; .isDeviceOwnerApp (Ljava/lang/String;)Z 03-29 01:37:40.148:d/dalvikvm(2521):VFY:从 com.google.android.googlequicksearchbox 03 索引38E683E5680B78374039C38CC697D19B079F6A63: 更换操作码0x6e在0x00e0 1月3日至29日:37:40.903:I /冰(2521) -29 01:37:41.108: D/ActivityThread(2521):installProvider: 上下文= android.app.ContextImpl @ 41e4f100holder = android.app.IActivityManager $ ContentProviderHolder @ 420511f0noisy = truenoReleaseNeeded = falsestable =假 一月3日至29日:37:41.505:d/ActivityThread(2521):installProvider: 上下文=机器人。应用程序。ContextImpl @ 41e4f100holder = android.app.IActivityManager $ ContentProviderHolder @ 420542a0noisy = truenoReleaseNeeded = falsestable = false 03-29 01:37:41.520:D/ActivityThread(2521):installProvider: [email protected]=android .app.IActivityManager $ ContentProviderHolder @ 42055cb8noisy = truenoReleaseNeeded = falsestable =假 1月3日至29日:37:41.534:d/ActivityThread(2521):installProvider: [email protected]=android.app.IActivityManager$ ContentProviderHolder @ 42058ce8noisy = truenoReleaseNeeded = falsestable = false 03-29 01:37:41.546:D/ActivityThread(2521):installProvider: context = android.app.ContextImpl @ 41e4f100holder = android.app.IActivityManager $ ContentProviderHolder @ 4205a700noisy = truenoReleaseNeeded = falsestable = false 03-29 01:37:4 1.554:I /冰(2521):索引完成 38E683E5680B78374039C38CC697D19B079F6A63一月3日至29日:37:44.889: d/IPCThreadState(2521):DN#5] BR_CLEAR_DEATH_NOTIFICATION_DONE 饼干0x41263ee8

+0

需要初始化的LocationManager。 – dharms

+0

我试过了,但错误没有解决。 –

+0

请用你试过的东西更新你的问题。在初始化之前确保你没有使用'locationManager'。 ('Location loc = locationManager.getLastKnownLocation(best);'是一个很好的例子) – dharms

回答

0

你有你的加入活动到你的Android清单?

我得到这个错误太多,如果我忘了将其添加到清单。

http://developer.android.com/guide/topics/manifest/manifest-intro.html

+0

我已经添加了我的活动,但它仍然给出错误。 –

+0

好吧...你把谷歌地图的开发者代码添加到你的代码中了吗?通常我只是简单地得到没有内容的地图,如果没有添加代码。第二个想法:你有谷歌地图mMap = null,然后你尝试添加一些东西。这在Java编码中不起作用 – JonathanSchmied

+0

如果您在xml中包含地图,请检查编码,如下所示:GoogleMap map =((MapFragment)getFragmentManager() .findFragmentById(R.id.map))。getMap(); – JonathanSchmied

0

你也需要给你的应用访问GPS的权限。

只要把线

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

到你的清单和一切都会好的。

又见

ACCESS_FINE_LOCATION AndroidManifest Permissions Not Being Granted

+0

我已经添加了权限 –

+0

那么它可能是什么dcharms提到。由于您在方法体外调用该变量,因此它必须在方法体外部初始化并在使用之前进行初始化。否则,您正在引用一个空变量 –

相关问题