这是最新消息。我想开始一个外部活动来显示地理坐标,而不是在我的应用程序中实现Google地图。目前我手边有太多东西,我不想经历实施地图的麻烦。因此,是否可以将参数传递给外部地图活动,类似于我们对文本消息,电话,相机等的处理?
非常感谢!
答案 0 :(得分:2)
您可以使用此命令执行此操作:
private void openMapGeo(String latitude, String longitude) {
Intent intent2 = new Intent(Intent.ACTION_VIEW, Uri.parse("geo:" + latitude + ","
+ longitude + "?z=17&q=" + latitude + "," + longitude));
// z stands for zoom level
// replace the q with a search string works too. Example:
// intent2 = new Intent(Intent.ACTION_VIEW,
// Uri.parse("geo:0,0?q=Tokyo"));
startActivity(intent2);
}
另一种方法是使用地图网站网址。这将询问用户是否要打开地图应用程序(如果已安装)或浏览器:
private void openMapUrl(String latitude, String longitude) {
Intent intent = new Intent(Intent.ACTION_VIEW,
Uri.parse("http://maps.google.com/?q=" + latitude + "," + longitude));
startActivity(intent);
}
此处的其他一些示例:https://github.com/pboos/GoogleMapExamples(查看其中的Presentation.pdf文件)
编辑:
如果安装了谷歌地图应用程序,根据事实使用上述两者(上述两个功能也需要存在):
private void openMap(String latitude, String longitude) {
try {
ApplicationInfo info = getPackageManager().getApplicationInfo("com.google.android.apps.maps", 0 );
openMapGeo(latitude, longitude);
} catch(PackageManager.NameNotFoundException e) {
openMapUrl(latitude, longitude);
}
}
答案 1 :(得分:0)
您实际上可以使用地图网络应用程序,转到浏览器并转到谷歌地图的网站,然后运行您想要的任何类型的查询。看看api的地图。