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

时间:2016-04-28 04:23:13

标签: xcode swift mfmessagecomposeview cllocationcoordinate2d

在我的“共享位置”功能中,我希望用户能够以长/纬度坐标的形式发送共享其当前位置的文本。我得到的错误是“Contextual type”字符串“不能与数组文字一起使用”。如何或什么是正确的代码来实现?

这是我的代码

 @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 个答案:

答案 0 :(得分:1)

这段代码有很多错误:

  1. 您要检查是否可以通过mToolbar.setNavigationIcon(getColoredArrow()); private Drawable getColoredArrow() { Drawable arrowDrawable = getResources().getDrawable(R.drawable.abc_ic_ab_back_mtrl_am_alpha); Drawable wrapped = DrawableCompat.wrap(arrowDrawable); if (arrowDrawable != null && wrapped != null) { // This should avoid tinting all the arrows arrowDrawable.mutate(); DrawableCompat.setTintList(wrapped, ColorStateList.valueOf(this.getResources().getColor(R.color.your_color))); } } return wrapped; } 发送文字,然后发送,如果您不能(括号需要提前结束)
  2. 您声明!MFMessageComposeViewController.canSendText()没有值,不会编译
  3. 纬度和经度是双倍的,因此您需要字符串格式才能输出这些值
  4. var coordinate: CLLocationCoordinate2D是一个字符串,你试图发送一个数组。
  5. 请改为:body - 您需要查看格式指南以获取更多详细信息(您可以开始here