2013-08-26 109 views
2

我是一名新的android開發者。 我想發送包含我當前位置的短信。我知道如何獲得我的位置座標。但是我想要的是發送像URL一樣,用戶可以打開並查看我的位置(例如:使用wa you可以分享您的位置,我也可以使用Google地圖應用)。我嘗試了谷歌地圖API,但我沒有找到像生成URL的選項。通過短信發送我當前所在的位置 - Android

任何人都可以提供一些想法嗎?或者一個API?

謝謝大家!

+1

,如果你知道如何獲得位置座標試試,然後先在你身邊的鏈接,然後嘗試通過短信發送。 –

+0

但是如何才能做到這一點? – nanoalvarez

回答

1

指得到它使用SMS API發送位置後,該鏈接 http://javapapers.com/android/get-current-location-in-android/

+0

謝謝你的幫助。但我知道如何獲得我的位置。我不知道的是如何發送一個URL與我的位置和我發送我的位置的人能夠打開該網址。例如,當人點擊Url時,地圖上就會顯示地圖。點擊併發送到我的位置谷歌地圖。 – nanoalvarez

6

我想這是你需要的。

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); 
} 

我會使用地圖疊加而不是默認地圖。

我開發了一個應用程序,它使用位置功能並在地圖中顯示。在谷歌播放看到它。

「Wherez U」 https://play.google.com/store/apps/details?id=com.kabhos.android.apps.knowmylocation

+0

您只需修改基本鏈接,如下所示: smsBody.append(「http://maps.google.com/maps?q=」); – hhyari

+0

@hhyari你能告訴我它是如何工作的,如果我使用一個字符串短信 – Abhishek

2
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。它爲我工作