目前正在创建一个应用程序,用于为体育比赛创建事件 - 时间,日期,位置等。我有一个按钮可以打开谷歌地图并添加"android.intent.action.SEND",我可以将位置从地图共享到我的应用程序,但是我不知道如何从地图中提取长/纬度或网址并将其存储在字符串或文本视图/编辑文本中。我该怎么做?
我创建了TextView,EditTexts和变量。共享到我的应用只会重置它。
//From Manifest
<intent-filter>
<action android:name="android.intent.action.SEND"></action>
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</intent-filter>
//Button to Open Google Maps
locationPicker.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Uri gmmIntentUri = Uri.parse("geo:0,0?q=");
Intent i = new Intent(Intent.ACTION_MAIN);
PackageManager managerclock = getPackageManager();
i = managerclock.getLaunchIntentForPackage("com.google.android.apps.maps");
i.addCategory(Intent.CATEGORY_LAUNCHER);
startActivity(i);
}
});
从谷歌地图共享时,网址或经度/纬度将存储在变量中或设置为文本视图,我可以共享它。
没有经典的方法可以通过谷歌地图的intent
获取位置(例如,从相机获取图片(。
Google Maps Place Picker API 本可以为您解决此问题,但现在已停用。由于某种原因,它将在2019年7月29日被禁用。
您必须为此任务选择不同的Google Maps API
。谷歌制作了一个API选择器来帮助你选择你想要的。看看吧。
恐怕您将不得不重新设计用户如何在您的应用程序中选择位置的方式。一种方法是创建一个包含谷歌地图的活动。