3

我是一个新的安卓开发者。我想发送一条包含我当前位置的短信。我知道如何获取我的位置坐标。但我想要的是像 URL 一样发送,用户可以打开并查看我在哪里(例如:使用 waze,你可以分享你的位置,我想也可以使用谷歌地图应用程序)。我尝试使用谷歌地图 API,但没有找到生成 URL 的选项。

任何人都可以提供一些想法吗?或API?

感谢大家!!!

4

4 回答 4

8

我想这就是你需要的。

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

于 2013-11-22T10:24:13.273 回答
4
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。它对我有用

于 2013-11-27T08:51:03.413 回答
2

请参阅此链接 http://javapapers.com/android/get-current-location-in-android/

得到它后使用 sms api 发送该位置。

于 2013-08-26T05:40:11.533 回答
-1

我也面临同样的问题,无法生成要发送给接收者的 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

您也可以先尝试在浏览器中打开此链接,然后将其应用到您的项目中

于 2017-05-25T11:07:23.900 回答