为了账号安全,请及时绑定邮箱和手机立即绑定

GoogleMap.addMarker 抛出空异常

GoogleMap.addMarker 抛出空异常

守着星空守着你 2022-11-10 16:46:19
我试图为我的自定义谷歌地图应用程序创建一个搜索栏,但每次我尝试搜索位置时应用程序强制关闭。看起来我做的一切都是正确的,按顺序说话。事情是,当我试图搜索一个位置时,它只是强制关闭应用程序,回到主菜单。XML 文件:<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context=".MainActivity">    <fragment        android:layout_width="match_parent"        android:layout_height="match_parent"        android:id="@+id/google_map"        android:name="com.google.android.gms.maps.SupportMapFragment"/>    <SearchView        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:id = "@+id/sv_loc"        android:queryHint="Search for a place or location..."        android:iconifiedByDefault="false"        android:layout_margin="10dp"        android:elevation="5dp"        android:background="@drawable/bg_round" /></RelativeLayout>Java 文件:package my.maptestapplication;import android.location.Address;import android.location.Geocoder;import android.provider.Telephony;import android.support.v4.app.FragmentActivity;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.widget.SearchView;import com.google.android.gms.maps.CameraUpdate;import com.google.android.gms.maps.CameraUpdateFactory;import com.google.android.gms.maps.GoogleMap;import com.google.android.gms.maps.OnMapReadyCallback;import com.google.android.gms.maps.SupportMapFragment;import com.google.android.gms.maps.model.LatLng;import com.google.android.gms.maps.model.MarkerOptions;import java.io.IOException;import java.util.List;日志猫:https://drive.google.com/file/d/1uIzbJvkyefEby9Yo2vqiOQwByXl_G1uq/view?usp=sharing我假设如果成功,会出现一个地图标记,它会突出显示我在搜索栏上输入的位置。会有人帮我解决这个问题吗?
查看完整描述

1 回答

?
九州编程

TA贡献1785条经验 获得超4个赞

在您尝试将标记设置GMap为空时。


这就是为什么您必须使用onMapReady事件并设置GMap变量的原因。


@Override

public void onMapReady(GoogleMap googleMap) {

   GMap = googleMap;

}

您可以在此处阅读有关onMapReady活动的信息


查看完整回答
反对 回复 2022-11-10
  • 1 回答
  • 0 关注
  • 116 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信