目前正在创建一个为体育比赛创建活动的应用程序 - 时间,日期,地点等。我有一个打开谷歌地图的按钮,并添加了“android.intent.action.SEND”,我可以从地图分享该位置到我的应用程序,但是我不确切知道如何从地图中拉出long / lat或url并将其存储在String或TextView / EditText中。我怎样才能做到这一点?
我创建了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);
}
});
从Google地图共享时,网址或经度/纬度将存储在变量中,或设置为我可以共享的TextView。
没有经典的方法从谷歌地图通过intent
获取位置(例如,从相机获取图片)。
Google Maps Place Picker API本可以为你解决这个问题,但它现在已经解散了。由于某种原因,它将于2019年7月29日被禁用。
您必须为此任务选择不同的Google Maps API
。谷歌已经制作了一个API Picker来帮助你选择你想要的。看看它。
我担心你必须重新设计用户在你的应用中选择位置的方式。一种方法是在其中创建一个包含Google Map的活动。