我在谷歌地图API中仍然是新手,我很难将纬度和经度从第一个活动传递到第二个活动。 现在当我在第一个活动中点击一个按钮时,它会将纬度和经度值传递给包含谷歌地图的第二个活动。
第一项活动:
apotek.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
double lat = -7.94203712;
double lng = 112.60936975;
Bundle bundle = new Bundle();
Intent intent = new Intent(Menu1.this, menu_cari.class);
bundle.putDouble(menu_cari.TAG1,lat);
bundle.putDouble(menu_cari.TAG2, lng);
startActivity(intent);
}
});
第二项活动:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (GoogleServicesAvailable()) {
Toast.makeText(menu_cari.this, "Terhubung...", Toast.LENGTH_LONG).show();
setContentView(R.layout.activity_menu_cari);
initmap();
} else {
//maps tidak ditampilkan
}
Bundle extras = getIntent().getExtras();
lat_apotek=extras.getDouble(TAG1,0);
lng_apotek=extras.getDouble(TAG2,0);
goToLocation(lat_apotek,lng_apotek,20);
}
public void goToLocation(double lat, double lng, float zoom) {
LatLng ll = new LatLng(lat, lng);
CameraUpdate update = CameraUpdateFactory.newLatLngZoom(ll, zoom);
mGoogleMap.moveCamera(update);
}
答案 0 :(得分:0)
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_read_pdf);
path = getIntent().getExtras().getString("pdfPath", "");
init();
if(!path.equals("")) {
Constants.showLoadingDialog(this);
Log.d("PDFLink", path);
setPdfView();
}else{
Toast.makeText(this, "No PDF to display", Toast.LENGTH_SHORT).show();
}
}
private void init(){
webview = (WebView) findViewById(R.id.webView);
backBtn = (ImageView) findViewById(R.id.backBtn);
backBtn.setOnClickListener(this);
}
private void setPdfView() {
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl("http://drive.google.com/viewerng/viewer?embedded=true&url=" + path);
webview.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {
Constants.hideDialog();
}
});
}
答案 1 :(得分:0)
你忘了把附加内容捆绑在一起:
Bundle bundle = new Bundle();
Intent intent = new Intent(Menu1.this, menu_cari.class);
bundle.putDouble(menu_cari.TAG1,lat);
bundle.putDouble(menu_cari.TAG2, lng);
intent.putExtras(bundle); //add this
此外,您应该在goToLocation(lat_apotek,lng_apotek,20);
方法
onMapReady
同时检查标签:
Bundle extras = getIntent().getExtras();
lat_apotek=extras.getDouble(TAG1,0); //TAG1 should match `menu_cari.TAG1`
答案 2 :(得分:0)
FirstActivity:
apotek.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
double lat = -7.94203712;
double lng = 112.60936975;
Bundle bundle = new Bundle();
Intent intent = new Intent(Menu1.this, menu_cari.class);
bundle.putDouble(menu_cari.TAG1,lat);
bundle.putDouble(menu_cari.TAG2, lng);
///////////////////////////////
intent.putExtra("bundleKey",bundle);
/////////////////////
startActivity(intent);
}
});
对于Bundle访问:
Bundle b = this.getIntent().getExtras();
double lng=b.getDouble(key);