【问题标题】:Google Map V2 button couldn't loadGoogle Map V2 按钮无法加载
【发布时间】:2013-07-22 06:54:55
【问题描述】:

我正在尝试在 Google 地图中添加此按钮。 单击后,它将显示该地点的位置。 但是,当我运行它时,它给了我一个强制关闭错误。

我现在要让它工作的按钮是“CITY” 另外两个按钮,我还没设置。

这是我的 logcat 错误。

07-22 14:50:19.260: E/AndroidRuntime(11261): FATAL EXCEPTION: main
07-22 14:50:19.260: E/AndroidRuntime(11261): java.lang.NoSuchMethodError: com.example.googlemap.MainActivity.getFragmentManager
07-22 14:50:19.260: E/AndroidRuntime(11261):    at com.example.googlemap.MainActivity.onCreate(MainActivity.java:26)
07-22 14:50:19.260: E/AndroidRuntime(11261):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1050)
07-22 14:50:19.260: E/AndroidRuntime(11261):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
07-22 14:50:19.260: E/AndroidRuntime(11261):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
07-22 14:50:19.260: E/AndroidRuntime(11261):    at android.app.ActivityThread.access$1500(ActivityThread.java:117)
07-22 14:50:19.260: E/AndroidRuntime(11261):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
07-22 14:50:19.260: E/AndroidRuntime(11261):    at android.os.Handler.dispatchMessage(Handler.java:99)
07-22 14:50:19.260: E/AndroidRuntime(11261):    at android.os.Looper.loop(Looper.java:130)
07-22 14:50:19.260: E/AndroidRuntime(11261):    at android.app.ActivityThread.main(ActivityThread.java:3691)
07-22 14:50:19.260: E/AndroidRuntime(11261):    at java.lang.reflect.Method.invokeNative(Native Method)
07-22 14:50:19.260: E/AndroidRuntime(11261):    at java.lang.reflect.Method.invoke(Method.java:507)
07-22 14:50:19.260: E/AndroidRuntime(11261):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912)
07-22 14:50:19.260: E/AndroidRuntime(11261):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:670)
07-22 14:50:19.260: E/AndroidRuntime(11261):    at dalvik.system.NativeStart.main(Native Method)

这是我的代码。

MainActivity.java

public class MainActivity extends  FragmentActivity  {

    private final LatLng LOCATION_BURNABY = new LatLng(49.27645, -122.917587);
    private final LatLng LOCATION_SURREY = new LatLng(49.187500, -122.849000);

    private GoogleMap map;


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

        map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
    }

    public void onClick_City(View v){
        CameraUpdate update = CameraUpdateFactory.newLatLng(LOCATION_BURNABY);
        map.animateCamera(update);
    }

    public void onClick_Burnaby(View v){

    }

    public void onClick_Surrey(View v){

    }
}

【问题讨论】:

  • 你在什么 sdk 上运行你的代码?
  • minsdk = "8"..是这样吗?

标签: android eclipse google-maps


【解决方案1】:

你应该使用getSupportFragmentManager()

SupportMapFragment fm = (SupportMapFragment)  getSupportFragmentManager().findFragmentById(R.id.map);
map = fm.getMap(); 

【讨论】:

  • 知道这是什么意思吗? [2013-07-22 16:31:47 - googlemap] 无法在设备“1427908188A5BBC2E5921E3A219736E”上安装 googlemap.apk:打开的文件太多 [2013-07-22 16:31:47 - googlemap] com.android.ddmlib。 SyncException:打开的文件太多 [2013-07-22 16:31:47 - googlemap] 启动已取消!
  • @Febbie 尝试在您的设备上进行测试。
  • 我在我的设备上试过了,它告诉我......我现在重新启动了我的 Eclipse 和手机。希望没有更多的问题
  • @Febbie 我没有遇到过这个问题。建议您在模拟器或设备上测试之前检查 google play services apk 的可用性。确保你使用 google api 的
  • 嗨,我已经解决了这个问题。我猜我的手机有问题。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-01
  • 2018-05-01
相关资源
最近更新 更多