我想写两个活动,一个是活动,另一个是mapactivity,但它可以在下面得到错误消息
Caused by: android.view.InflateException: Binary XML file line #129: Error inflating class com.google.android.maps.MapView
Caused by: java.lang.reflect.InvocationTargetException
Caused by: java.lang.IllegalArgumentException: MapViews can only be created inside instances of MapActivity.
PS: 我写了一个关于照片上传的应用程序,如果我想在每张照片上添加GPS功能,将上传的经度和纬度作为传递给服务器的参数,请告诉我如何处理,谢谢。
答案 0 :(得分:1)
您无法在其他活动中创建地图活动。
您需要制作片段活动并在那里显示地图
www.youtube.com/watch?v=awX5T-EwLPc
您可以参考以下视频。
这是一个应该有用的示例代码。
public class MainActivity extends android.support.v4.app.FragmentActivity
implements OnMapClickListener {
private GoogleMap mMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Try to obtain the map from the SupportMapFragment.
mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map))
.getMap();
if (mMap== null)
{
Toast.makeText(this,"Google Maps not Available",
Toast.LENGTH_LONG).show();
}
// mMap.setOnMapClickListener(this);
mMap.setMyLocationEnabled(true);
}
不要忘记获取API密钥,并正确更新您的清单。 根据需要制作正确的片段xml。