我是一个新的安卓开发者。我想发送一条包含我当前位置的短信。我知道如何获取我的位置坐标。但我想要的是像 URL 一样发送,用户可以打开并查看我在哪里(例如:使用 waze,你可以分享你的位置,我想也可以使用谷歌地图应用程序)。我尝试使用谷歌地图 API,但没有找到生成 URL 的选项。
任何人都可以提供一些想法吗?或API?
感谢大家!!!
我想这就是你需要的。
public void sendLocationSMS(String phoneNumber, Location currentLocation) {
SmsManager smsManager = SmsManager.getDefault();
StringBuffer smsBody = new StringBuffer();
smsBody.append("http://maps.google.com?q=");
smsBody.append(currentLocation.getLatitude());
smsBody.append(",");
smsBody.append(currentLocation.getLongitude());
smsManager.sendTextMessage(phoneNumber, null, smsBody.toString(), null, null);
}
我会使用地图覆盖而不是默认地图。
我开发了一个使用位置功能并在地图中显示的应用程序。在 google play 上看到。
“你在哪里” https://play.google.com/store/apps/details?id=com.kabhos.android.apps.knowmylocation
String uri = "http://maps.google.com/maps?saddr=" + currentLocation.getLatitude()+","+currentLocation.getLongitude();
SmsManager smsManager = SmsManager.getDefault();
StringBuffer smsBody = new StringBuffer();
smsBody.append(Uri.parse(uri)); `
smsManager.sendTextMessage(phonenumber, null, smsBody.toString(), null, null);
您必须将该字符串解析为uri。它对我有用
请参阅此链接 http://javapapers.com/android/get-current-location-in-android/
得到它后使用 sms api 发送该位置。
我也面临同样的问题,无法生成要发送给接收者的 URL,我发现了这一点。在这里,我有一个链接,我们必须在其中传递发送者当前位置的 LAT 和 LONG,然后您只需将此链接发送给您的接收者。 https://www.google.com/maps/preview/@(latitude),(longitude),(zoom level)z https://www.google.com/maps/preview/@-15.623037,18.388672,8z
您也可以先尝试在浏览器中打开此链接,然后将其应用到您的项目中