如何在android的同一选项卡中加载本机google地图?
我只需要2个标签,作为参考 我的类架构如下:如何在android的同一选项卡中加载本机google地图?,android,google-maps,tabs,Android,Google Maps,Tabs,我只需要2个标签,作为参考 我的类架构如下: MainActivity 1.TabGroup1Activity扩展了TabGroupActivity(从上述参考实现的TabGroupActivity类) 一,Tab1Activity扩展MapActivity(具有多个标记) 2.TabGroup2Activity扩展了TabGroupActivity 2.i选项卡2活动 MainActivity.java TabHost = getTabHost(); Intent intentTab;
MainActivity 1.TabGroup1Activity扩展了TabGroupActivity(从上述参考实现的TabGroupActivity类)
一,Tab1Activity扩展MapActivity(具有多个标记)
2.TabGroup2Activity扩展了TabGroupActivity
2.i选项卡2活动 MainActivity.java
TabHost = getTabHost();
Intent intentTab;
intentTab = new Intent().setClass(this, TabGroup1Activity.class);
mTabHost.addTab(mTabHost.newTabSpec("tab_1").setIndicator("Search")
.setContent(intentTab));
intentTab = new Intent().setClass(this, TabGroup2Activity.class);
mTabHost.addTab(mTabHost.newTabSpec("tab_2").setIndicator("Google Map")
.setContent(intentTab));
TabHost.setCurrentTab(0);
public class GroupTab2Activity extends TabGroupActivity{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
startChildActivity("Tab2Activity", new Intent(this,Tab2Activity.class));
}
}
TabGroup2Activity.java
TabHost = getTabHost();
Intent intentTab;
intentTab = new Intent().setClass(this, TabGroup1Activity.class);
mTabHost.addTab(mTabHost.newTabSpec("tab_1").setIndicator("Search")
.setContent(intentTab));
intentTab = new Intent().setClass(this, TabGroup2Activity.class);
mTabHost.addTab(mTabHost.newTabSpec("tab_2").setIndicator("Google Map")
.setContent(intentTab));
TabHost.setCurrentTab(0);
public class GroupTab2Activity extends TabGroupActivity{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
startChildActivity("Tab2Activity", new Intent(this,Tab2Activity.class));
}
}
在Tab2Activity.java中,我有一个名为googleMapButton的按钮
googleMapButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
final Intent intent = new Intent(Intent.ACTION_VIEW, Uri
.parse("http://maps.google.com/maps?"
+ "saddr=43.0054446,-87.9678884"
+ "&daddr=42.9257104,-88.0508355"));
intent.setClassName("com.google.android.apps.maps",
"com.google.android.maps.MapsActivity");
startActivity(intent);
}
});
单击按钮,它将加载本机google地图,但底部的选项卡将消失,如何使其在同一选项卡中打开??Thanx 看看这里:
googleMapButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
final Intent intent = new Intent(Intent.ACTION_VIEW, Uri
.parse("http://maps.google.com/maps?"
+ "saddr=43.0054446,-87.9678884"
+ "&daddr=42.9257104,-88.0508355"));
intent.setClassName("com.google.android.apps.maps",
"com.google.android.maps.MapsActivity");
startActivity(intent);
}
});
你所做的是向安装在设备上的谷歌地图应用程序(“com.Google.android.apps.Maps”)发出明确的意向,要求它运行MapsActivity。一旦触发,它将离开您的应用程序并运行GoogleMap
如果你想在自己的应用程序中打开谷歌地图,你必须自己动手。
这对您来说是一个很好的开始:只有我自己在服务器上托管地图时,我才能在WebView中成功打开地图(Google map API页面上的说明)。我曾尝试过使用内置浏览器打开地图的iOS方法,但未能成功。如果你坚持尝试,那么祝你好运。我现在习惯了使用MapView,它非常方便。我能在MapView上找到一个显示两个方向之间方向的示例项目吗??github,svn??我在回答中使用了链接中的一个。然后我用它来解析KML文件。