如何通过短信发送用户经纬度坐标
how to send user longitude and latitude coordinates through sms text
在我的 "share location" 函数中,我希望用户能够发送以 long/lat 坐标的形式共享其当前位置的文本。我实现的错误是 "Contextual type "string"cannot be used with array literal"。如何或什么是正确的代码来实施?
这是我的代码
@IBAction func shareLocation(sender: AnyObject) {
// Send user coordinates through text
if !MFMessageComposeViewController.canSendText() {
print("SMS services are not available")
var coordinate: CLLocationCoordinate2D
messageVC!.body = [coordinate.latitude, coordinate.longitude];
messageVC!.recipients = [LookoutCell.description()];
messageVC!.messageComposeDelegate = self;
self.presentViewController(messageVC!, animated: false, completion: nil)
}
}
这段代码有很多错误:
- 您正在检查是否无法通过
!MFMessageComposeViewController.canSendText()
发送文本,如果不能则发送(括号需要提前结束)
- 你声明
var coordinate: CLLocationCoordinate2D
没有值,不会编译
- 纬度和经度是双精度值,因此您需要进行字符串格式化才能输出这些值
body
是一个字符串,您试图向它发送一个数组。
- 试试这个:
messageVC!.body = String(format: "Lat: %.4f, Long: %.4f", coordinate.latitude, coordinate.longitude)
- 您需要查看格式化指南以获得更多详细信息(您可以开始 here)
在我的 "share location" 函数中,我希望用户能够发送以 long/lat 坐标的形式共享其当前位置的文本。我实现的错误是 "Contextual type "string"cannot be used with array literal"。如何或什么是正确的代码来实施?
这是我的代码
@IBAction func shareLocation(sender: AnyObject) {
// Send user coordinates through text
if !MFMessageComposeViewController.canSendText() {
print("SMS services are not available")
var coordinate: CLLocationCoordinate2D
messageVC!.body = [coordinate.latitude, coordinate.longitude];
messageVC!.recipients = [LookoutCell.description()];
messageVC!.messageComposeDelegate = self;
self.presentViewController(messageVC!, animated: false, completion: nil)
}
}
这段代码有很多错误:
- 您正在检查是否无法通过
!MFMessageComposeViewController.canSendText()
发送文本,如果不能则发送(括号需要提前结束) - 你声明
var coordinate: CLLocationCoordinate2D
没有值,不会编译 - 纬度和经度是双精度值,因此您需要进行字符串格式化才能输出这些值
body
是一个字符串,您试图向它发送一个数组。- 试试这个:
messageVC!.body = String(format: "Lat: %.4f, Long: %.4f", coordinate.latitude, coordinate.longitude)
- 您需要查看格式化指南以获得更多详细信息(您可以开始 here)