Android标记不起作用

Android标记不起作用,android,google-maps,marker,Android,Google Maps,Marker,我的记号笔坏了。我不知道为什么。 标记器在onMapReady方法中不起任何作用。在onCreate中起作用。但它在其他地方运行。它的印刷品是“hata1”和“hata2”。 当我创建新项目时,不会从/sdk/extras/./google\u play/services导入。我得到“找不到文件/settings.jar”错误。所以我也不想要新项目 import android.app.FragmentManager; import android.app.FragmentTransaction

我的记号笔坏了。我不知道为什么。 标记器在onMapReady方法中不起任何作用。在onCreate中起作用。但它在其他地方运行。它的印刷品是“hata1”和“hata2”。 当我创建新项目时,不会从/sdk/extras/./google\u play/services导入。我得到“找不到文件/settings.jar”错误。所以我也不想要新项目

import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.support.v4.app.FragmentActivity;
import android.os.Bundle;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapFragment;
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.Marker;
import com.google.android.gms.maps.model.MarkerOptions;
import java.util.*;
import android.os.Bundle;
import com.google.android.*;
import android.graphics.*;
import android.view.View;
import android.widget.Toast;


public class MapsActivity extends FragmentActivity implements OnMapReadyCallback{

    private GoogleMap myMap;


    public static final LatLng PERTH = new LatLng(36.57, 36.17);
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_maps);

        Toast.makeText(getApplicationContext(),"hata1",Toast.LENGTH_SHORT).show();
        if(myMap!=null) {
            Marker marker = myMap.addMarker(new MarkerOptions()
                    .position(PERTH)
                    .title("Marker").visible(true));
            marker.showInfoWindow();

            myMap.moveCamera(CameraUpdateFactory.newLatLngZoom(PERTH, 13));
        }
        else
        {
            Toast.makeText(getApplicationContext(),"hata2",Toast.LENGTH_SHORT).show();
        }

    }


    @Override


    public void onMapReady(GoogleMap myMap) {

    }

}
}


如果您面临任何崩溃或错误,请共享详细日志。您可以尝试这种方法吗?因为
onMapReady()
一旦你的
GoogleMap
准备好了,你就可以使用
GoogleMap
对象了

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback{

private GoogleMap myMap;

public static final LatLng PERTH = new LatLng(36.57, 36.17);
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_maps);

    MapFragment mapFragment = (MapFragment) getFragmentManager()
            .findFragmentById(R.id.map);
    mapFragment.getMapAsync(this);
}


@Override
public void onMapReady(GoogleMap myMap) {
    Toast.makeText(getApplicationContext(),"hata1",Toast.LENGTH_SHORT).show();
    if(myMap!=null) {
        Marker marker = myMap.addMarker(new MarkerOptions()
                .position(PERTH)
                .title("Marker").visible(true));
        marker.showInfoWindow();

        myMap.moveCamera(CameraUpdateFactory.newLatLngZoom(PERTH, 13));
    }
    else
    {
        Toast.makeText(getApplicationContext(),"hata2",Toast.LENGTH_SHORT).show();
    }
}
}

onMapReady方法不调用?请在oncreate中尝试此操作。当我尝试oncreate方法应用程序stopped12-16 12:22:03.701 21361-21361/com.example.samsun.myapplication E/AndroidRuntime:at com.example.samsun.myapplication.MapsActivity.getHandleOnMap(MapsActivity.java:39)时,需要从oncreate调用getMapSync12-16 12:22:03.701 21361-21361/com.example.samsun.myapplication E/AndroidRuntime:at com.example.samsun.myapplication.MapsActivity.onCreate(MapsActivity.java:33)和应用程序已停止
public class MapsActivity extends FragmentActivity implements OnMapReadyCallback{

private GoogleMap myMap;

public static final LatLng PERTH = new LatLng(36.57, 36.17);
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_maps);

    MapFragment mapFragment = (MapFragment) getFragmentManager()
            .findFragmentById(R.id.map);
    mapFragment.getMapAsync(this);
}


@Override
public void onMapReady(GoogleMap myMap) {
    Toast.makeText(getApplicationContext(),"hata1",Toast.LENGTH_SHORT).show();
    if(myMap!=null) {
        Marker marker = myMap.addMarker(new MarkerOptions()
                .position(PERTH)
                .title("Marker").visible(true));
        marker.showInfoWindow();

        myMap.moveCamera(CameraUpdateFactory.newLatLngZoom(PERTH, 13));
    }
    else
    {
        Toast.makeText(getApplicationContext(),"hata2",Toast.LENGTH_SHORT).show();
    }
}
}