【发布时间】:2014-03-21 11:29:55
【问题描述】:
我必须在 android 模拟器中显示谷歌地图,但它崩溃了,即使每次我下载谷歌地图的代码时,我都会放置 api 密钥,所有其他库,但应用程序崩溃,这是我当前的代码。
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;
import android.app.Activity;
import android.os.Bundle;
public class MainActivity extends Activity {
GoogleMap map;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
map.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
LatLng latLng = new LatLng(13.05241, 80.25082);
map.addMarker(new MarkerOptions().position(latLng).title("Raj Amal"));
}}
但是当map.setMapType(GoogleMap.MAP_TYPE_SATELLITE); 及以下是我的日志猫时应用程序崩溃
03-21 07:24:33.904: E/AndroidRuntime(1039): FATAL EXCEPTION: main
03-21 07:24:33.904: E/AndroidRuntime(1039): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.amal.googlemap/com.amal.googlemap.MainActivity}: java.lang.NullPointerException
03-21 07:24:33.904: E/AndroidRuntime(1039): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
03-21 07:24:33.904: E/AndroidRuntime(1039): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
03-21 07:24:33.904: E/AndroidRuntime(1039): at android.app.ActivityThread.access$600(ActivityThread.java:141)
03-21 07:24:33.904: E/AndroidRuntime(1039): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
03-21 07:24:33.904: E/AndroidRuntime(1039): at android.os.Handler.dispatchMessage(Handler.java:99)
03-21 07:24:33.904: E/AndroidRuntime(1039): at android.os.Looper.loop(Looper.java:137)
03-21 07:24:33.904: E/AndroidRuntime(1039): at android.app.ActivityThread.main(ActivityThread.java:5103)
03-21 07:24:33.904: E/AndroidRuntime(1039): at java.lang.reflect.Method.invokeNative(Native Method)
03-21 07:24:33.904: E/AndroidRuntime(1039): at java.lang.reflect.Method.invoke(Method.java:525)
03-21 07:24:33.904: E/AndroidRuntime(1039): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
03-21 07:24:33.904: E/AndroidRuntime(1039): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
03-21 07:24:33.904: E/AndroidRuntime(1039): at dalvik.system.NativeStart.main(Native Method)
03-21 07:24:33.904: E/AndroidRuntime(1039): Caused by: java.lang.NullPointerException
03-21 07:24:33.904: E/AndroidRuntime(1039): at com.amal.googlemap.MainActivity.onCreate(MainActivity.java:18)
03-21 07:24:33.904: E/AndroidRuntime(1039): at android.app.Activity.performCreate(Activity.java:5133)
03-21 07:24:33.904: E/AndroidRuntime(1039): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
03-21 07:24:33.904: E/AndroidRuntime(1039): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
03-21 07:24:33.904: E/AndroidRuntime(1039): ... 11 more
【问题讨论】:
-
试试这个
map.setMapType(MAP_TYPE_SATELLITE);而不是map.setMapType(GoogleMap.MAP_TYPE_SATELLITE); -
错误 MAP_TYPE_SATELLITE 无法解析为变量
-
地图为空。还要在初始化 GoogleMap 对象之前检查 google play 服务的可用性
-
任何经过验证的带有纬度/经度的谷歌地图教程
-
google 地图将无法在模拟器中运行,您将在模拟器配置中进行更改以在其中运行 google 地图。在谷歌上搜索。
标签: java android eclipse google-maps