如何通过短信发送用户经纬度坐标

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

这段代码有很多错误:

  1. 您正在检查是否无法通过 !MFMessageComposeViewController.canSendText() 发送文本,如果不能则发送(括号需要提前结束)
  2. 你声明 var coordinate: CLLocationCoordinate2D 没有值,不会编译
  3. 纬度和经度是双精度值,因此您需要进行字符串格式化才能输出这些值
  4. body 是一个字符串,您试图向它发送一个数组。
  5. 试试这个:messageVC!.body = String(format: "Lat: %.4f, Long: %.4f", coordinate.latitude, coordinate.longitude) - 您需要查看格式化指南以获得更多详细信息(您可以开始 here