相关疑难解决方法(0)

用getMapAsync替换getMap

我想替换已弃用的getMap方法getMapAsync,但我没有使用,MapFragment但是GoogleMap像这样:

private GoogleMap googleMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_map);

    try {
        if(googleMap == null) {
            googleMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
        }
        googleMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
        googleMap.setMyLocationEnabled(true);
        googleMap.setTrafficEnabled(true);
        googleMap.setIndoorEnabled(true);
        googleMap.setBuildingsEnabled(true);
        googleMap.getUiSettings().setZoomControlsEnabled(true);
Run Code Online (Sandbox Code Playgroud)

如果我更换googleMapMapFragment这样我不能再对setMapType等.那么我怎么能改变getMapAsync我的情况呢?

MapFragment mapFragment = (MapFragment) getFragmentManager()
            .findFragmentById(R.id.map);
    mapFragment.getMapAsync(this);
Run Code Online (Sandbox Code Playgroud)

android google-maps google-maps-android-api-2

37
推荐指数
2
解决办法
8万
查看次数

Android找不到符号方法getMap()

我有一个gps应用程序在我的手机上正常工作.但是,我看到有人在制作中有空指针异常.

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

    // Getting GoogleMap object from the fragment
    googleMap = fm.getMap();

    // Enabling MyLocation Layer of Google Map
    googleMap.setMyLocationEnabled(true);

    googleMap.setPadding(0, 0, 0, 90);
Run Code Online (Sandbox Code Playgroud)

我从生产中得到的错误是由:

java.lang.NullPointerException: Attempt to invoke virtual method 'void com.google.android.gms.maps.GoogleMap.setMyLocationEnabled(boolean)' on a null object reference
Run Code Online (Sandbox Code Playgroud)

所以我做了一些研究,发现getMap方法已被删除,人们推荐使用 getMapAsync(this);

@Override
public void onMapReady(GoogleMap googleMap) {
    this.googleMap = googleMap;    //which doesn't seem to work
}
Run Code Online (Sandbox Code Playgroud)

但是,我googleMap在许多不同的方法中引用变量,我无法将所有代码移动到onMapReady方法.我尝试this.googleMap = googleMaponMapReady方法内部使用,但每当我尝试引用googleMap变量时,我仍然会得到空指针异常.我在onCreated()中定义了getMapAsync(this),然后尝试访问onResume()中的'googleMap'对象并获取空指针异常.有没有办法来解决这个问题?谢谢.

java android google-maps supportmapfragment

8
推荐指数
2
解决办法
3万
查看次数

Android,无法解析方法getMap()

我有这个代码的问题,"无法解决方法getMap().我没有找到问题所在,请求代码帮助,我使用Android Studio,需要使用Json的mySQL标记位置.

    googleMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.googleMap)).getMap();`
Run Code Online (Sandbox Code Playgroud)

这是完整的代码

 public class MainActivity extends FragmentActivity {

    private GoogleMap googleMap;
    private Double Latitude = 0.00;
    private Double Longitude = 0.00;
    private GoogleApiClient client2;

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

        if (Build.VERSION.SDK_INT > 9) {
            StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
            StrictMode.setThreadPolicy(policy);
        }

        ArrayList<HashMap<String, String>> location = null;
        String url = "http://www.evil.cl/getLatLon.php";
        try {

            JSONArray data = new JSONArray(getHttpGet(url));

            location = new ArrayList<HashMap<String, String>>();
            HashMap<String, String> map;

            for (int i = 0; i < data.length(); …
Run Code Online (Sandbox Code Playgroud)

android google-maps google-maps-markers

3
推荐指数
2
解决办法
4万
查看次数