显示java.lang.NullPointerException:CameraUpdateFactory未初始化logcat的例外 [英] java.lang.NullPointerException: CameraUpdateFactory is not initialized logcat exception

查看:390
本文介绍了显示java.lang.NullPointerException:CameraUpdateFactory未初始化logcat的例外的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用谷歌地图。我能够成功地创建并能显示一个谷歌地图。现在,我想补充 CameraUpdate(纬度,经度)。我一派,我发现了一些源$ C ​​$ C,但我得到一个 NullPointerException异常

在LogCat中的错误信息是:

 显示java.lang.NullPointerException:CameraUpdateFactory未初始化
 

这是我的源。我究竟做错了什么?

 公共类StradaContact扩展片段{

公共最后静态字符串变量= StradaContact.class.getSimpleName();
私人MapView类mMapView;
私人GoogleMap的MMAP;
私人捆绑mBundle;
双经度= 44.79299800000001,纬度= 41.709981;

公共StradaContact(){

}

公共静态StradaContact的newInstance(){
    返回新StradaContact();
}

@覆盖
公共查看onCreateView(LayoutInflater充气,容器的ViewGroup,
        捆绑savedInstanceState){

    查看rootView = inflater.inflate(R.layout.strada_contact,集装箱,假);

    mMapView =(图形页面)rootView.findViewById(R.id.pointMap);

    mMapView.onCreate(mBundle);
    setUpMapIfNeeded(rootView);

    返回rootView;
}

@覆盖
公共无效的onCreate(包savedInstanceState){
    super.onCreate(savedInstanceState);
    mBundle = savedInstanceState;
}

私人无效setUpMapIfNeeded(查看inflatedView){
    如果(MMAP == NULL){
        MMAP =((图形页面)inflatedView.findViewById(R.id.pointMap))的GetMap()。
        如果(MMAP!= NULL){
            CameraUpdate中心= CameraUpdateFactory.newLatLng(新经纬度(纬度,经度));
            CameraUpdate变焦= CameraUpdateFactory.zoomTo(15);
            mMap.moveCamera(中心);
            mMap.animateCamera(变焦);
        }
    }
}

@覆盖
公共无效onResume(){
    super.onResume();
    mMapView.onResume();
}

@覆盖
公共无效的onPause(){
    super.onPause();
    mMapView.onPause();
}

@覆盖
公共无效的onDestroy(){
    mMapView.onDestroy();
    super.onDestroy();
}
 

}

 < com.google.android.gms.maps.MapView
        机器人:ID =@ + ID / pointMap
        机器人:名称=com.google.android.gms.maps.MapFragment
        机器人:layout_width =match_parent
        机器人:layout_height =match_parent

        类=com.google.android.gms.maps.MapFragment/>
 

解决方案

在的onCreate试试这个:

 尝试{
 MapsInitializer.initialize(本);
}赶上(GooglePlayServicesNotAvailableException E){
 e.printStackTrace();
}
 

I'm working with Google Maps. I am able to successfully create and can show a Google Map. Now I want to add CameraUpdate(latitude, longitude). I googled and I found some source code but I'm getting a NullPointerException.

The LogCat error message is:

java.lang.NullPointerException: CameraUpdateFactory is not initialized

This is my source. What am I doing wrong?

public class StradaContact extends Fragment {

public final static String TAG = StradaContact.class.getSimpleName();
private MapView mMapView;
private GoogleMap mMap;
private Bundle mBundle;
double longitude = 44.79299800000001, latitude = 41.709981;

public StradaContact() {

}

public static StradaContact newInstance() {
    return new StradaContact();
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    View rootView = inflater.inflate(R.layout.strada_contact, container,false);

    mMapView = (MapView) rootView.findViewById(R.id.pointMap);

    mMapView.onCreate(mBundle);
    setUpMapIfNeeded(rootView);

    return rootView;
}

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    mBundle = savedInstanceState;
}

private void setUpMapIfNeeded(View inflatedView) {
    if (mMap == null) {
        mMap = ((MapView) inflatedView.findViewById(R.id.pointMap)).getMap();
        if (mMap != null) {
            CameraUpdate center = CameraUpdateFactory.newLatLng(new LatLng(latitude, longitude));
            CameraUpdate zoom = CameraUpdateFactory.zoomTo(15);
            mMap.moveCamera(center);
            mMap.animateCamera(zoom);
        }
    }
}

@Override
public void onResume() {
    super.onResume();
    mMapView.onResume();
}

@Override
public void onPause() {
    super.onPause();
    mMapView.onPause();
}

@Override
public void onDestroy() {
    mMapView.onDestroy();
    super.onDestroy();
}

}

<com.google.android.gms.maps.MapView
        android:id="@+id/pointMap"
        android:name="com.google.android.gms.maps.MapFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"

        class="com.google.android.gms.maps.MapFragment" />

解决方案

Try this in "onCreate":

try {
 MapsInitializer.initialize(this);
} catch (GooglePlayServicesNotAvailableException e) {
 e.printStackTrace();
}

这篇关于显示java.lang.NullPointerException:CameraUpdateFactory未初始化logcat的例外的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆