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