如何使用 Android 中的按钮在来自另一个 class 的 Google 地图中添加标记
How to add marker in Google maps from another class using button in Android
我有一个问题我不知道错误的原因是什么。我有两个 class 即 Map2.java 和 CameraVertical.java
在 Map2.java 中,我在按钮上有一个方法,它分别传递 LAT 和 LNG 坐标,所以这是 Map2.java:
的代码
public void passData(){
btnSet.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
Intent intentCover = new Intent(Map2.this,CameraVertical.class);
intentCover.putExtra("lat",lat);
intentCover.putExtra("lng",lng);
startActivity(intentCover);
finish();
}
});
}
我在 CameraVertical.java 中收到坐标(纬度/经度),使用文本视图显示它,这是代码:
Bundle extra = getIntent().getExtras();
double lat2 = extra.getDouble("lat");
double lng2 = extra.getDouble("lng");
final LatLng latlng = new LatLng(lat2,lng2);
txtLocation = (TextView) findViewById(R.id.tvLatitude);
txtLocation.setText(latlng.latitude + latlng.longitude);
我从Map2.java收到的坐标显示成功。但是当我从那个坐标(显示的那个)添加一个新标记时,我从 Map2 创建一个对象,即地图,这样我就可以访问我的地图来添加标记。我收到错误,这是代码:
btnNext.setOnclickListener(new View.OnclickListener(){
@Override
public void onClick(View v){
Map2 maps = new Map2();
maps.mGoogleMap.addMarker(new MarkerOptions().position(latlng));
maps.mGoogleMap.moveCamera(CameraUpdateFactory.newLatLng(low));
maps.mGoogleMap.animateCamera(CameraUpdateFactory.zoomTo(17.0f));
Intent intentMap = new Intent(CameraVertical.this, Map2.class);
startActivity(intentMap);
finish();
}
};
请帮帮我!标记没有使用该坐标(我收到的坐标)添加到地图中。
您应该检查您的 mGoogleMap
是否准备就绪,以便添加标记。
我有一个问题我不知道错误的原因是什么。我有两个 class 即 Map2.java 和 CameraVertical.java 在 Map2.java 中,我在按钮上有一个方法,它分别传递 LAT 和 LNG 坐标,所以这是 Map2.java:
的代码public void passData(){
btnSet.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
Intent intentCover = new Intent(Map2.this,CameraVertical.class);
intentCover.putExtra("lat",lat);
intentCover.putExtra("lng",lng);
startActivity(intentCover);
finish();
}
});
}
我在 CameraVertical.java 中收到坐标(纬度/经度),使用文本视图显示它,这是代码:
Bundle extra = getIntent().getExtras();
double lat2 = extra.getDouble("lat");
double lng2 = extra.getDouble("lng");
final LatLng latlng = new LatLng(lat2,lng2);
txtLocation = (TextView) findViewById(R.id.tvLatitude);
txtLocation.setText(latlng.latitude + latlng.longitude);
我从Map2.java收到的坐标显示成功。但是当我从那个坐标(显示的那个)添加一个新标记时,我从 Map2 创建一个对象,即地图,这样我就可以访问我的地图来添加标记。我收到错误,这是代码:
btnNext.setOnclickListener(new View.OnclickListener(){
@Override
public void onClick(View v){
Map2 maps = new Map2();
maps.mGoogleMap.addMarker(new MarkerOptions().position(latlng));
maps.mGoogleMap.moveCamera(CameraUpdateFactory.newLatLng(low));
maps.mGoogleMap.animateCamera(CameraUpdateFactory.zoomTo(17.0f));
Intent intentMap = new Intent(CameraVertical.this, Map2.class);
startActivity(intentMap);
finish();
}
};
请帮帮我!标记没有使用该坐标(我收到的坐标)添加到地图中。
您应该检查您的 mGoogleMap
是否准备就绪,以便添加标记。