2 weeznn weeznn 于 2016.02.28 19:25 提问

整合高德地图时报错bundle为空

.xml

 <com.amap.api.maps2d.MapView
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_weight="1"
        android:id="@+id/map"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

java

public class AdressActivity extends Activity implements GeocodeSearch.OnGeocodeSearchListener {
    private static final String TAG="AdressActivity";
    final int FLIP_SPACE=100;


    private MapView mapView;
    private AMap aMap;

    private EditText editText;
    private Button button;

    private int radiu=80;//地图圆形区域半径
    private LatLonPoint point;//地址的经纬度对象
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);


        mapView= (MapView) findViewById(R.id.map);
        editText= (EditText) findViewById(R.id.new_address_edit_text);
        button= (Button) findViewById(R.id.location);


        //必须回掉mapview的oncreat方法
        mapView.onCreate(savedInstanceState);
        mapView.onResume();
        init();

        //设置使用普通地图
        aMap.setMapType(AMap.MAP_TYPE_NORMAL);

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(editText.equals("")){
                    Toast.makeText(AdressActivity.this,getResources().getString(R.string.location_edit_empty),Toast.LENGTH_LONG).show();
                }else{
                    GeocodeSearch geocodeSearch=new GeocodeSearch(AdressActivity.this);
                    geocodeSearch.setOnGeocodeSearchListener(AdressActivity.this);
                    GeocodeQuery query=new GeocodeQuery(editText.getText().toString(),"010");
                    //将中文转换为地址编码
                    geocodeSearch.getFromLocationNameAsyn(query);
                }
            }
        });

    }

图片说明

3个回答

u011249920
u011249920   2016.02.29 09:32
已采纳

//在onCreat方法中给aMap对象赋值
setContentView(R.layout.basicmap_activity);

u011249920
u011249920   2016.02.28 19:59

你最好把代码贴一下,直接看错误提示估计是高歌地图没有初始化

luochoudan
luochoudan   Ds   Rxr 2016.02.28 21:29

savedInstanceState为空,mapView.onCreate()调用它报错,建议看一下demo是不是要加判断条件或者给它初始化之类的。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
高德地图问题
1)如何让地图下移动? 让显示的地图 往下面移动 public void moveMap(LatLng eslatlng){ esMap.moveCamera(CameraUpdateFactory.newLatLngZoom(eslatlng,15)); // 下移动 esMap.moveCamera(CameraUpdateFactory.scrol
今天又遇到高德地图冲突问题大概就是mapView.getMap();aMap.getUiSettings();都为空导致
因为以前遇到过同样的问题,所以表示并不慌张,导入相应的so文件即可需要下载AMap_Loacation_V3.3.0_20170118.jar   AMap_Search_V5.0.0_20170309.jarAndroid_Map3D_SDK_V5.0.0_20170311.jar的请点击下面的地址进行下载点击打开链接...
iOS使用高德地图趟过的坑([MAMapKit] apiKey为空,请检查key是否正确设置)
iOS使用高德地图趟过的坑([MAMapKit] apiKey为空,请检查key是否正确设置)
Android 之 高德地图学习 一 基本地图
自己做的笔记,请大神绕行~ 高德地图和百度地图相差不多,网上很多百度地图的视频教学,在这里锻炼下自己的学习能力,来弄下高德地图。 首先 进入 高德地图  官网,注册开发者  ,申请key。 然后下载相应的SDK,分为2D 、3D、搜索服务,最好再下载相应的Demo...反正我是都下了O(∩_∩)O 刚刚学习肯定不知道怎么学,那就看看官方文档吧。(我用的是2D的SDK
Android 高德地图——地图定位
一定要看清楚SDK是5.00之前还是之后,一起打包下的一般是之前的 地图已经显示,定个位吧,分版本的哦,官网讲的可清楚了 我是用之前版本,直接上代码package com.ditu.kaiwei.gaode2;import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppComp
Android开发时Activity之间传送对象Bundle为null的问题
两个Activity之间传值,获得Bundle时为null,报错如下 java.lang.NullPointerException: Attempt to invoke virtual method 'java.io.Serializable android.os.Bundle.getSerializable(java.lang.String)' on a null object referen
关于高德地图iOS apiKey为空或位数不合要求,请正确设置
打印出来apiKey为空或位数不合要求,请正确设置。 1.首先检查 高德开发者上面注册的 bundle 跟项目里的bundle identifer是否一致的.  2.那就是你  [AMapServices sharedServices].apiKey =@"你的apiKey";看这句是否一致。 我的都没问题。但是还是有打印出来apiKey为空或位数不合要求,请正确设置。苦恼了半天
记一次使用高德地图遇到的bug
项目中集成了高德地图,之前测试都是好好的,突然出现地图不能用的情况,而且是三星手机可用,华为 小米手机存在问题。断点调试后发现 mMapView.getMap() 返回的 aMap 为null,跟进代码 public AMap getMap() { IMapFragmentDelegate var1 = this.getMapFragmentDelegate(); IAMap var
Activity之间用 intent.putExtra传值,bundle.getString取值为空null
在开发时用到了两个Activity传值,在第二个Activity中取值提示为空,百思不得其解后找到了原因,先来看看最开始出问题的代码: 很正常的点击传值跳转: case R.id.cv_matchdetails_sponor: Intent intent = new Intent(MatchDetailsActivity.this
Activity基类实现保存Bundle数据,避免空指针及重复劳动
Activity基类实现保存Bundle数据,避免空指针及重复劳动讲给新手的一些话相信有一定Android开发经验的朋友或多或少的都遇到过 Activity 中某些对象莫名其妙的出现了空指针的异常。这种异常通常发生在 Activity 切换到了后台,然后又做了其他一些内存开销比较大的事,比如玩游戏,比如打开了很多其他应用。因为在后台,所以这个 Activity 的优先级就降低了,在内存比较吃紧的时候